# AugustVaults

[SDK Reference](/developers/typescript-sdk/api.md) / AugustVaults

## AugustVaults

The August Vaults Module.

### Classes

#### AugustVaults

Vault operations class handling multi-chain vault queries and user positions. Supports both EVM and Solana vaults with unified interface.

**Extends**

* `AugustBase`

**Constructors**

**Constructor**

> **new AugustVaults**(`baseConfig`, `solana`, `sui`): [`AugustVaults`](#augustvaults)

**Parameters**

| Parameter    | Type                                                                 |
| ------------ | -------------------------------------------------------------------- |
| `baseConfig` | `IAugustBase`                                                        |
| `solana`     | [`default`](/developers/typescript-sdk/api/solanaadapter.md#default) |
| `sui`        | [`default`](/developers/typescript-sdk/api/suiadapter.md#default)    |

**Returns**

[`AugustVaults`](#augustvaults)

**Overrides**

`AugustBase.constructor`

**Properties**

| Property         | Modifier | Type               | Description                                           | Inherited from             |
| ---------------- | -------- | ------------------ | ----------------------------------------------------- | -------------------------- |
| `activeNetwork?` | `public` | `IActiveNetwork`   | -                                                     | `AugustBase.activeNetwork` |
| `authorized`     | `public` | `boolean`          | -                                                     | `AugustBase.authorized`    |
| `appName`        | `public` | `string`           | Validated integrator identifier from the constructor. | `AugustBase.appName`       |
| `keys`           | `public` | `IKeys`            | -                                                     | `AugustBase.keys`          |
| `monitoring`     | `public` | `IMonitoring`      | -                                                     | `AugustBase.monitoring`    |
| `providers`      | `public` | `IProvidersConfig` | -                                                     | `AugustBase.providers`     |

**Methods**

**clearWallet()**

> **clearWallet**(): `void`

Remove wallet address from SDK state and monitoring headers.

**Returns**

`void`

**Inherited from**

`AugustBase.clearWallet`

**depositNative()**

> **depositNative**(`signer`, `options`): `Promise`<`string`>

**Parameters**

| Parameter | Type                    | Description                                                                        |
| --------- | ----------------------- | ---------------------------------------------------------------------------------- |
| `signer`  | `Signer` \| `Wallet`    | signer / wallet object                                                             |
| `options` | `INativeDepositOptions` | object including wrapper contract address, receiver address (optional), and amount |

**Returns**

`Promise`<`string`>

deposit tx hash

**Description**

deposit native token (ETH/AVAX/etc) into a vault using MultiAssetNativeDepositWrapper

**fetchPointsLeaderboard()**

> **fetchPointsLeaderboard**(`params?`): `Promise`<`any`>

**`Function`**

fetchPointsLeaderboard fetches the points leaderboard data

**Parameters**

| Parameter         | Type                                                                                       | Description                                    |
| ----------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------- |
| `params?`         | { `page?`: `number`; `perPage?`: `number`; `sortBy?`: `"streakDays"` \| `"totalPoints"`; } | Optional parameters for pagination and sorting |
| `params.page?`    | `number`                                                                                   | -                                              |
| `params.perPage?` | `number`                                                                                   | -                                              |
| `params.sortBy?`  | `"streakDays"` \| `"totalPoints"`                                                          | -                                              |

**Returns**

`Promise`<`any`>

Leaderboard response data

**getStakingPositions()**

> **getStakingPositions**(`wallet?`, `chainId?`): `Promise`<`IActiveStakingPosition`\[]>

**`Function`**

getStakingPositions gets all available reward staking positions

**Parameters**

| Parameter  | Type                | Description                           |
| ---------- | ------------------- | ------------------------------------- |
| `wallet?`  | `` `0x${string}` `` | optionally passed user wallet address |
| `chainId?` | `number`            | optionally passed chainId             |

**Returns**

`Promise`<`IActiveStakingPosition`\[]>

all available staking positions for connected or passed network(s)

**getTotalDeposited()**

> **getTotalDeposited**(`options?`): `Promise`<`number`>

Calculate total deposited across all tokenized vaults by summing latest\_reported\_tvl. Uses the /tokenized\_vault endpoint which returns latest\_reported\_tvl in USD.

**Parameters**

| Parameter                  | Type                                                            | Description                               |
| -------------------------- | --------------------------------------------------------------- | ----------------------------------------- |
| `options?`                 | { `loadSnapshots?`: `boolean`; `loadSubaccounts?`: `boolean`; } | Optional configuration for loading vaults |
| `options.loadSnapshots?`   | `boolean`                                                       | -                                         |
| `options.loadSubaccounts?` | `boolean`                                                       | -                                         |

**Returns**

`Promise`<`number`>

Total deposited amount in USD (sum of all latest\_reported\_tvl values)

**getUserHistory()**

> **getUserHistory**(`__namedParameters`): `Promise`<`IVaultUserHistoryItem`\[]>

**Parameters**

| Parameter                    | Type                                                                                                                                           |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault?`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                                                                                                       |
| `__namedParameters.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                      |
| `__namedParameters.vault?`   | `` `0x${string}` ``                                                                                                                            |
| `__namedParameters.wallet`   | `` `0x${string}` ``                                                                                                                            |

**Returns**

`Promise`<`IVaultUserHistoryItem`\[]>

**getUserPoints()**

> **getUserPoints**(`userAddress`): `Promise`<`any`>

**`Function`**

getUserPoints fetches user points from the backend API

**Parameters**

| Parameter     | Type                | Description         |
| ------------- | ------------------- | ------------------- |
| `userAddress` | `` `0x${string}` `` | User wallet address |

**Returns**

`Promise`<`any`>

Points data from the backend API

**getUserTransfers()**

> **getUserTransfers**(`__namedParameters`): `Promise`<`object`\[]>

**Parameters**

| Parameter                    | Type                                                                                                                                           |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault?`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                                                                                                       |
| `__namedParameters.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                      |
| `__namedParameters.vault?`   | `` `0x${string}` ``                                                                                                                            |
| `__namedParameters.wallet`   | `` `0x${string}` ``                                                                                                                            |

**Returns**

`Promise`<`object`\[]>

**getVault()**

> **getVault**(`vault`): `Promise`<`IVault`>

Fetch detailed data for a single vault with optional enrichment. Automatically includes loans and allocations unless explicitly disabled.

**Parameters**

| Parameter                | Type                                                                                                                                                                           | Description            |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- |
| `vault`                  | { `chainId?`: `number`; `loadSnapshots?`: `boolean`; `loadSubaccounts?`: `boolean`; `options?`: [`IVaultCustomOptions`](#ivaultcustomoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.chainId?`         | `number`                                                                                                                                                                       | -                      |
| `vault.loadSnapshots?`   | `boolean`                                                                                                                                                                      | -                      |
| `vault.loadSubaccounts?` | `boolean`                                                                                                                                                                      | -                      |
| `vault.options?`         | [`IVaultCustomOptions`](#ivaultcustomoptions)                                                                                                                                  | -                      |
| `vault.vault`            | `` `0x${string}` ``                                                                                                                                                            | -                      |

**Returns**

`Promise`<`IVault`>

Single vault object with optional position data

**getVaultAllocations()**

> **getVaultAllocations**(`__namedParameters`): `Promise`<`IVaultAllocations` | { `message`: `string`; `status`: `number`; }>

**Parameters**

| Parameter                    | Type                                                    |
| ---------------------------- | ------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                |
| `__namedParameters.vault`    | `` `0x${string}` ``                                     |

**Returns**

`Promise`<`IVaultAllocations` | { `message`: `string`; `status`: `number`; }>

~~**getVaultAnnualizedApy()**~~

> **getVaultAnnualizedApy**(`vault`): `Promise`<`IVaultAnnualizedApy`>

Get annualized APY metrics for a vault.

Supported Vaults: cUSDO, tETH, wstETH, rsETH

**Parameters**

| Parameter | Type                | Description   |
| --------- | ------------------- | ------------- |
| `vault`   | `` `0x${string}` `` | Vault address |

**Returns**

`Promise`<`IVaultAnnualizedApy`>

Annualized APY data including liquidity APY

**Deprecated**

The `hgETH30dLiquidAPY` and `hgETH7dLiquidAPY` response fields are deprecated. These fields will be removed on 2026-01-01. Use `liquidAPY30Day` and `liquidAPY7Day` fields instead.

~~**getVaultApy()**~~

> **getVaultApy**(`vault`): `Promise`<`object`\[]>

**`Function`**

**Parameters**

| Parameter           | Type                                                                                  | Description                 |
| ------------------- | ------------------------------------------------------------------------------------- | --------------------------- |
| `vault`             | { `historical?`: `Partial`<`IVaultHistoricalParams`>; `vault`: `` `0x${string}` ``; } | pool/vault contract address |
| `vault.historical?` | `Partial`<`IVaultHistoricalParams`>                                                   | -                           |
| `vault.vault`       | `` `0x${string}` ``                                                                   | -                           |

**Returns**

`Promise`<`object`\[]>

a value or array of objects containing the APR and timestamp

**Deprecated**

use getVaultHistoricalTimeseries instead getVaultApy gets the vault/pool APR, both current and historical

**getVaultAvailableRedemptions()**

> **getVaultAvailableRedemptions**(`__namedParameters`): `Promise`<{ `availableRedemptions`: `IVaultAvailableRedemption`\[]; `pendingRedemptions`: `IVaultAvailableRedemption`\[]; `processedWithdrawals`: `ISubgraphWithdrawProccessed`\[]; `requestedWithdrawals`: `ISubgraphWithdrawRequest`\[]; }>

**Parameters**

| Parameter                    | Type                                                                                                           |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; `verbose?`: `boolean`; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                                                                       |
| `__namedParameters.vault`    | `` `0x${string}` ``                                                                                            |
| `__namedParameters.verbose?` | `boolean`                                                                                                      |
| `__namedParameters.wallet?`  | `` `0x${string}` ``                                                                                            |

**Returns**

`Promise`<{ `availableRedemptions`: `IVaultAvailableRedemption`\[]; `pendingRedemptions`: `IVaultAvailableRedemption`\[]; `processedWithdrawals`: `ISubgraphWithdrawProccessed`\[]; `requestedWithdrawals`: `ISubgraphWithdrawRequest`\[]; }>

**getVaultBorrowerHealthFactor()**

> **getVaultBorrowerHealthFactor**(`chainId?`): `Promise`<{ }>

**`Function`**

getVaultsBorrowerHealthFactor gets the borrower's health factor

**Parameters**

| Parameter  | Type     | Description               |
| ---------- | -------- | ------------------------- |
| `chainId?` | `number` | optionally passed chainId |

**Returns**

`Promise`<{ }>

Object containing the borrower's health factor by pool

**getVaultHistoricalTimeseries()**

> **getVaultHistoricalTimeseries**(`vault`): `Promise`<`IHistoricalTimeseriesResponse`>

**`Function`**

getVaultHistoricalTimeseries gets historical timeseries data for a vault

**Parameters**

| Parameter      | Type                                                  | Description            |
| -------------- | ----------------------------------------------------- | ---------------------- |
| `vault`        | { `nDays?`: `number`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.nDays?` | `number`                                              | -                      |
| `vault.vault`  | `` `0x${string}` ``                                   | -                      |

**Returns**

`Promise`<`IHistoricalTimeseriesResponse`>

Historical timeseries data with TVL, APY, PnL, share price, and other metrics

**getVaultLoans()**

> **getVaultLoans**(`__namedParameters`): `Promise`<`IVaultLoan`\[]>

**Parameters**

| Parameter                    | Type                                                    |
| ---------------------------- | ------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                |
| `__namedParameters.vault`    | `` `0x${string}` ``                                     |

**Returns**

`Promise`<`IVaultLoan`\[]>

**getVaultPendingRedemptions()**

> **getVaultPendingRedemptions**(`vault`): `Promise`<`IVaultPendingRedemptions`>

Fetch pending redemptions for a vault with liquidity analysis.

**Parameters**

| Parameter           | Type                                                                              | Description            |
| ------------------- | --------------------------------------------------------------------------------- | ---------------------- |
| `vault`             | { `futureDays?`: `number`; `pastDays?`: `number`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.futureDays?` | `number`                                                                          | -                      |
| `vault.pastDays?`   | `number`                                                                          | -                      |
| `vault.vault`       | `` `0x${string}` ``                                                               | -                      |

**Returns**

`Promise`<`IVaultPendingRedemptions`>

Pending redemptions grouped by date with liquidity summary

**getVaultPnl()**

> **getVaultPnl**(`props`): `Promise`<`IVaultPnl`>

Get PnL for a vault (vault-level, not user-specific). Returns the vault's overall profit and loss across all users.

**Parameters**

| Parameter        | Type                                                    | Description                         |
| ---------------- | ------------------------------------------------------- | ----------------------------------- |
| `props`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; } | Vault address and optional chain ID |
| `props.chainId?` | `number`                                                | -                                   |
| `props.vault`    | `` `0x${string}` ``                                     | -                                   |

**Returns**

`Promise`<`IVaultPnl`>

Vault PnL in USD and notional value

**getVaultPositions()**

> **getVaultPositions**(`__namedParameters`): `Promise`<`IVaultPosition`\[]>

**Parameters**

| Parameter                          | Type                                                                                                                                                                                                                                |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`                | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `showAllVaults?`: `boolean`; `solanaWallet?`: `string`; `stellarWallet?`: `string`; `vault?`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?`       | `number`                                                                                                                                                                                                                            |
| `__namedParameters.options?`       | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                                                                                                           |
| `__namedParameters.showAllVaults?` | `boolean`                                                                                                                                                                                                                           |
| `__namedParameters.solanaWallet?`  | `string`                                                                                                                                                                                                                            |
| `__namedParameters.stellarWallet?` | `string`                                                                                                                                                                                                                            |
| `__namedParameters.vault?`         | `` `0x${string}` ``                                                                                                                                                                                                                 |
| `__namedParameters.wallet?`        | `` `0x${string}` ``                                                                                                                                                                                                                 |

**Returns**

`Promise`<`IVaultPosition`\[]>

**getVaults()**

> **getVaults**(`options?`): `Promise`<`IVault`\[]>

Fetch all vaults across configured networks with optional enrichment. Automatically filters by available providers and optionally by chain IDs.

**Parameters**

| Parameter  | Type                                                     | Description                            |
| ---------- | -------------------------------------------------------- | -------------------------------------- |
| `options?` | `object` & [`IVaultCustomOptions`](#ivaultcustomoptions) | Filtering and enrichment configuration |

**Returns**

`Promise`<`IVault`\[]>

Array of vault objects with optional loans/allocations/positions

**getVaultSubaccountLoans()**

> **getVaultSubaccountLoans**(`__namedParameters`): `Promise`<`IVaultLoan`\[]>

**Parameters**

| Parameter                    | Type                                                    |
| ---------------------------- | ------------------------------------------------------- |
| `__namedParameters`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; } |
| `__namedParameters.chainId?` | `number`                                                |
| `__namedParameters.vault`    | `` `0x${string}` ``                                     |

**Returns**

`Promise`<`IVaultLoan`\[]>

**getVaultSummary()**

> **getVaultSummary**(`vault`): `Promise`<`IVaultSummary`>

Get summary data for a vault (name, type, chain, recent returns).

**Parameters**

| Parameter | Type                | Description   |
| --------- | ------------------- | ------------- |
| `vault`   | `` `0x${string}` `` | Vault address |

**Returns**

`Promise`<`IVaultSummary`>

Vault summary data

**getVaultTvl()**

> **getVaultTvl**(`vault`): `Promise`<`object`\[]>

**`Function`**

getVaultTvl gets the vault/pool TVL, both current and historical

**Parameters**

| Parameter           | Type                                                                                             | Description                 |
| ------------------- | ------------------------------------------------------------------------------------------------ | --------------------------- |
| `vault`             | { `chainId?`: `number`; `historical?`: `IVaultHistoricalParams`; `vault`: `` `0x${string}` ``; } | pool/vault contract address |
| `vault.chainId?`    | `number`                                                                                         | -                           |
| `vault.historical?` | `IVaultHistoricalParams`                                                                         | -                           |
| `vault.vault`       | `` `0x${string}` ``                                                                              | -                           |

**Returns**

`Promise`<`object`\[]>

an object or array of objects containing the TVL and timestamp

**getVaultUserLifetimePnl()**

> **getVaultUserLifetimePnl**(`props`): `Promise`<`IVaultUserLifetimePnl`>

Get lifetime PnL for a user in a specific vault.

**Parameters**

| Parameter        | Type                                                                                   | Description                                          |
| ---------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `props`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } | Vault address, wallet address, and optional chain ID |
| `props.chainId?` | `number`                                                                               | -                                                    |
| `props.vault`    | `` `0x${string}` ``                                                                    | -                                                    |
| `props.wallet`   | `` `0x${string}` ``                                                                    | -                                                    |

**Returns**

`Promise`<`IVaultUserLifetimePnl`>

Lifetime PnL data including realized and unrealized PnL

**getVaultWithdrawals()**

> **getVaultWithdrawals**(`vault`, `chainId?`): `Promise`<`IVaultWithdrawals`>

Get withdrawal summary and pending queue for a vault.

**Parameters**

| Parameter  | Type                | Description                                |
| ---------- | ------------------- | ------------------------------------------ |
| `vault`    | `` `0x${string}` `` | Vault address                              |
| `chainId?` | `number`            | Chain ID (will be converted to chain name) |

**Returns**

`Promise`<`IVaultWithdrawals`>

Withdrawal summary and pending queue

**getWithdrawalRequestsWithStatus()**

> **getWithdrawalRequestsWithStatus**(`vault`, `receiver?`, `lookbackBlocks?`, `chainId?`): `Promise`<[`WithdrawalRequestStatus`](#withdrawalrequeststatus)\[]>

Get all withdrawal requests for a vault with deterministic status tracking.

Matches requests to processed events by `(receiver, claimableDate)` tuple.

**Status values:**

* `'processed'` — Matching `WithdrawalProcessed` event found on-chain.
* `'ready_to_claim'` — Claimable date has passed, no processed event found yet.
* `'pending'` — Claimable date is still in the future.

**Lookback window:** Processed events are fetched from on-chain logs, which only cover a finite block range. Requests whose claimable date is older than this window with no matching processed event are excluded (assumed already processed). Use `lookbackBlocks` to widen or narrow the scan range.

**Parameters**

| Parameter         | Type                | Description                                                                                                                         |
| ----------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `vault`           | `` `0x${string}` `` | Vault contract address                                                                                                              |
| `receiver?`       | `` `0x${string}` `` | Optional receiver address to filter by                                                                                              |
| `lookbackBlocks?` | `number`            | Optional on-chain log lookback window in blocks. Defaults to chain-specific value (e.g. 150,000 for Ethereum, 3,456,000 for Monad). |
| `chainId?`        | `number`            | Optional chain id for the vault address                                                                                             |

**Returns**

`Promise`<[`WithdrawalRequestStatus`](#withdrawalrequeststatus)\[]>

Array of withdrawal requests with status and claimable dates

**getYieldLastRealizedOn()**

> **getYieldLastRealizedOn**(`vault`): `Promise`<`number`>

**`Function`**

getYieldLastRealizedOn gets the timestamp when yield was last realized for a vault

**Parameters**

| Parameter        | Type                                                    | Description            |
| ---------------- | ------------------------------------------------------- | ---------------------- |
| `vault`          | { `chainId?`: `number`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.chainId?` | `number`                                                | -                      |
| `vault.vault`    | `` `0x${string}` ``                                     | -                      |

**Returns**

`Promise`<`number`>

Timestamp (Unix timestamp in seconds) when yield was last realized

**init()**

> **init**(): `Promise`<`void`>

Verify API keys and authorize SDK usage. TODO: initialize class with appropriate keys and verify august key

**Returns**

`Promise`<`void`>

**Inherited from**

`AugustBase.init`

**previewRedemption()**

> **previewRedemption**(`vault`): `Promise`<`INormalizedNumber`>

Preview the amount of assets that would be received for redeeming shares (queued redemption).

**Parameters**

| Parameter            | Type                                                                                                      | Description            |
| -------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`              | { `chainId?`: `number`; `sharesAmount`: `string` \| `number` \| `bigint`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.chainId?`     | `number`                                                                                                  | -                      |
| `vault.sharesAmount` | `string` \| `number` \| `bigint`                                                                          | -                      |
| `vault.vault`        | `` `0x${string}` ``                                                                                       | -                      |

**Returns**

`Promise`<`INormalizedNumber`>

The amount of assets as INormalizedNumber { normalized, raw }

**previewRwaRedemption()**

> **previewRwaRedemption**(`vault`): `Promise`<`INormalizedNumber`>

Preview the output amount for an RWA instant redemption. Resolves the vault address to the RwaRedeemSubaccount internally.

**Parameters**

| Parameter        | Type                                                                                                                              | Description            |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`          | { `amount`: `string` \| `number` \| `bigint`; `asset`: `` `0x${string}` ``; `chainId?`: `number`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.amount`   | `string` \| `number` \| `bigint`                                                                                                  | -                      |
| `vault.asset`    | `` `0x${string}` ``                                                                                                               | -                      |
| `vault.chainId?` | `number`                                                                                                                          | -                      |
| `vault.vault`    | `` `0x${string}` ``                                                                                                               | -                      |

**Returns**

`Promise`<`INormalizedNumber`>

normalized number of the expected output amount (in output asset decimals)

**registerUserForPoints()**

> **registerUserForPoints**(`userAddress`, `referrerAddress?`): `Promise`<`Response`>

**`Function`**

registerUserForPoints registers a user for the points program

**Parameters**

| Parameter          | Type                | Description                      |
| ------------------ | ------------------- | -------------------------------- |
| `userAddress`      | `` `0x${string}` `` | User wallet address              |
| `referrerAddress?` | `` `0x${string}` `` | Optional referrer wallet address |

**Returns**

`Promise`<`Response`>

Registration response

**rwaRedeemAsset()**

> **rwaRedeemAsset**(`signer`, `vault`): `Promise`<`string`>

Redeem vault shares for an underlying asset via instant redemption (RWA subaccount). Resolves the vault address to the RwaRedeemSubaccount internally. Handles vault share approval automatically.

**Parameters**

| Parameter        | Type                                                                                                                                                                                              | Description            |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `signer`         | `Signer` \| `Wallet`                                                                                                                                                                              | Signer / wallet object |
| `vault`          | { `amount`: `string` \| `number` \| `bigint`; `asset`: `` `0x${string}` ``; `chainId?`: `number`; `minOut`: `string` \| `number` \| `bigint`; `vault`: `` `0x${string}` ``; `wait?`: `boolean`; } | Vault contract address |
| `vault.amount`   | `string` \| `number` \| `bigint`                                                                                                                                                                  | -                      |
| `vault.asset`    | `` `0x${string}` ``                                                                                                                                                                               | -                      |
| `vault.chainId?` | `number`                                                                                                                                                                                          | -                      |
| `vault.minOut`   | `string` \| `number` \| `bigint`                                                                                                                                                                  | -                      |
| `vault.vault`    | `` `0x${string}` ``                                                                                                                                                                               | -                      |
| `vault.wait?`    | `boolean`                                                                                                                                                                                         | -                      |

**Returns**

`Promise`<`string`>

transaction hash

**switchNetwork()**

> **switchNetwork**(`chainId`): `void`

Switch the active blockchain network. Updates both chain ID and RPC URL for subsequent operations.

**Parameters**

| Parameter | Type     |
| --------- | -------- |
| `chainId` | `number` |

**Returns**

`void`

**Inherited from**

`AugustBase.switchNetwork`

**updateWallet()**

> **updateWallet**(`address`): `void`

Set active wallet address and update monitoring headers. Preserves existing environment setting.

**Parameters**

| Parameter | Type                |
| --------- | ------------------- |
| `address` | `` `0x${string}` `` |

**Returns**

`void`

**Inherited from**

`AugustBase.updateWallet`

**vaultDeposit()**

> **vaultDeposit**(`signer`, `options`): `Promise`<`string`>

**Parameters**

| Parameter | Type                    | Description                                                                                           |
| --------- | ----------------------- | ----------------------------------------------------------------------------------------------------- |
| `signer`  | `Signer` \| `Wallet`    | signer / wallet object                                                                                |
| `options` | `IContractWriteOptions` | object including pool contract address, user wallet address, string amount, and optional depositAsset |

**Returns**

`Promise`<`string`>

deposit tx hash

**Description**

deposit underlying token into the specified pool with adapter support. This is for when we cannot pass in a signer in sdk and need to do so as an arg

### Interfaces

#### IVaultBaseOptions

Base configuration for vault operations.

**Properties**

| Property         | Type                |
| ---------------- | ------------------- |
| `augustKey?`     | `string`            |
| `chainId?`       | `number`            |
| `env?`           | `IEnv`              |
| `headers?`       | `IWSMonitorHeaders` |
| `rpcUrl`         | `string`            |
| `solanaService?` | `ISolanaService`    |
| `subgraphKey?`   | `string`            |

***

#### IVaultCustomOptions

Optional enrichment options for vault queries.

**Properties**

| Property         | Type                |
| ---------------- | ------------------- |
| `allocations?`   | `boolean`           |
| `loans?`         | `boolean`           |
| `solanaWallet?`  | `string`            |
| `stellarWallet?` | `string`            |
| `wallet?`        | `` `0x${string}` `` |

***

#### WithdrawalRequestStatus

Withdrawal request with computed claimable date and current processing status. The unique identifier is (receiver, claimableDate).

WithdrawalRequestStatus

**Properties**

| Property                    | Type                                               | Description                                                      |
| --------------------------- | -------------------------------------------------- | ---------------------------------------------------------------- |
| `assetsReceived?`           | `bigint`                                           | Assets received (if processed)                                   |
| `claimableDate`             | `object`                                           | Computed claimable date in UTC (year, month, day)                |
| `claimableDate.day`         | `number`                                           | -                                                                |
| `claimableDate.month`       | `number`                                           | -                                                                |
| `claimableDate.year`        | `number`                                           | -                                                                |
| `claimableEpoch`            | `number`                                           | Epoch timestamp when this withdrawal becomes claimable           |
| `processedTransactionHash?` | `string`                                           | Transaction hash of the processing transaction (if processed)    |
| `receiver`                  | `string`                                           | Receiver address for the withdrawal                              |
| `requestTimestamp`          | `number`                                           | Block timestamp when the withdrawal was requested (seconds, UTC) |
| `shares`                    | `bigint`                                           | Shares amount being redeemed                                     |
| `status`                    | `"ready_to_claim"` \| `"processed"` \| `"pending"` | Current status of the withdrawal                                 |
| `transactionHash`           | `string`                                           | Transaction hash of the withdrawal request                       |

### Functions

#### fetchPointsLeaderboard()

> **fetchPointsLeaderboard**(`params`): `Promise`<`any`>

Fetch the points leaderboard data.

**Parameters**

| Parameter                | Type                                                                                                                                                              | Description                                    |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `params`                 | { `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `params?`: { `page?`: `number`; `perPage?`: `number`; `sortBy?`: `"streakDays"` \| `"totalPoints"`; }; } | Optional parameters for pagination and sorting |
| `params.options?`        | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                                         | -                                              |
| `params.params?`         | { `page?`: `number`; `perPage?`: `number`; `sortBy?`: `"streakDays"` \| `"totalPoints"`; }                                                                        | -                                              |
| `params.params.page?`    | `number`                                                                                                                                                          | -                                              |
| `params.params.perPage?` | `number`                                                                                                                                                          | -                                              |
| `params.params.sortBy?`  | `"streakDays"` \| `"totalPoints"`                                                                                                                                 | -                                              |

**Returns**

`Promise`<`any`>

Leaderboard response data

***

#### getHealthFactorOfBorrowersByVault()

> **getHealthFactorOfBorrowersByVault**(`__namedParameters`): `Promise`<{ }>

**Parameters**

| Parameter                   | Type                                                      |
| --------------------------- | --------------------------------------------------------- |
| `__namedParameters`         | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); } |
| `__namedParameters.options` | [`IVaultBaseOptions`](#ivaultbaseoptions)                 |

**Returns**

`Promise`<{ }>

***

#### getPreviewRedemption()

> **getPreviewRedemption**(`vault`): `Promise`<`INormalizedNumber`>

Preview the amount of assets that would be received for redeeming shares (queued redemption).

**Parameters**

| Parameter            | Type                                                                                                                                      | Description            |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`              | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `sharesAmount`: `string` \| `number` \| `bigint`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.options`      | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                 | -                      |
| `vault.sharesAmount` | `string` \| `number` \| `bigint`                                                                                                          | -                      |
| `vault.vault`        | `` `0x${string}` ``                                                                                                                       | -                      |

**Returns**

`Promise`<`INormalizedNumber`>

The amount of assets as INormalizedNumber { normalized, raw }

***

#### getRewardsStakingPositions()

> **getRewardsStakingPositions**(`__namedParameters`): `Promise`<`IActiveStakingPosition`\[]>

**Parameters**

| Parameter                         | Type                                                                               |
| --------------------------------- | ---------------------------------------------------------------------------------- |
| `__namedParameters`               | { `coinGeckoKey?`: `string`; `rpcUrl`: `string`; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.coinGeckoKey?` | `string`                                                                           |
| `__namedParameters.rpcUrl`        | `string`                                                                           |
| `__namedParameters.wallet?`       | `` `0x${string}` ``                                                                |

**Returns**

`Promise`<`IActiveStakingPosition`\[]>

***

#### getUserPoints()

> **getUserPoints**(`userAddress`): `Promise`<`any`>

Fetch user points from the backend API endpoint. This replaces client-side points calculation with server-side processing.

**Parameters**

| Parameter                 | Type                                                                                           | Description                         |
| ------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
| `userAddress`             | { `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `userAddress`: `` `0x${string}` ``; } | User wallet address (EVM or Solana) |
| `userAddress.options?`    | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                      | -                                   |
| `userAddress.userAddress` | `` `0x${string}` ``                                                                            | -                                   |

**Returns**

`Promise`<`any`>

Points data from the backend API

***

#### getVault()

> **getVault**(`vault`): `Promise`<`IVault`>

Fetch comprehensive vault data including on-chain state and backend metadata. Routes to appropriate chain adapter (EVM v1/v2, Solana, or Stellar) based on vault version. Optionally enriches with loan and allocation data.

**Parameters**

| Parameter                | Type                                                                                                                                                                                                | Description                                                               |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `vault`                  | { `allocations?`: `boolean`; `loadSnapshots?`: `boolean`; `loadSubaccounts?`: `boolean`; `loans?`: `boolean`; `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address (EVM hex, Stellar C-address, or Solana program ID) |
| `vault.allocations?`     | `boolean`                                                                                                                                                                                           | -                                                                         |
| `vault.loadSnapshots?`   | `boolean`                                                                                                                                                                                           | -                                                                         |
| `vault.loadSubaccounts?` | `boolean`                                                                                                                                                                                           | -                                                                         |
| `vault.loans?`           | `boolean`                                                                                                                                                                                           | -                                                                         |
| `vault.options`          | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                                                                           | -                                                                         |
| `vault.vault`            | `` `0x${string}` ``                                                                                                                                                                                 | -                                                                         |

**Returns**

`Promise`<`IVault`>

Complete vault object with optional enrichments

***

#### getVaultAllocations()

> **getVaultAllocations**(`vault`, `options`): `Promise`<`IVaultAllocations`>

Fetch comprehensive vault asset allocation breakdown. Includes DeFi protocols (via DeBank), CeFi balances, OTC positions, and loans. Categorizes exposures by borrowing, supplying, lending, and wallet holdings.

**Parameters**

| Parameter | Type                                      | Description       |
| --------- | ----------------------------------------- | ----------------- |
| `vault`   | `` `0x${string}` ``                       | Vault address     |
| `options` | [`IVaultBaseOptions`](#ivaultbaseoptions) | RPC configuration |

**Returns**

`Promise`<`IVaultAllocations`>

Detailed allocation data with exposure categorization

***

#### ~~getVaultAnnualizedApy()~~

> **getVaultAnnualizedApy**(`vault`): `Promise`<`IVaultAnnualizedApy`>

Fetch annualized APY metrics for a vault.

Supported Vaults: cUSDO, tETH, wstETH, rsETH

**Parameters**

| Parameter        | Type                                                                                     | Description            |
| ---------------- | ---------------------------------------------------------------------------------------- | ---------------------- |
| `vault`          | { `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                | -                      |
| `vault.vault`    | `` `0x${string}` ``                                                                      | -                      |

**Returns**

`Promise`<`IVaultAnnualizedApy`>

Annualized APY data including liquidity APY

**Deprecated**

The `hgETH30dLiquidAPY` and `hgETH7dLiquidAPY` response fields are deprecated. These fields will be removed on 2026-01-01. Use `liquidAPY30Day` and `liquidAPY7Day` fields instead.

***

#### ~~getVaultApy()~~

> **getVaultApy**(`__namedParameters`): `Promise`<`object`\[]>

**Parameters**

| Parameter                       | Type                                                                                                                              |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`             | { `historical?`: `IVaultHistoricalParams`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } |
| `__namedParameters.historical?` | `IVaultHistoricalParams`                                                                                                          |
| `__namedParameters.options?`    | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                         |
| `__namedParameters.vault`       | `` `0x${string}` ``                                                                                                               |

**Returns**

`Promise`<`object`\[]>

**Deprecated**

use getVaultHistoricalTimeseries instead

***

#### getVaultAvailableRedemptions()

> **getVaultAvailableRedemptions**(`__namedParameters`): `Promise`<{ `availableRedemptions`: `IVaultAvailableRedemption`\[]; `pendingRedemptions`: `IVaultAvailableRedemption`\[]; `processedWithdrawals`: `ISubgraphWithdrawProccessed`\[]; `requestedWithdrawals`: `ISubgraphWithdrawRequest`\[]; }>

**Parameters**

| Parameter                   | Type                                                                                                                               |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`         | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions) & `object`; `vault`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.options` | [`IVaultBaseOptions`](#ivaultbaseoptions) & `object`                                                                               |
| `__namedParameters.vault`   | `` `0x${string}` ``                                                                                                                |
| `__namedParameters.wallet?` | `` `0x${string}` ``                                                                                                                |

**Returns**

`Promise`<{ `availableRedemptions`: `IVaultAvailableRedemption`\[]; `pendingRedemptions`: `IVaultAvailableRedemption`\[]; `processedWithdrawals`: `ISubgraphWithdrawProccessed`\[]; `requestedWithdrawals`: `ISubgraphWithdrawRequest`\[]; }>

***

#### getVaultBorrowerHealthFactor()

> **getVaultBorrowerHealthFactor**(`__namedParameters`): `Promise`<`object`\[]>

**Parameters**

| Parameter                   | Type                                                                                    |
| --------------------------- | --------------------------------------------------------------------------------------- |
| `__namedParameters`         | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } |
| `__namedParameters.options` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                               |
| `__namedParameters.vault`   | `` `0x${string}` ``                                                                     |

**Returns**

`Promise`<`object`\[]>

***

#### getVaultHistoricalTimeseries()

> **getVaultHistoricalTimeseries**(`__namedParameters`): `Promise`<`IHistoricalTimeseriesResponse`>

**Parameters**

| Parameter                    | Type                                                                                                         |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `__namedParameters`          | { `nDays?`: `number`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } |
| `__namedParameters.nDays?`   | `number`                                                                                                     |
| `__namedParameters.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                    |
| `__namedParameters.vault`    | `` `0x${string}` ``                                                                                          |

**Returns**

`Promise`<`IHistoricalTimeseriesResponse`>

***

#### getVaultLoans()

> **getVaultLoans**(`vault`, `options`): `Promise`<`IVaultLoan`\[]>

Vault Loans

**Parameters**

| Parameter | Type                                      |
| --------- | ----------------------------------------- |
| `vault`   | `string` \| `IVault`                      |
| `options` | [`IVaultBaseOptions`](#ivaultbaseoptions) |

**Returns**

`Promise`<`IVaultLoan`\[]>

***

#### getVaultPendingRedemptions()

> **getVaultPendingRedemptions**(`vault`): `Promise`<`IVaultPendingRedemptions`>

Fetch pending redemptions for a vault with liquidity analysis.

**Parameters**

| Parameter           | Type                                                                                                                                     | Description            |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`             | { `futureDays?`: `number`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `pastDays?`: `number`; `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.futureDays?` | `number`                                                                                                                                 | -                      |
| `vault.options?`    | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                | -                      |
| `vault.pastDays?`   | `number`                                                                                                                                 | -                      |
| `vault.vault`       | `` `0x${string}` ``                                                                                                                      | -                      |

**Returns**

`Promise`<`IVaultPendingRedemptions`>

Pending redemptions grouped by date with liquidity summary

***

#### getVaultPnl()

> **getVaultPnl**(`vault`): `Promise`<`IVaultPnl`>

Calculate PnL for a vault (vault-level, not user-specific). Returns the vault's overall profit and loss across all users.

**Parameters**

| Parameter       | Type                                                                                    | Description            |
| --------------- | --------------------------------------------------------------------------------------- | ---------------------- |
| `vault`         | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.options` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                               | -                      |
| `vault.vault`   | `` `0x${string}` ``                                                                     | -                      |

**Returns**

`Promise`<`IVaultPnl`>

Vault PnL in USD and notional value

***

#### getVaultPositions()

> **getVaultPositions**(`__namedParameters`): `Promise`<`IVaultPosition`\[]>

Vault Positions

**Parameters**

| Parameter                          | Type                                                                                                                                                                           |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `__namedParameters`                | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `solanaWallet?`: `string`; `stellarWallet?`: `string`; `vault`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.options`        | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                                                      |
| `__namedParameters.solanaWallet?`  | `string`                                                                                                                                                                       |
| `__namedParameters.stellarWallet?` | `string`                                                                                                                                                                       |
| `__namedParameters.vault`          | `` `0x${string}` ``                                                                                                                                                            |
| `__namedParameters.wallet?`        | `` `0x${string}` ``                                                                                                                                                            |

**Returns**

`Promise`<`IVaultPosition`\[]>

***

#### getVaultRedemptionHistory()

> **getVaultRedemptionHistory**(`__namedParameters`): `Promise`<`IVaultRedemptionHistoryItem`\[]>

**Parameters**

| Parameter                           | Type                                                                                                                                                 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`                 | { `lookbackBlocks?`: `number`; `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } |
| `__namedParameters.lookbackBlocks?` | `number`                                                                                                                                             |
| `__namedParameters.options`         | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                            |
| `__namedParameters.vault`           | `` `0x${string}` ``                                                                                                                                  |
| `__namedParameters.wallet?`         | `` `0x${string}` ``                                                                                                                                  |

**Returns**

`Promise`<`IVaultRedemptionHistoryItem`\[]>

***

#### getVaultSubaccountLoans()

> **getVaultSubaccountLoans**(`vault`, `options`): `Promise`<`IVaultLoan`\[]>

Vault Subaccount Loans

**Parameters**

| Parameter | Type                                      |
| --------- | ----------------------------------------- |
| `vault`   | `string` \| `IVault`                      |
| `options` | [`IVaultBaseOptions`](#ivaultbaseoptions) |

**Returns**

`Promise`<`IVaultLoan`\[]>

***

#### getVaultSummary()

> **getVaultSummary**(`vault`): `Promise`<`IVaultSummary`>

Fetch summary data for a vault (name, type, chain, recent returns).

**Parameters**

| Parameter        | Type                                                                                     | Description            |
| ---------------- | ---------------------------------------------------------------------------------------- | ---------------------- |
| `vault`          | { `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                | -                      |
| `vault.vault`    | `` `0x${string}` ``                                                                      | -                      |

**Returns**

`Promise`<`IVaultSummary`>

Vault summary data

***

#### getVaultTvl()

> **getVaultTvl**(`__namedParameters`): `Promise`<`object`\[]>

**Parameters**

| Parameter                       | Type                                                                                                                             |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `__namedParameters`             | { `historical?`: `IVaultHistoricalParams`; `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } |
| `__namedParameters.historical?` | `IVaultHistoricalParams`                                                                                                         |
| `__namedParameters.options`     | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                        |
| `__namedParameters.vault`       | `` `0x${string}` ``                                                                                                              |

**Returns**

`Promise`<`object`\[]>

***

#### getVaultUserLifetimePnl()

> **getVaultUserLifetimePnl**(`vault`): `Promise`<`IVaultUserLifetimePnl`>

Calculate lifetime PnL for a user in a specific vault.

Basic logic:

1. Get user's list of deposits and withdrawals from subgraph
2. Fetch user's current assets (balanceOf \* sharePrice via convertToAssets)
3. Calculate PnL = assets withdrawn + current assets - assets deposited

**Parameters**

| Parameter             | Type                                                                                                                                              | Description            |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`               | { `coingeckoKey?`: `string`; `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } | Vault contract address |
| `vault.coingeckoKey?` | `string`                                                                                                                                          | -                      |
| `vault.options`       | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                         | -                      |
| `vault.vault`         | `` `0x${string}` ``                                                                                                                               | -                      |
| `vault.wallet`        | `` `0x${string}` ``                                                                                                                               | -                      |

**Returns**

`Promise`<`IVaultUserLifetimePnl`>

Lifetime PnL data in both native token and USD

***

#### getVaultWithdrawals()

> **getVaultWithdrawals**(`vault`): `Promise`<`IVaultWithdrawals`>

Fetch withdrawal summary and pending queue for a vault.

**Parameters**

| Parameter        | Type                                                                                                        | Description            |
| ---------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------- |
| `vault`          | { `chain`: `string`; `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.chain`    | `string`                                                                                                    | -                      |
| `vault.options?` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                   | -                      |
| `vault.vault`    | `` `0x${string}` ``                                                                                         | -                      |

**Returns**

`Promise`<`IVaultWithdrawals`>

Withdrawal summary and pending queue

***

#### getWithdrawalRequestsWithStatus()

> **getWithdrawalRequestsWithStatus**(`params`): `Promise`<[`WithdrawalRequestStatus`](#withdrawalrequeststatus)\[]>

Returns all withdrawal requests for a vault, enriched with computed claimable dates and current processing status.

The unique identifier for matching requests to processed events is: (receiver, claimableDate.year, claimableDate.month, claimableDate.day)

This is the primary method for integrators to reliably track withdrawal status when multiple requests are submitted by the same receiver.

### Data sources

* **Withdrawal requests** come from the subgraph (all historical requests).
* **Processed events** come from on-chain `WithdrawalProcessed` logs, which are limited to a finite lookback window determined by the chain's block parameters.

### Lookback window & filtering

On-chain logs only cover a limited number of recent blocks (e.g. \~20 days on Monad, \~21 days on Ethereum). The `lookbackBlocks` parameter controls how far back to scan and is applied uniformly to both data sources: it bounds the `WithdrawalProcessed` log query *and* drops any withdrawal request whose submission timestamp falls outside the window — regardless of whether a matching processed event was found. Callers who need deeper history should widen `lookbackBlocks`.

### Status determination

* `'processed'` — A matching `WithdrawalProcessed` event was found (by receiver + claimable date).
* `'ready_to_claim'` — Claimable date has passed (within the lookback window) but no processed event found.
* `'pending'` — Claimable date is still in the future.

**Parameters**

| Parameter                | Type                                                                                                                                                   | Description                                                                                                                                                                                             |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params`                 | { `lookbackBlocks?`: `number`; `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `receiver?`: `` `0x${string}` ``; `vault`: `` `0x${string}` ``; } | Query parameters                                                                                                                                                                                        |
| `params.lookbackBlocks?` | `number`                                                                                                                                               | (Optional) On-chain log lookback window in blocks. Defaults to a chain-specific value (e.g. 150,000 for Ethereum, 3,456,000 for Monad). Increasing this scans more history but requires more RPC calls. |
| `params.options`         | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                                              | Standard vault query options (provider, RPC URL, etc.)                                                                                                                                                  |
| `params.receiver?`       | `` `0x${string}` ``                                                                                                                                    | (Optional) Filter by receiver address                                                                                                                                                                   |
| `params.vault`           | `` `0x${string}` ``                                                                                                                                    | Vault address to query                                                                                                                                                                                  |

**Returns**

`Promise`<[`WithdrawalRequestStatus`](#withdrawalrequeststatus)\[]>

Array of withdrawal requests with status and claimable dates

**Example**

```typescript
const requests = await getWithdrawalRequestsWithStatus({
  vault: '0xVault...',
  receiver: '0xReceiver...',
});

// Results show exact status + claimable date
requests.forEach((req) => {
  console.log(
    `${req.claimableDate.year}-${req.claimableDate.month}-${req.claimableDate.day}: ${req.status}`,
  );
});

// With custom lookback window (e.g. 30 days on Ethereum ≈ 216,000 blocks)
const moreResults = await getWithdrawalRequestsWithStatus({
  vault: '0xVault...',
  lookbackBlocks: 216_000,
});
```

***

#### getYieldLastRealizedOn()

> **getYieldLastRealizedOn**(`vault`): `Promise`<`number`>

Fetch the timestamp when yield was last realized for a vault. Returns the assetsUpdatedOn timestamp from the vault contract.

**Parameters**

| Parameter       | Type                                                                                    | Description            |
| --------------- | --------------------------------------------------------------------------------------- | ---------------------- |
| `vault`         | { `options`: [`IVaultBaseOptions`](#ivaultbaseoptions); `vault`: `` `0x${string}` ``; } | Vault contract address |
| `vault.options` | [`IVaultBaseOptions`](#ivaultbaseoptions)                                               | -                      |
| `vault.vault`   | `` `0x${string}` ``                                                                     | -                      |

**Returns**

`Promise`<`number`>

Timestamp (Unix timestamp in seconds) when yield was last realized

***

#### registerUserForPoints()

> **registerUserForPoints**(`userAddress`): `Promise`<`Response`>

Register a user for points program.

**Parameters**

| Parameter                      | Type                                                                                                                                    | Description         |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| `userAddress`                  | { `options?`: [`IVaultBaseOptions`](#ivaultbaseoptions); `referrerAddress?`: `` `0x${string}` ``; `userAddress`: `` `0x${string}` ``; } | User wallet address |
| `userAddress.options?`         | [`IVaultBaseOptions`](#ivaultbaseoptions)                                                                                               | -                   |
| `userAddress.referrerAddress?` | `` `0x${string}` ``                                                                                                                     | -                   |
| `userAddress.userAddress`      | `` `0x${string}` ``                                                                                                                     | -                   |

**Returns**

`Promise`<`Response`>

Registration response

### References

#### default

Renames and re-exports [AugustVaults](#augustvaults)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augustdigital.io/developers/typescript-sdk/api/augustvaults.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
