> For the complete documentation index, see [llms.txt](https://docs.augustdigital.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augustdigital.io/developers/typescript-sdk/api/augustsdk.md).

# AugustSDK

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

## AugustSDK

The main August SDK class.

Main SDK class for interacting with August Digital vaults and services. Provides unified access to EVM, Solana, Sui, and Stellar blockchain adapters.

**Extends:** `AugustBase`

### Constructors

#### Constructor

> **new AugustSDK**(`baseConfig`): [`AugustSDK`](#augustsdk)

Initialize the August SDK with provider configuration. Automatically sets up EVM adapter and optionally initializes Solana if RPC URL is provided.

**Parameters**

| Parameter    | Type          |
| ------------ | ------------- |
| `baseConfig` | `IAugustBase` |

**Returns**

[`AugustSDK`](#augustsdk)

**Overrides**

`AugustBase.constructor`

### Properties

| Property         | Modifier | Type                                                                                | Description                                   | Inherited from             |
| ---------------- | -------- | ----------------------------------------------------------------------------------- | --------------------------------------------- | -------------------------- |
| `activeNetwork?` | `public` | `IActiveNetwork`                                                                    | -                                             | `AugustBase.activeNetwork` |
| `appName`        | `public` | `string`                                                                            | Validated app-name slug from the constructor. | `AugustBase.appName`       |
| `authorized`     | `public` | `boolean`                                                                           | -                                             | `AugustBase.authorized`    |
| `evm`            | `public` | [`default`](/developers/typescript-sdk/api/evmadapter.md#default)                   | -                                             | -                          |
| `keys`           | `public` | `IKeys`                                                                             | -                                             | `AugustBase.keys`          |
| `monitoring`     | `public` | `IMonitoring`                                                                       | -                                             | `AugustBase.monitoring`    |
| `providers`      | `public` | `IProvidersConfig`                                                                  | -                                             | `AugustBase.providers`     |
| `solana`         | `public` | [`default`](/developers/typescript-sdk/api/solanaadapter.md#default)                | -                                             | -                          |
| `stellar`        | `public` | [`StellarAdapter`](/developers/typescript-sdk/api/stellaradapter.md#stellaradapter) | -                                             | -                          |
| `sui`            | `public` | [`default`](/developers/typescript-sdk/api/suiadapter.md#default)                   | -                                             | -                          |

**Accessors**

#### apiModule

**Get Signature**

> **get** **apiModule**(): [`AugustApi`](/developers/typescript-sdk/api/augustapi.md#augustapi)

Get the backend API module instance ([AugustApi](/developers/typescript-sdk/api/augustapi.md#augustapi)) — read-only access to backend-computed data with no on-chain equivalent: the unrealized-PnL series and the transparency dashboard (position snapshot, backing series, smoothed APY, allocations, fee config, governance).

**Returns**

[`AugustApi`](/developers/typescript-sdk/api/augustapi.md#augustapi)

#### subAccountsModule

**Get Signature**

> **get** **subAccountsModule**(): [`AugustSubAccounts`](/developers/typescript-sdk/api/augustsubaccounts.md#augustsubaccounts)

Get the Sub-Accounts module instance.

**Returns**

[`AugustSubAccounts`](/developers/typescript-sdk/api/augustsubaccounts.md#augustsubaccounts)

#### vaultsModule

**Get Signature**

> **get** **vaultsModule**(): [`AugustVaults`](/developers/typescript-sdk/api/augustvaults.md#augustvaults)

Get the Vaults module instance.

**Returns**

[`AugustVaults`](/developers/typescript-sdk/api/augustvaults.md#augustvaults)

### Methods

#### clearWallet()

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

Clear the active wallet address from the SDK state and monitoring headers.

**Returns**

`void`

**Overrides**

`AugustBase.clearWallet`

#### fetchPointsLeaderboard()

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

Fetch 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

#### getLatestUnrealizedPnl()

> **getLatestUnrealizedPnl**(): `Promise`<`IUnrealizedPnlSnapshot`\[]>

Fetch the latest unrealized-PnL snapshot for every tracked vault. Delegates to [AugustApi.getLatestUnrealizedPnl](/developers/typescript-sdk/api/augustapi.md#getlatestunrealizedpnl) — see it for return shape and thrown errors.

**Returns**

`Promise`<`IUnrealizedPnlSnapshot`\[]>

#### getLayerZeroDeposits()

> **getLayerZeroDeposits**(`props`): `Promise`<`ILayerZeroDeposit`\[]>

Query LayerZero USDC deposits from the august-layerzero subgraphs. Returns all deposits or filters by sender wallet address if provided.

**Important Notes:**

* Only deposit transactions are tracked (not withdrawals or other operations)
* Sender and recipient addresses are stored in bytes32 format in the subgraph
* Timestamps are available from the subgraph

**Supported Vaults:**

* `upusdc`: 0x80E1048eDE66ec4c364b4F22C8768fc657FF6A42
* `coreusdc`: 0xE9B725010A9E419412ed67d0fA5f3A5f40159D32
* `earnausd`: 0x36eDbF0C834591BFdfCaC0Ef9605528c75c406aA

**Parameters**

| Parameter            | Type                                                                                            | Description                                                                                              |
| -------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `props`              | { `receiptToken`: `"upusdc"` \| `"coreusdc"` \| `"earnausd"`; `wallet?`: `` `0x${string}` ``; } | Receipt token type ('upusdc', 'coreusdc', or 'earnausd') and optional wallet address to filter by sender |
| `props.receiptToken` | `"upusdc"` \| `"coreusdc"` \| `"earnausd"`                                                      | -                                                                                                        |
| `props.wallet?`      | `` `0x${string}` ``                                                                             | -                                                                                                        |

**Returns**

`Promise`<`ILayerZeroDeposit`\[]>

Array of deposit events with the following structure:

* `assetAmt`: Amount of assets deposited (as string)
* `shareAmt`: Amount of shares received (as string)
* `sender`: Sender address in bytes32 format
* `recipient`: Recipient address in bytes32 format
* `dstEid`: Destination endpoint ID (LayerZero chain identifier)
* `transactionHash_`: Transaction hash

**Throws**

Error if receipt token is invalid or GraphQL request fails

**Example**

```typescript
// Get all coreUSDC deposits
const allDeposits = await sdk.getLayerZeroDeposits({
  receiptToken: 'coreusdc'
});

// Get deposits for a specific wallet
const userDeposits = await sdk.getLayerZeroDeposits({
  receiptToken: 'upusdc',
  wallet: '0xb0280B58F541131b29D1B33319CD440a99eA0305'
});
```

#### getLayerZeroRedeems()

> **getLayerZeroRedeems**(`props?`): `Promise`<`ILayerZeroRedeem`\[]>

Get LayerZero redeems for earnAUSD vault

**Parameters**

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

**Returns**

`Promise`<`ILayerZeroRedeem`\[]>

**Example**

```typescript
// Get all earnAUSD redeems
const allRedeems = await sdk.getLayerZeroRedeems();

// Get redeems for a specific wallet
const userRedeems = await sdk.getLayerZeroRedeems({
  wallet: '0x2de1DCB8EaAd40fAd327fa3eE3F48774b8e20649'
});
```

#### getPrice()

> **getPrice**(`symbol`): `Promise`<`number`>

Get the current USD price of a token by symbol or contract address. Falls back to CoinGecko if primary price source fails.

**Parameters**

| Parameter | Type     | Description                      |
| --------- | -------- | -------------------------------- |
| `symbol`  | `string` | Token symbol or contract address |

**Returns**

`Promise`<`number`>

Current price in USD

#### getSwapRouterEligibleVaults()

> **getSwapRouterEligibleVaults**(`chainId`, `options?`): `Promise`<`` `0x${string}` ``\[]>

Resolve the vaults currently eligible for the any-token `SwapRouter` deposit surface on a chain — every vault the router has `enableVault`-ed whose on-chain registration is still live.

Delegates to [AugustVaults.getSwapRouterEligibleVaults](/developers/typescript-sdk/api/augustvaults.md#getswaproutereligiblevaults), which reconstructs the set from the router's `VaultEnabled` events and verifies each vault's current `vaultInfo` registration (not enumerable). Returns `[]` when no router is deployed on `chainId` or no provider is configured for it. On-chain eligibility only — app-level policy (e.g. OVault exclusions) remains the caller's responsibility.

**Parameters**

| Parameter            | Type                        | Description                                                   |
| -------------------- | --------------------------- | ------------------------------------------------------------- |
| `chainId`            | `number`                    | EVM chain ID to resolve eligible vaults for.                  |
| `options?`           | { `fromBlock?`: `number`; } | Optional `fromBlock` to override the deploy-block scan floor. |
| `options.fromBlock?` | `number`                    | -                                                             |

**Returns**

`Promise`<`` `0x${string}` ``\[]>

Checksummed eligible vault addresses; `[]` when unavailable.

**Throws**

AugustSDKError when an `eth_getLogs` scan chunk fails.

**Example**

```ts
const vaults = await augustSdk.getSwapRouterEligibleVaults(1);
```

#### getSwapRouterWhitelistedTokens()

> **getSwapRouterWhitelistedTokens**(`chainId`, `options?`): `Promise`<`` `0x${string}` ``\[]>

Resolve the ERC-20 tokens currently whitelisted for the `SwapRouter` on a chain — the any-token set a deposit UI can offer as swap-and-deposit inputs.

Delegates to [AugustVaults.getSwapRouterWhitelistedTokens](/developers/typescript-sdk/api/augustvaults.md#getswaprouterwhitelistedtokens), which reconstructs the set from the router's `TokenEnabled` events and verifies each against the on-chain `whitelistedTokens` mapping (not enumerable). Returns `[]` when no router is deployed on `chainId` or no provider is configured for it.

**Parameters**

| Parameter            | Type                        | Description                                                   |
| -------------------- | --------------------------- | ------------------------------------------------------------- |
| `chainId`            | `number`                    | EVM chain ID to resolve the allowlist for.                    |
| `options?`           | { `fromBlock?`: `number`; } | Optional `fromBlock` to override the deploy-block scan floor. |
| `options.fromBlock?` | `number`                    | -                                                             |

**Returns**

`Promise`<`` `0x${string}` ``\[]>

Checksummed whitelisted token addresses; `[]` when unavailable.

**Throws**

AugustSDKError when an `eth_getLogs` scan chunk fails.

**Example**

```ts
const tokens = await augustSdk.getSwapRouterWhitelistedTokens(1);
```

#### getTotalDeposited()

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

**Parameters**

| Parameter                  | Type                                                            |
| -------------------------- | --------------------------------------------------------------- |
| `options?`                 | { `loadSnapshots?`: `boolean`; `loadSubaccounts?`: `boolean`; } |
| `options.loadSnapshots?`   | `boolean`                                                       |
| `options.loadSubaccounts?` | `boolean`                                                       |

**Returns**

`Promise`<`number`>

#### getUserPoints()

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

Get user points from the backend API. This fetches processed points data directly from the backend, removing the need for client-side points calculation.

**Parameters**

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

**Returns**

`Promise`<`any`>

Points data from the backend API

#### getVault()

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

Fetch detailed information for a specific vault.

**Parameters**

| Parameter                | Type                                                                                                                                                                                                                         | Description                                              |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `props`                  | { `chainId?`: `number`; `loadSnapshots?`: `boolean`; `loadSubaccounts?`: `boolean`; `options?`: [`IVaultCustomOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultcustomoptions); `vault`: `` `0x${string}` ``; } | Vault address, chain ID, and optional enrichment options |
| `props.chainId?`         | `number`                                                                                                                                                                                                                     | -                                                        |
| `props.loadSnapshots?`   | `boolean`                                                                                                                                                                                                                    | -                                                        |
| `props.loadSubaccounts?` | `boolean`                                                                                                                                                                                                                    | -                                                        |
| `props.options?`         | [`IVaultCustomOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultcustomoptions)                                                                                                                                  | -                                                        |
| `props.vault`            | `` `0x${string}` ``                                                                                                                                                                                                          | -                                                        |

**Returns**

`Promise`<`IVault`>

Single vault object with full metadata

#### getVaultActivity()

> **getVaultActivity**(`props`): `Promise`<`IVaultUserHistoryItem`\[]>

Get a vault's deposit/withdrawal activity across every participant.

The vault-wide counterpart to [AugustSDK.getVaultUserHistory](#getvaultuserhistory) — use it to answer flow questions ("how many deposits in the last 7 days", "net flow this week") that point-in-time TVL cannot. Reads from the Goldsky subgraph, paginated so busy vaults are not truncated; a `sinceTs` window keeps short lookbacks cheap.

**Parameters**

| Parameter        | Type                                                                                                                                                                                            | Description                                                                                                        |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `props`          | { `chainId?`: `number`; `sinceTs?`: `number`; `types?`: (`"deposit"` \| `"withdraw-request"` \| `"withdraw-processed"` \| `"redeem"`)\[]; `untilTs?`: `number`; `vault`: `` `0x${string}` ``; } | Vault address, optional chain id, optional `sinceTs`/`untilTs` Unix-second bounds, and an optional `types` filter. |
| `props.chainId?` | `number`                                                                                                                                                                                        | -                                                                                                                  |
| `props.sinceTs?` | `number`                                                                                                                                                                                        | -                                                                                                                  |
| `props.types?`   | (`"deposit"` \| `"withdraw-request"` \| `"withdraw-processed"` \| `"redeem"`)\[]                                                                                                                | -                                                                                                                  |
| `props.untilTs?` | `number`                                                                                                                                                                                        | -                                                                                                                  |
| `props.vault`    | `` `0x${string}` ``                                                                                                                                                                             | -                                                                                                                  |

**Returns**

`Promise`<`IVaultUserHistoryItem`\[]>

Array of activity items (oldest-first) with normalized amounts, actor addresses, event type, and transaction hashes.

**Throws**

If `vault` is not a valid address or no chain id can be resolved.

**Example**

```ts
const weekAgo = Math.floor(Date.now() / 1000) - 7 * 86_400;
const items = await sdk.getVaultActivity({ vault, chainId: 143, sinceTs: weekAgo });
```

#### getVaultAllocations()

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

Get vault asset allocations across DeFi protocols, CeFi, and OTC positions.

This is the data behind the "Vault Exposure" section of the Upshift app — a partner rendering that section in their own frontend needs only this call. Read `exposurePerCategory` for the pre-bucketed view the UI renders (`supplying` / `borrowing` / `wallet` / `lending` legs plus per-category USD totals) and `netValue` for the headline figure; the raw `defi` / `cefi` / `otc` arrays back the drill-downs. See the "Rendering the Vault Exposure section" guide in the vaults docs for a faithful reproduction.

Stellar vaults resolve their DeFi exposure through the Untangled portfolio API instead of DeBank — one extra HTTP call, covering the idle buffer, Stellar protocol positions, custody wallets and bridged capital. If that call fails the exposure legs come back empty rather than throwing, so CeFi, OTC and loan allocations still resolve.

**Parameters**

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

**Returns**

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

Detailed breakdown of vault allocations by category

**Example**

```ts
const { exposurePerCategory, netValue } = await sdk.getVaultAllocations({
  vault: '0xcd69123b3FBBfC666E1f6a501da27B564C00De54',
  chainId: 1,
});
for (const item of exposurePerCategory?.supplying ?? []) {
  console.log(item.protocol, item.symbol, item.amount);
}
```

#### ~~getVaultAnnualizedApy()~~

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

Get annualized APY metrics for a vault.

Supported Vaults: cUSDO, tETH, wstETH, rsETH

**Parameters**

| Parameter     | Type                              | Description   |
| ------------- | --------------------------------- | ------------- |
| `props`       | { `vault`: `` `0x${string}` ``; } | Vault address |
| `props.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 in the next major release. Use `liquidAPY30Day` and `liquidAPY7Day` fields instead.

#### ~~getVaultApy()~~

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

Get current or historical APY for a vault.

**Parameters**

| Parameter                   | Type                                                                        | Description                                           |
| --------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------- |
| `props`                     | { `historical?`: { `daysAgo?`: `number`; }; `vault`: `` `0x${string}` ``; } | Vault address and optional historical lookback period |
| `props.historical?`         | { `daysAgo?`: `number`; }                                                   | -                                                     |
| `props.historical.daysAgo?` | `number`                                                                    | -                                                     |
| `props.vault`               | `` `0x${string}` ``                                                         | -                                                     |

**Returns**

`Promise`<`object`\[]>

APY data including rewards breakdown

**Deprecated**

use getVaultHistoricalTimeseries instead

#### getVaultAvailableRedemptions()

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

Get redemption requests that are ready to be claimed.

**Parameters**

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

**Returns**

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

Array of available redemption requests with amounts and timestamps

#### getVaultBorrowerHealthFactor()

> **getVaultBorrowerHealthFactor**(`props?`): `Promise`<`Record`<`string`, `IVaultBorrowerHealthFactor`\[]> | `Record`<`string`, `IVaultBorrowerHealthFactor`\[]>\[]>

Get the borrower's health factor by vault.

Pass `vault` whenever the caller knows which pool it cares about — it skips the all-vaults cross-chain fanout and only reads the loans for that one pool. The response map is keyed by **lowercased** vault address; look entries up with `address.toLowerCase()`.

**Parameters**

| Parameter        | Type                                                     | Description                                                                                                          |
| ---------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `props?`         | { `chainId?`: `number`; `vault?`: `` `0x${string}` ``; } | -                                                                                                                    |
| `props.chainId?` | `number`                                                 | Optional chain to scope the read to.                                                                                 |
| `props.vault?`   | `` `0x${string}` ``                                      | Optional vault address. When provided alongside `chainId`, only that vault's borrower-health-factor data is fetched. |

**Returns**

`Promise`<`Record`<`string`, `IVaultBorrowerHealthFactor`\[]> | `Record`<`string`, `IVaultBorrowerHealthFactor`\[]>\[]>

Object containing the borrower's health factor by vault.

#### getVaultHistoricalTimeseries()

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

Get historical timeseries data for a vault.

**Parameters**

| Parameter      | Type                                                  | Description                               |
| -------------- | ----------------------------------------------------- | ----------------------------------------- |
| `props`        | { `nDays?`: `number`; `vault`: `` `0x${string}` ``; } | Vault address and optional number of days |
| `props.nDays?` | `number`                                              | -                                         |
| `props.vault`  | `` `0x${string}` ``                                   | -                                         |

**Returns**

`Promise`<`IHistoricalTimeseriesResponse`>

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

#### getVaultLoans()

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

Get active loans deployed from a vault.

**Parameters**

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

**Returns**

`Promise`<`IVaultLoan`\[]>

Array of loan details including borrower, principal, APR

#### 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**(`props`): `Promise`<`IVaultPosition`\[]>

Get user positions across vaults including shares and claimable redemptions. Supports both EVM and Solana vaults.

**Parameters**

| Parameter              | Type                                                                                                                                                                                                                                                                              | Description                                         |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `props`                | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions); `showAllVaults?`: `boolean`; `solanaWallet?`: `string`; `stellarWallet?`: `string`; `vault?`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } | Wallet address, chain ID, and optional vault filter |
| `props.chainId?`       | `number`                                                                                                                                                                                                                                                                          | -                                                   |
| `props.options?`       | [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions)                                                                                                                                                                                           | -                                                   |
| `props.showAllVaults?` | `boolean`                                                                                                                                                                                                                                                                         | -                                                   |
| `props.solanaWallet?`  | `string`                                                                                                                                                                                                                                                                          | -                                                   |
| `props.stellarWallet?` | `string`                                                                                                                                                                                                                                                                          | -                                                   |
| `props.vault?`         | `` `0x${string}` ``                                                                                                                                                                                                                                                               | -                                                   |
| `props.wallet?`        | `` `0x${string}` ``                                                                                                                                                                                                                                                               | -                                                   |

**Returns**

`Promise`<`IVaultPosition`\[]>

Array of positions with balances and pending redemptions

#### getVaultRedemptionHistory()

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

Get historical redemption requests for a vault (settled, cancelled, pending-but-out-of-window), optionally filtered to one wallet.

**Parameters**

| Parameter               | Type                                                                                                                 | Description                                                                                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `props`                 | { `chainId?`: `number`; `lookbackBlocks?`: `number`; `vault`: `` `0x${string}` ``; `wallet?`: `` `0x${string}` ``; } | Vault address, chain ID, optional wallet, and an optional `lookbackBlocks` for how far back to scan. |
| `props.chainId?`        | `number`                                                                                                             | -                                                                                                    |
| `props.lookbackBlocks?` | `number`                                                                                                             | -                                                                                                    |
| `props.vault`           | `` `0x${string}` ``                                                                                                  | -                                                                                                    |
| `props.wallet?`         | `` `0x${string}` ``                                                                                                  | -                                                                                                    |

**Returns**

`Promise`<`IVaultRedemptionHistoryItem`\[]>

Historical redemption records, newest first.

#### getVaults()

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

Fetch all available vaults across configured networks. Optionally filter by chain IDs and include loan/allocation data.

**Parameters**

| Parameter  | Type                                                                                    | Description                                                                                                                                                                                                                                   |
| ---------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options?` | [`IGetVaultsOptions`](/developers/typescript-sdk/api/augustvaults.md#igetvaultsoptions) | Configuration for filtering and enriching vault data — see [IGetVaultsOptions](/developers/typescript-sdk/api/augustvaults.md#igetvaultsoptions) for the full surface (`includeClosed` portfolio mode, `maxRetries`/`baseDelay` retry tuning) |

**Returns**

`Promise`<`IVault`\[]>

Array of vault objects with metadata and optional position data

#### getVaultStakingPositions()

> **getVaultStakingPositions**(`props`): `Promise`<`IActiveStakingPosition`\[]>

Get user's staking positions for vault receipt tokens.

**Parameters**

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

**Returns**

`Promise`<`IActiveStakingPosition`\[]>

Array of staking positions with rewards

#### getVaultSummary()

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

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

**Parameters**

| Parameter     | Type                              | Description   |
| ------------- | --------------------------------- | ------------- |
| `props`       | { `vault`: `` `0x${string}` ``; } | Vault address |
| `props.vault` | `` `0x${string}` ``               | -             |

**Returns**

`Promise`<`IVaultSummary`>

Vault summary data

#### getVaultTvl()

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

Get current or historical TVL for a vault.

**Parameters**

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

**Returns**

`Promise`<`object`\[]>

TVL in vault's base asset units

#### getVaultUnrealizedPnlHistory()

> **getVaultUnrealizedPnlHistory**(`params`): `Promise`<`IUnrealizedPnlSnapshot`\[]>

Fetch the historical unrealized-PnL series for a vault, newest first. Delegates to [AugustApi.getVaultUnrealizedPnlHistory](/developers/typescript-sdk/api/augustapi.md#getvaultunrealizedpnlhistory) — see it for parameter semantics and thrown errors.

**Parameters**

| Parameter       | Type                                       |
| --------------- | ------------------------------------------ |
| `params`        | { `limit?`: `number`; `vault`: `string`; } |
| `params.limit?` | `number`                                   |
| `params.vault`  | `string`                                   |

**Returns**

`Promise`<`IUnrealizedPnlSnapshot`\[]>

#### getVaultUserHistory()

> **getVaultUserHistory**(`props`): `Promise`<`IVaultUserHistoryItem`\[]>

Get user's historical vault interactions including deposits and withdrawals.

**Parameters**

| Parameter        | Type                                                                                                                                                                                         | Description                                     |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `props`          | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions); `vault?`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } | Wallet address and optional vault/chain filters |
| `props.chainId?` | `number`                                                                                                                                                                                     | -                                               |
| `props.options?` | [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions)                                                                                                      | -                                               |
| `props.vault?`   | `` `0x${string}` ``                                                                                                                                                                          | -                                               |
| `props.wallet`   | `` `0x${string}` ``                                                                                                                                                                          | -                                               |

**Returns**

`Promise`<`IVaultUserHistoryItem`\[]>

Array of historical transactions with amounts and timestamps

#### getVaultUserLifetimePnl()

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

Get lifetime PnL for a user in a specific vault. Calculates realized and unrealized PnL based on deposit/withdrawal history and current position.

**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 in both native token and USD

#### getVaultUserTransfers()

> **getVaultUserTransfers**(`props`): `Promise`<`object`\[]>

Get user's vault share transfer history from subgraph.

**Parameters**

| Parameter        | Type                                                                                                                                                                                         | Description                                     |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `props`          | { `chainId?`: `number`; `options?`: [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions); `vault?`: `` `0x${string}` ``; `wallet`: `` `0x${string}` ``; } | Wallet address and optional vault/chain filters |
| `props.chainId?` | `number`                                                                                                                                                                                     | -                                               |
| `props.options?` | [`IVaultBaseOptions`](/developers/typescript-sdk/api/augustvaults.md#ivaultbaseoptions)                                                                                                      | -                                               |
| `props.vault?`   | `` `0x${string}` ``                                                                                                                                                                          | -                                               |
| `props.wallet`   | `` `0x${string}` ``                                                                                                                                                                          | -                                               |

**Returns**

`Promise`<`object`\[]>

Array of transfer events

#### getVaultWithdrawals()

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

Get withdrawal summary and pending queue for a vault.

**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`<`IVaultWithdrawals`>

Withdrawal summary and pending queue

#### getYieldLastRealizedOn()

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

Get the timestamp when yield was last realized for a vault.

**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`<`number`>

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

#### init()

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

Verify the configured August API key and mark this instance as authorized.

**Returns**

`Promise`<`void`>

**Throws**

Error when `keys.august` is missing or rejected by the API.

**Inherited from**

`AugustBase.init`

#### previewRedemption()

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

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

**Parameters**

| Parameter            | Type                                                                                                      | Description                                                  |
| -------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| `props`              | { `chainId?`: `number`; `sharesAmount`: `string` \| `number` \| `bigint`; `vault`: `` `0x${string}` ``; } | Vault contract address, shares amount, and optional chain ID |
| `props.chainId?`     | `number`                                                                                                  | -                                                            |
| `props.sharesAmount` | `string` \| `number` \| `bigint`                                                                          | -                                                            |
| `props.vault`        | `` `0x${string}` ``                                                                                       | -                                                            |

**Returns**

`Promise`<`INormalizedNumber`>

The amount of assets as INormalizedNumber

#### registerUserForPoints()

> **registerUserForPoints**(`userAddress`, `referrerAddress`, `chainId`, `signature`, `nonce`, `expiry`): `Promise`<`Response`>

Register a user for the points program, authenticated by a wallet signature.

The caller produces a personal\_sign signature over a canonical message containing the user address, referrer (or `"none"`), chain, nonce, and expiry — see `AugustVaults.registerUserForPoints` for the exact template.

**Parameters**

| Parameter         | Type                | Description                                                                                                                   |
| ----------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `userAddress`     | `` `0x${string}` `` | EVM wallet address being registered.                                                                                          |
| `referrerAddress` | `` `0x${string}` `` | Optional EVM referrer address.                                                                                                |
| `chainId`         | `number`            | Chain on which the wallet signed; powers the EIP-1271 fallback for smart-contract wallets and pins the signature cross-chain. |
| `signature`       | `string`            | 0x-prefixed personal\_sign signature over the canonical message.                                                              |
| `nonce`           | `string`            | Single-use random string (8–128 chars).                                                                                       |
| `expiry`          | `number`            | Unix seconds; must be in the future, within the backend's TTL.                                                                |

**Returns**

`Promise`<`Response`>

Raw `Response` from the backend.

#### switchNetwork()

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

Switch the active network for vault operations. Updates the SDK's active chain and RPC provider.

**Parameters**

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

**Returns**

`void`

**Overrides**

`AugustBase.switchNetwork`

#### updateWallet()

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

Set the active wallet address for tracking user-specific vault data. Updates monitoring headers with the wallet address.

**Parameters**

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

**Returns**

`void`

**Overrides**

`AugustBase.updateWallet`

#### vaultDeposit()

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

Deposit into a vault with an explicit signer. When `depositAsset` differs from the vault's underlying asset the deposit is routed through the matching adapter (native wrapper, swap router, or permit path).

**Parameters**

| Parameter | Type                    | Description                                                                                                            |
| --------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `signer`  | `Signer` \| `Wallet`    | ethers Signer or Wallet that sends the transaction                                                                     |
| `options` | `IContractWriteOptions` | Vault address (`target`), depositor `wallet`, `amount`, and optional `depositAsset`, `wait`, `receiver`, `slippageBps` |

**Returns**

`Promise`<`string`>

Deposit transaction hash
