Skip to main content
The Amplify SDK wraps several REST API endpoints and on-chain reads behind convenient functions like getVaultAPY() and getWithdrawalRequests(). When integrating directly, you call these yourself. This page covers every read-only operation the SDK provides, with the raw API calls and contract reads you need.
All REST API endpoints require an API key passed via the x-api-key header. Contact Paxos Labs to get one. See the API Reference for full endpoint documentation including pagination, filtering, and response schemas.

Account Discovery

The SDK’s getVaultsByConfig() and getSupportedAssets() are powered by a GraphQL API. For direct integrations, use the REST endpoint GET /v2/amplify/vaultAssets instead.

List All Accounts

Response shape:
The tokenMetadata map is keyed by chainId:address and provides symbol, name, and decimals for each token — so you don’t need separate on-chain calls to resolve token info.

Withdraw-Eligible Assets

To find which assets support withdrawals for a specific account, filter the vaultAssets endpoint by withdrawable=true:

Account APY

Equivalent to SDK’s client.amplify.vaults.getApys() — see SDK AI Reference. Uses GET /v2/amplify/vaultApys. Each APY point annualizes the vault’s exchange-rate change over [t - lookback, t]. interval (1d/1w/1m/1y, default 1d) sets the spacing between points; lookback (1d/7d/14d/30d, default 7d) sets each point’s window. If a lookback window reaches back past a vault’s first rate update, the window clamps to that first update and the APY annualizes over the vault’s actual life. apy is a percent string ("5.2300" = 5.23%).
The apy field is already a percentage (e.g., 5.2300 = 5.23%). Do not multiply by 100.
Vaults deployed on more than one chain report a single chain’s APY: Ethereum if the vault is deployed there, otherwise the lowest-numbered mainnet (or the lowest-numbered chain if every deployment is a testnet). chainId on each point tells you which chain was used.

Account TVL

Equivalent to SDK’s client.amplify.vaults.getTvls() — see SDK AI Reference. Uses GET /v2/amplify/vaultTvls.

Withdrawal Request History

Equivalent to SDK’s client.amplify.withdraw.listRequests() — see SDK AI Reference. Uses GET /v2/amplify/withdrawalRequests.

Status Values


Token Balances

Read ERC-20 token balances directly from the blockchain.

Allowance Checking

The SDK’s client.core.authorization.detect(...) returns 'permit' | 'approval' | 'already_approved'. The ERC20.allowance(owner, spender) check shown below only differentiates between 'already_approved' (allowance ≥ amount) and 'approval' (allowance < amount). The 'permit' branch is returned by the SDK only after additional on-chain permit metadata reads succeed (nonces, DOMAIN_SEPARATOR, name, version). Direct-contract callers who only need the approval path can use allowance alone; implementing full permit detection requires the additional reads.

Exchange Rate

The Accountant contract tracks the exchange rate between account shares and the underlying asset. You must pass the quote asset address (e.g., USDC) to get the rate denominated in that asset.

Withdrawal Fees

Equivalent to SDK’s client.amplify.withdraw.calculateFee() — see SDK AI Reference. Reads from the WithdrawQueue’s FeeModule on-chain.

Pause State

Before submitting transactions, check whether the account is paused.
If the Teller is paused, deposit and withdrawal transactions will revert. Check pause state before submitting transactions in production.

SDK-to-Direct Mapping Reference


Next Steps