getVaultAPY() and getWithdrawalRequests(). When integrating directly, you call these yourself. This section covers every read-only operation the SDK provides, with the raw API calls and contract reads you need.
All API endpoints require an API key passed via the
x-api-key header.
Contact Paxos Labs to get one. The GraphQL
endpoint (POST /graphql) returns vault contract addresses needed for
integration. See Vault Discovery
for the full query.Vault Discovery
Discover vaults, contract addresses, and supported assets via the GraphQL API.
Vault APY
Fetch the latest annual percentage yield for a vault.
Vault TVL
Fetch total value locked for a vault.
Withdrawal Requests
Query withdrawal order history and status for a user.
Token Balances
Read ERC-20 balances directly from the blockchain.
Allowances
Check ERC-20 approval allowances for deposits and withdrawals.
Exchange Rate
Read the share-to-asset exchange rate from the Accountant contract.
Withdrawal Fees
Calculate withdrawal fees via the FeeModule contract.
Pause State
Check whether vault operations are paused before submitting transactions.
SDK-to-Direct Mapping Reference
| SDK Function | Direct Contract Equivalent |
|---|---|
initAmplifySDK() | No equivalent needed — configure RPC client and contract addresses directly |
getVaultsByConfig() | POST /graphql — AmplifySdkConfigs query with optional chainId/yieldType filters |
getSupportedAssets() | POST /graphql — vault.supportedAssets with depositable: true |
getWithdrawSupportedAssets() | POST /graphql — vault.supportedAssets with withdrawable: true |
getVaultAPY() | GET /v2/amplify/vaultApys |
getVaultTVL() | GET /v2/amplify/vaultTvls |
getWithdrawalRequests() | GET /v2/amplify/withdrawalRequests |
getMinimumMint() | On-chain: Accountant.getRateInQuoteSafe() + math (see Deposits) |
getMinimumWithdrawalOrderSize() | On-chain: WithdrawQueue.minimumOrderSize() (see Withdrawals) |
getWithdrawalFee() | On-chain: WithdrawQueue.feeModule() → FeeModule.calculateOfferFees() |
isDepositSpendApproved() | On-chain: ERC20.allowance(owner, depositor) |
isWithdrawalSpendApproved() | On-chain: BoringVault.allowance(owner, queue) |
prepareDeposit() | Encode DistributorCodeDepositor.deposit() or depositWithPermit() directly |
prepareWithdrawal() | Encode WithdrawQueue.submitOrder() directly |
prepareCancelWithdrawOrderTxData() | Encode WithdrawQueue.cancelOrder() directly |