AugustVaults
SDK Reference / 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
Parameters
Returns
Overrides
AugustBase.constructor
Properties
activeNetwork
public
IActiveNetwork
AugustBase.activeNetwork
authorized
public
boolean
AugustBase.authorized
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
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
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
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
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
__namedParameters
{ chainId?: number; options?: IVaultBaseOptions; vault?: `0x${string}`; wallet: `0x${string}`; }
__namedParameters.chainId?
number
__namedParameters.options?
__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
userAddress
`0x${string}`
User wallet address
Returns
Promise<any>
Points data from the backend API
getUserTransfers()
getUserTransfers(
__namedParameters):Promise<object[]>
Parameters
__namedParameters
{ chainId?: number; options?: IVaultBaseOptions; vault?: `0x${string}`; wallet: `0x${string}`; }
__namedParameters.chainId?
number
__namedParameters.options?
__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
vault
{ chainId?: number; loadSnapshots?: boolean; loadSubaccounts?: boolean; options?: IVaultCustomOptions; vault: `0x${string}`; }
Vault contract address
vault.chainId?
number
-
vault.loadSnapshots?
boolean
-
vault.loadSubaccounts?
boolean
-
vault.vault
`0x${string}`
-
Returns
Promise<IVault>
Single vault object with optional position data
getVaultAllocations()
getVaultAllocations(
__namedParameters):Promise<IVaultAllocations| {message:string;status:number; }>
Parameters
__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
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
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
__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
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
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
__namedParameters
{ chainId?: number; vault: `0x${string}`; }
__namedParameters.chainId?
number
__namedParameters.vault
`0x${string}`
Returns
Promise<IVaultLoan[]>
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
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
__namedParameters
{ chainId?: number; options?: IVaultBaseOptions; showAllVaults?: boolean; solanaWallet?: string; vault?: `0x${string}`; wallet?: `0x${string}`; }
__namedParameters.chainId?
number
__namedParameters.options?
__namedParameters.showAllVaults?
boolean
__namedParameters.solanaWallet?
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
Returns
Promise<IVault[]>
Array of vault objects with optional loans/allocations/positions
getVaultSummary()
getVaultSummary(
vault):Promise<IVaultSummary>
Get summary data for a vault (name, type, chain, recent returns).
Parameters
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
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
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
vault
`0x${string}`
Vault address
chainId?
number
Chain ID (will be converted to chain name)
Returns
Promise<IVaultWithdrawals>
Withdrawal summary and pending queue
getYieldLastRealizedOn()
getYieldLastRealizedOn(
vault):Promise<number>
Function
getYieldLastRealizedOn gets the timestamp when yield was last realized for a vault
Parameters
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
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 }
registerUserForPoints()
registerUserForPoints(
userAddress,referrerAddress?):Promise<Response>
Function
registerUserForPoints registers a user for the points program
Parameters
userAddress
`0x${string}`
User wallet address
referrerAddress?
`0x${string}`
Optional referrer wallet address
Returns
Promise<Response>
Registration response
switchNetwork()
switchNetwork(
chainId):void
Switch the active blockchain network. Updates both chain ID and RPC URL for subsequent operations.
Parameters
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
address
`0x${string}`
Returns
void
Inherited from
AugustBase.updateWallet
vaultDeposit()
vaultDeposit(
signer,options):Promise<string>
Parameters
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
augustKey?
string
chainId?
number
env?
IEnv
headers?
IWSMonitorHeaders
rpcUrl
string
solanaService?
subgraphKey?
string
IVaultCustomOptions
Optional enrichment options for vault queries.
Properties
allocations?
boolean
loans?
boolean
solanaWallet?
string
wallet?
`0x${string}`
Functions
fetchPointsLeaderboard()
fetchPointsLeaderboard(
params):Promise<any>
Fetch the points leaderboard data.
Parameters
params
{ options?: IVaultBaseOptions; params?: { page?: number; perPage?: number; sortBy?: "streakDays" | "totalPoints"; }; }
Optional parameters for pagination and sorting
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
__namedParameters
{ options: IVaultBaseOptions; }
__namedParameters.options
Returns
Promise<{ }>
getPreviewRedemption()
getPreviewRedemption(
vault):Promise<INormalizedNumber>
Preview the amount of assets that would be received for redeeming shares (queued redemption).
Parameters
vault
{ options: IVaultBaseOptions; sharesAmount: string | number | bigint; vault: `0x${string}`; }
Vault contract address
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
__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
userAddress
{ options?: IVaultBaseOptions; userAddress: `0x${string}`; }
User wallet address (EVM or Solana)
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 or Solana) based on vault version. Optionally enriches with loan and allocation data.
Parameters
vault
{ allocations?: boolean; loadSnapshots?: boolean; loadSubaccounts?: boolean; loans?: boolean; options: IVaultBaseOptions; vault: `0x${string}`; }
Vault contract address or program ID
vault.allocations?
boolean
-
vault.loadSnapshots?
boolean
-
vault.loadSubaccounts?
boolean
-
vault.loans?
boolean
-
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
vault
`0x${string}`
Vault address
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
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
__namedParameters
{ historical?: IVaultHistoricalParams; options?: IVaultBaseOptions; vault: `0x${string}`; }
__namedParameters.historical?
IVaultHistoricalParams
__namedParameters.options?
__namedParameters.vault
`0x${string}`
Returns
Promise<object[]>
Deprecated
use getVaultHistoricalTimeseries instead
getVaultAvailableRedemptions()
getVaultAvailableRedemptions(
__namedParameters):Promise<{availableRedemptions:IVaultAvailableRedemption[];pendingRedemptions:IVaultAvailableRedemption[];processedWithdrawals:ISubgraphWithdrawProccessed[];requestedWithdrawals:ISubgraphWithdrawRequest[]; }>
Parameters
__namedParameters
{ options: IVaultBaseOptions & object; vault: `0x${string}`; wallet?: `0x${string}`; }
__namedParameters.options
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
__namedParameters
{ options: IVaultBaseOptions; vault: `0x${string}`; }
__namedParameters.options
__namedParameters.vault
`0x${string}`
Returns
Promise<object[]>
getVaultHistoricalTimeseries()
getVaultHistoricalTimeseries(
__namedParameters):Promise<IHistoricalTimeseriesResponse>
Parameters
__namedParameters
{ nDays?: number; options?: IVaultBaseOptions; vault: `0x${string}`; }
__namedParameters.nDays?
number
__namedParameters.options?
__namedParameters.vault
`0x${string}`
Returns
Promise<IHistoricalTimeseriesResponse>
getVaultLoans()
getVaultLoans(
vault,options):Promise<IVaultLoan[]>
Vault Loans
Parameters
vault
`0x${string}` | IVault
options
Returns
Promise<IVaultLoan[]>
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
vault.vault
`0x${string}`
-
Returns
Promise<IVaultPnl>
Vault PnL in USD and notional value
getVaultPositions()
getVaultPositions(
__namedParameters):Promise<IVaultPosition[]>
Vault Positions
Parameters
__namedParameters
{ options: IVaultBaseOptions; solanaWallet?: string; vault: `0x${string}`; wallet?: `0x${string}`; }
__namedParameters.options
__namedParameters.solanaWallet?
string
__namedParameters.vault
`0x${string}`
__namedParameters.wallet?
`0x${string}`
Returns
Promise<IVaultPosition[]>
getVaultRedemptionHistory()
getVaultRedemptionHistory(
__namedParameters):Promise<IVaultRedemptionHistoryItem[]>
Parameters
__namedParameters
{ options: IVaultBaseOptions; vault: `0x${string}`; wallet?: `0x${string}`; }
__namedParameters.options
__namedParameters.vault
`0x${string}`
__namedParameters.wallet?
`0x${string}`
Returns
Promise<IVaultRedemptionHistoryItem[]>
getVaultSummary()
getVaultSummary(
vault):Promise<IVaultSummary>
Fetch summary data for a vault (name, type, chain, recent returns).
Parameters
vault.vault
`0x${string}`
-
Returns
Promise<IVaultSummary>
Vault summary data
getVaultTvl()
getVaultTvl(
__namedParameters):Promise<object[]>
Parameters
__namedParameters
{ historical?: IVaultHistoricalParams; options: IVaultBaseOptions; vault: `0x${string}`; }
__namedParameters.historical?
IVaultHistoricalParams
__namedParameters.options
__namedParameters.vault
`0x${string}`
Returns
Promise<object[]>
getVaultUserLifetimePnl()
getVaultUserLifetimePnl(
vault):Promise<IVaultUserLifetimePnl>
Calculate lifetime PnL for a user in a specific vault.
Basic logic:
Get user's list of deposits and withdrawals from subgraph
Fetch user's current assets (balanceOf * sharePrice via convertToAssets)
Calculate PnL = assets withdrawn + current assets - assets deposited
Parameters
vault
{ coingeckoKey?: string; options: IVaultBaseOptions; vault: `0x${string}`; wallet: `0x${string}`; }
Vault contract address
vault.coingeckoKey?
string
-
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
vault.chain
string
-
vault.vault
`0x${string}`
-
Returns
Promise<IVaultWithdrawals>
Withdrawal summary and pending queue
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
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
userAddress
{ options?: IVaultBaseOptions; referrerAddress?: `0x${string}`; userAddress: `0x${string}`; }
User wallet address
userAddress.referrerAddress?
`0x${string}`
-
userAddress.userAddress
`0x${string}`
-
Returns
Promise<Response>
Registration response
References
default
Renames and re-exports AugustVaults
Last updated