> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aultblockchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vault API

> [!NOTE]
>
> **Testnet-Only.** Use `https://test-dex-api.cloud.aultblockchain.xyz` for these endpoints and the matching Testnet chain for signed actions. This product is not available on Mainnet.

Discover Trading and Lending vaults, depositor claims, activity and redemption state. These are public reads; deposits, redemption requests and manager actions remain signed chain operations. See [Vaults](https://docs.aultblockchain.com/ault-dex/vaults.md) for permissions, queueing and fees.

## Routes and filters

| GET path | Optional query | Body |
| - | - | - |
| `/api/v1/vaults` | `vault_type`, `relationship`, `status`, `owner`, `manager`, `limit`, `cursor` | `{vaults, asOf}` |
| `/api/v1/vaults/{vault_address}` | `user` for depositor overlay | `Detail` |
| `/api/v1/vaults/{vault_address}/activity` | Repeated `type`, `user`, `from`, `to`, `limit`, `cursor` | `{activity}` |
| `/api/v1/vaults/{vault_address}/redemptions` | `user`, `status`, `limit`, `cursor` | `{redemptions}` |
| `/api/v1/portfolio/{address}/vaults` | `vault_type`, `status`, `limit`, `cursor` | `{user, vaultEquities, asOf}` |

`vault_type` is `trading` or `lending`; `relationship` is `normal`, `parent`, `child`; vault `status` is `active`, `paused`, `closed`. Redemption `status` is `queued`, `processing`, `settled`. Addresses accept bech32 or EVM hex. Activity time bounds are non-negative inclusive milliseconds with `from` no later than `to`.

All lists use [header cursors](https://docs.aultblockchain.com/dex-api/getting-started/pagination.md). Bad addresses/enums/cursors return 400. An unknown vault returns 404 for detail and its activity/redemption feeds, even though those feeds are lists.

## Units, nulls and claims

* Chain amounts and share counts are raw decimal-string units. `entryValue` uses vault-denom base units for Lending vaults and USD scaled by 10^18 for Trading vaults.
* `tvl`, equity and PnL are human USD valuations. `sharePrice` is USD per 10^18 raw shares. APR/APY are ratios, not percentages; APR applies to Trading and APY to Lending.
* Derived valuations can be null. Lending depositor USD PnL is null because its entry value is in the vault denom. `pnlPartial` indicates incomplete cost/history coverage.
* Lending allocations expose raw `supplyShares`, `suppliedAmount` and `supplyCap`. `supplyApy` is reserved and currently null.
* A queued redemption is not a fixed payout. `grossAmount`, `managerFee`, `exitFee`, `netAmount` remain null until settlement and then use raw vault-denom units. `requestId` can be null for an instant redemption.

`awaitingLiquidity` and `nextProcessHeight` explain an unsettled claim's processing state. A null flag can mean historical data did not record it; it is not proof of immediate liquidity. `canRedeem` describes the depositor policy view and does not guarantee successful settlement at the displayed share price.

## Activity filters

Repeat `type` for any of: `vault_created`, `vault_manager_updated`, `vault_config_update_scheduled`, `vault_config_update_applied`, `vault_config_update_canceled`, `vault_config_update_dropped`, `vault_status_updated`, `vault_deposited`, `vault_redemption_queued`, `vault_redemption_updated`, `vault_redemption_settled`, `vault_capital_transferred`, `vault_backstop_transferred`, `vault_reallocated`, `vault_management_fee_accrued`.

Activity `data` contains the original event's string-valued attributes, with raw integers and coin strings. It is not the normalized detail schema.

```bash theme={null}
curl -fsS "$API_URL/api/v1/vaults?vault_type=trading&limit=100"
curl -fsS --get "$API_URL/api/v1/vaults/$VAULT_ADDRESS" \
  --data-urlencode "user=$OWNER"
curl -fsS "$API_URL/api/v1/vaults/$VAULT_ADDRESS/redemptions?status=queued"
```

There is no Vault-specific WebSocket subscription. Poll the relevant detail/feed and compare indexed event positions. Use the returned state to track deposits, strategy risk and redemption progress.

## Response field reference

Types below describe JSON, not numeric units. See the unit notes above. Nullable values must not be replaced with zero.

> [accordion] List
>
> | Field | JSON type |
> | - | - |
> | `vaults` | array of Summary |
> | `asOf` | number |

> [accordion] Summary
>
> | Field | JSON type |
> | - | - |
> | `vaultAddress` | string |
> | `vaultType` | string |
> | `relationship` | string |
> | `parentVaultAddress` | string or null |
> | `owner` | string |
> | `manager` | string |
> | `vaultDenom` | string |
> | `status` | string |
> | `tvl` | string or null |
> | `totalShares` | string |
> | `sharePrice` | string or null |
> | `apr` | string or null |
> | `apy` | string or null |
> | `lockup` | Lockup |
> | `fee` | Fee |

> [accordion] Lockup
>
> | Field | JSON type |
> | - | - |
> | `type` | string |
> | `depositOpenTime` | number or null (optional) |
> | `depositCloseTime` | number or null (optional) |
> | `redemptionOpenTime` | number or null (optional) |

> [accordion] Fee
>
> | Field | JSON type |
> | - | - |
> | `type` | string |
> | `rateBps` | number |

> [accordion] Detail
>
> | Field | JSON type |
> | - | - |
> | `vaultAddress` | string |
> | `vaultType` | string |
> | `relationship` | string |
> | `parentVaultAddress` | string or null |
> | `owner` | string |
> | `manager` | string |
> | `vaultDenom` | string |
> | `status` | string |
> | `tvl` | string or null |
> | `totalShares` | string |
> | `sharePrice` | string or null |
> | `apr` | string or null |
> | `apy` | string or null |
> | `lockup` | Lockup |
> | `fee` | Fee |
> | `exitFeeBps` | number |
> | `createdAt` | number or null |
> | `pendingConfigUpdate` | PendingConfigUpdate or null |
> | `trading` | TradingState or null (optional) |
> | `lending` | LendingState or null (optional) |
> | `followerState` | FollowerState or null (optional) |
> | `asOf` | number |

> [accordion] PendingConfigUpdate
>
> | Field | JSON type |
> | - | - |
> | `executeAfter` | number |
> | `config` | object |

> [accordion] TradingState
>
> | Field | JSON type |
> | - | - |
> | `allowedActions` | array of string |
> | `spotMarketIds` | array of string |
> | `lendingPoolIds` | array of number |
> | `managerFractionBps` | number |
> | `alwaysCloseOnRedemption` | boolean |
> | `children` | array of ChildState (optional) |

> [accordion] ChildState
>
> | Field | JSON type |
> | - | - |
> | `vaultAddress` | string |
> | `status` | string |
> | `totalShares` | string |
> | `tvl` | string or null |

> [accordion] LendingState
>
> | Field | JSON type |
> | - | - |
> | `supplyQueue` | array of number |
> | `withdrawalQueue` | array of number |
> | `allocations` | array of Allocation |

> [accordion] Allocation
>
> | Field | JSON type |
> | - | - |
> | `poolId` | number |
> | `supplyShares` | string |
> | `suppliedAmount` | string or null |
> | `supplyCap` | string |
> | `supplyApy` | string or null |
> | `supplyQueueIndex` | number or null |
> | `withdrawalQueueIndex` | number or null |

> [accordion] FollowerState
>
> | Field | JSON type |
> | - | - |
> | `user` | string |
> | `shares` | string |
> | `queuedShares` | string |
> | `entryValue` | string |
> | `equity` | string or null |
> | `pnl` | string or null |
> | `allTimePnl` | string or null |
> | `pnlPartial` | boolean |
> | `canRedeem` | boolean |
> | `redemptionOpenTime` | number or null |

> [accordion] UserVaults
>
> | Field | JSON type |
> | - | - |
> | `user` | string |
> | `vaultEquities` | array of UserEquity |
> | `asOf` | number |

> [accordion] UserEquity
>
> | Field | JSON type |
> | - | - |
> | `vaultAddress` | string |
> | `vaultType` | string |
> | `vaultStatus` | string |
> | `vaultDenom` | string |
> | `user` | string |
> | `shares` | string |
> | `queuedShares` | string |
> | `entryValue` | string |
> | `equity` | string or null |
> | `pnl` | string or null |
> | `allTimePnl` | string or null |
> | `pnlPartial` | boolean |
> | `canRedeem` | boolean |
> | `redemptionOpenTime` | number or null |
> | `redemptionStatus` | string or null |

> [accordion] Activity
>
> | Field | JSON type |
> | - | - |
> | `activity` | array of ActivityEntry |

> [accordion] ActivityEntry
>
> | Field | JSON type |
> | - | - |
> | `type` | string |
> | `vaultAddress` | string |
> | `user` | string or null |
> | `data` | object |
> | `blockHeight` | number |
> | `blockTime` | number |
> | `eventIndex` | number |

> [accordion] Redemptions
>
> | Field | JSON type |
> | - | - |
> | `redemptions` | array of RedemptionEntry |

> [accordion] RedemptionEntry
>
> | Field | JSON type |
> | - | - |
> | `requestId` | number or null |
> | `user` | string |
> | `shares` | string |
> | `entryValue` | string |
> | `status` | string |
> | `awaitingLiquidity` | boolean or null |
> | `nextProcessHeight` | number or null |
> | `queuedAt` | number or null |
> | `settledAt` | number or null |
> | `grossAmount` | string or null |
> | `managerFee` | string or null |
> | `exitFee` | string or null |
> | `netAmount` | string or null |
> | `originBlockHeight` | number |
> | `originEventIndex` | number |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.