Skip to main content
The Amplify SDK wraps several API endpoints and on-chain reads behind convenient functions like 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 FunctionDirect Contract Equivalent
initAmplifySDK()No equivalent needed — configure RPC client and contract addresses directly
getVaultsByConfig()POST /graphqlAmplifySdkConfigs query with optional chainId/yieldType filters
getSupportedAssets()POST /graphqlvault.supportedAssets with depositable: true
getWithdrawSupportedAssets()POST /graphqlvault.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