> ## 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.

# Account Queries & Monitoring

> Discover accounts, read APY/TVL, check balances and fees, and monitor withdrawal status — using REST API calls and on-chain reads

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.

<Info>
  All API endpoints require an API key passed via the `x-api-key` header.
  Contact [Paxos Labs](mailto:support@paxoslabs.com) to get one. The GraphQL
  endpoint (`POST /graphql`) returns account contract addresses needed for
  integration. See [Account Discovery](/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-discovery)
  for the full query.
</Info>

<CardGroup cols={2}>
  <Card title="Account Discovery" icon="magnifying-glass" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-discovery">
    Discover accounts, contract addresses, and supported assets via the GraphQL API.
  </Card>

  <Card title="Account APY" icon="chart-line" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-apy">
    Fetch the latest annual percentage yield for an account.
  </Card>

  <Card title="Account TVL" icon="coins" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-tvl">
    Fetch total value locked for an account.
  </Card>

  <Card title="Withdrawal Requests" icon="clock-rotate-left" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/withdrawal-requests">
    Query withdrawal order history and status for a user.
  </Card>

  <Card title="Token Balances" icon="wallet" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/token-balances">
    Read ERC-20 balances directly from the blockchain.
  </Card>

  <Card title="Allowances" icon="shield-check" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/allowances">
    Check ERC-20 approval allowances for deposits and withdrawals.
  </Card>

  <Card title="Exchange Rate" icon="arrows-rotate" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/exchange-rate">
    Read the share-to-asset exchange rate from the Accountant contract.
  </Card>

  <Card title="Withdrawal Fees" icon="receipt" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/withdrawal-fees">
    Calculate withdrawal fees via the FeeModule contract.
  </Card>

  <Card title="Pause State" icon="circle-pause" href="/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/pause-state">
    Check whether account operations are paused before submitting transactions.
  </Card>
</CardGroup>

***

## SDK-to-Direct Mapping Reference

| SDK Function                                                                                                          | Direct Contract Equivalent                                                                                                                                                              |
| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `initAmplifySDK()`                                                                                                    | No equivalent needed — configure RPC client and contract addresses directly                                                                                                             |
| [`getVaultsByConfig()`](/v0.5.2/intro/products/earn/developers/api/getVaultsByConfig)                                 | [`POST /graphql`](/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-discovery) — `AmplifySdkConfigs` query with optional `chainId`/`yieldType` filters  |
| [`getSupportedAssets()`](/v0.5.2/intro/products/earn/developers/api/getSupportedAssets)                               | [`POST /graphql`](/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-discovery) — `vault.supportedAssets` with `depositable: true`                       |
| `getWithdrawSupportedAssets()`                                                                                        | [`POST /graphql`](/v0.5.2/intro/products/earn/developers/guides/direct-contract/vault-queries/vault-discovery) — `vault.supportedAssets` with `withdrawable: true`                      |
| [`getVaultAPY()`](/v0.5.2/intro/products/earn/developers/api/display/getVaultAPY)                                     | [`GET /v2/amplify/vaultApys`](/v0.5.2/api-reference/introduction)                                                                                                                       |
| [`getVaultTVL()`](/v0.5.2/intro/products/earn/developers/api/display/getVaultTVL)                                     | [`GET /v2/amplify/vaultTvls`](/v0.5.2/api-reference/introduction)                                                                                                                       |
| [`getWithdrawalRequests()`](/v0.5.2/intro/products/earn/developers/api/display/getWithdrawalRequests)                 | [`GET /v2/amplify/withdrawalRequests`](/v0.5.2/api-reference/introduction)                                                                                                              |
| [`getMinimumMint()`](/v0.5.2/intro/products/earn/developers/api/display/getMinimumMint)                               | On-chain: `Accountant.getRateInQuoteSafe()` + math (see [Deposits](/v0.5.2/intro/products/earn/developers/guides/direct-contract/deposits#calculating-minimummint-slippage-protection)) |
| [`getMinimumWithdrawalOrderSize()`](/v0.5.2/intro/products/earn/developers/api/display/getMinimumWithdrawalOrderSize) | On-chain: `WithdrawQueue.minimumOrderSize()` (see [Withdrawals](/v0.5.2/intro/products/earn/developers/guides/direct-contract/withdrawals#minimum-order-size))                          |
| [`getWithdrawalFee()`](/v0.5.2/intro/products/earn/developers/api/display/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                                                                                                                                           |
