Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.paxoslabs.com/llms.txt

Use this file to discover all available pages before exploring further.

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

v1.0.0 SDK callDirect contract / API equivalent
new AmplifyClient({ apiKey })No equivalent needed — configure your HTTP client and contract addresses directly
client.vaults.list({ filter? })Amplify GraphQL API — see vault-discovery
client.vaults.listAssets({ filter? })GET /v2/amplify/vaultAssets — filter by depositable: true or withdrawable: true
client.vaults.getApys({ filter? })GET /v2/amplify/vaultApys
client.vaults.getTvls({ filter? })GET /v2/amplify/vaultTvls
client.vaults.getSupplyCaps({ filter? })On-chain: DistributorCodeDepositor.supplyCapInBase() per asset
client.withdraw.listRequests({ filter? })GET /v2/amplify/withdrawalRequests
client.withdraw.calculateFee({...})On-chain: WithdrawQueue.feeModule()FeeModule.calculateOfferFees()
client.users.getPositions({...})On-chain: BoringVault.balanceOf(user) + Accountant.getRateInQuoteSafe(quote)
client.permit.authorize({...})On-chain: ERC20.allowance(owner, spender) — branch on the result
client.deposit.prepareDeposit({...})Encode DistributorCodeDepositor.deposit() or depositWithPermit() directly
client.withdraw.prepareWithdrawal({...})Encode WithdrawQueue.submitOrder() directly
client.withdraw.cancel({...})Encode WithdrawQueue.cancelOrder() directly