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 account contract addresses needed for integration. See Account Discovery for the full query.

Account Discovery

Discover accounts, contract addresses, and supported assets via the GraphQL API.

Account APY

Fetch the latest annual percentage yield for an account.

Account TVL

Fetch total value locked for an account.

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 account 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