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

# Amplify Earn Developers

> Integrate stablecoin yield into your application using the Amplify SDK or direct smart contract calls

Amplify Earn lets you integrate stablecoin yield into any application. Choose the integration path that fits your stack.

<Info>
  **Terminology update (v0.5.3):** What were previously called **"vaults"** in the documentation and UI are now referred to as **"accounts"**. This is a naming change only — there are no breaking changes to the SDK API, smart contracts, or integration code. Existing code identifiers like `getVaultsByConfig`, `AmplifyVault`, and `vaultName` remain unchanged.
</Info>

## Choose Your Integration Path

<CardGroup cols={3}>
  <Card title="Amplify SDK" icon="cube" href="/v0.5.3/intro/products/earn/developers/guides/index">
    **TypeScript / JavaScript** — The fastest way to integrate. The SDK handles
    ABI encoding, address resolution, token approvals, slippage, and error handling.
    Works with React (wagmi), Node.js (viem), and smart wallets (Privy, Alchemy).
  </Card>

  <Card title="Direct Contract Integration" icon="file-contract" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/index">
    **Any language** — Call the account smart contracts directly from Python, Go,
    Swift, Kotlin, Flutter, or any EVM-compatible library. Full control over
    transaction construction and signing.
  </Card>

  <Card title="API Calldata" icon="server" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/index">
    **Any language, no ABI encoding** — REST endpoints return ready-to-sign
    transaction calldata. No SDK or contract ABIs needed — just HTTP requests and
    a signer.
  </Card>
</CardGroup>

|                         | SDK                                           | Direct Contract                                | API Calldata                                      |
| ----------------------- | --------------------------------------------- | ---------------------------------------------- | ------------------------------------------------- |
| **Languages**           | TypeScript, JavaScript                        | Any (Python, Go, Swift, Kotlin, Flutter, etc.) | Any language with HTTP client                     |
| **Setup**               | `npm install @paxoslabs/amplify-sdk`          | RPC endpoint + contract addresses + ABI        | API key + HTTP client                             |
| **Address resolution**  | Automatic via `getVaultsByConfig()`           | REST API or manual configuration               | Automatic via `GET /v2/amplify/vaults`            |
| **Approval handling**   | Automatic via `prepareDepositAuthorization()` | Manual `approve()` calls                       | Automatic via `GET /v2/core/permit`               |
| **Slippage protection** | Built-in with configurable bps                | Manual `minimumMint` calculation               | Server-side with configurable bps                 |
| **Best for**            | Web apps, React, Node.js backends             | Mobile apps, non-JS backends, full control     | Server-side builders, custodial wallets, multisig |

***

## SDK Path

<CardGroup cols={3}>
  <Card title="Getting Started" icon="rocket" href="/v0.5.3/intro/products/earn/developers/getting-started/installation">
    Install the SDK and run your first deposit in under 10 minutes.
  </Card>

  <Card title="Guides" icon="book" href="/v0.5.3/intro/products/earn/developers/guides/index">
    Step-by-step tutorials for deposits, withdrawals, and smart wallets.
  </Card>

  <Card title="API Reference" icon="code" href="/v0.5.3/intro/products/earn/developers/api/index">
    Complete function reference with parameters, return types, and examples.
  </Card>
</CardGroup>

<Warning>
  **Upgrading from v0.4.2 or earlier?** All transaction and display helper
  functions now use `vaultName` instead of `yieldType`. See the
  [v0.5.0 Migration Guide](/v0.5.3/intro/products/earn/developers/changelog#migration-guide)
  for step-by-step instructions.
</Warning>

## Direct Contract Path

<CardGroup cols={2}>
  <Card title="Overview & Setup" icon="gear" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/index">
    Contract architecture, address resolution, supported languages, and prerequisites.
  </Card>

  <Card title="Deposits" icon="arrow-down-to-line" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/deposits">
    Standard and permit deposit flows with multi-language examples.
  </Card>

  <Card title="Withdrawals" icon="arrow-up-from-line" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/withdrawals">
    Submit withdrawal orders and monitor status.
  </Card>

  <Card title="Cancellations" icon="xmark" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/cancellations">
    Cancel pending withdrawal orders.
  </Card>

  <Card title="Account Queries" icon="chart-line" href="/v0.5.3/intro/products/earn/developers/guides/direct-contract/vault-queries/index">
    Read APY, TVL, fees, balances, and withdrawal history via REST API and on-chain.
  </Card>

  <Card title="Smart Contract Source" icon="github" href="https://github.com/paxoslabs/nucleus-boring-vault">
    View the Nucleus BoringVault contracts on GitHub.
  </Card>
</CardGroup>

## API Calldata Path

<CardGroup cols={3}>
  <Card title="Overview & Authentication" icon="key" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/index">
    API key setup, response formats, and when to use this path.
  </Card>

  <Card title="Account Discovery" icon="magnifying-glass" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/discovery">
    Find accounts and contract addresses via REST API.
  </Card>

  <Card title="Deposits" icon="arrow-down-to-line" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/deposits">
    Authorize and deposit via API-generated calldata.
  </Card>

  <Card title="Withdrawals" icon="arrow-up-from-line" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/withdrawals">
    Submit withdrawal orders via API-generated calldata.
  </Card>

  <Card title="Cancellations" icon="xmark" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/cancellations">
    Cancel pending withdrawal orders.
  </Card>

  <Card title="Display Helpers" icon="chart-line" href="/v0.5.3/intro/products/earn/developers/guides/api-calldata/display-helpers">
    Read deposit caps, supply, fees, and share values via API.
  </Card>
</CardGroup>

***

## What's New in v0.5.3

* **Supply cap awareness** — Deposit supply caps are now read and enforced on-chain. The new `getDepositCap()` helper lets you display remaining capacity. See [Display Helpers](/v0.5.3/intro/products/earn/developers/api/display/index).
* **Deposit fees** — New `calculateDepositFee()` helper returns variable, flat, and total fees with the net deposit amount. `AmplifyVault.depositFees` carries per-asset fee data from the indexer.
* **Withdraw fees** — `AmplifyVault.withdrawFees` now carries withdraw queue fee metadata. `getWithdrawalFee()` reads the on-chain FeeModule for real-time fee previews.

## v0.5.2 highlights

* **Base mainnet** — Built-in support for Base (`chainId` **8453**) in the SDK chain map for discovery, deposits, and withdrawals. See [Multi-Chain](/v0.5.3/intro/products/earn/developers/guides/multi-chain) and the [changelog](/v0.5.3/intro/products/earn/developers/changelog).

## v0.5.0 highlights

* **`vaultName` migration** — All transaction functions identify accounts by `vaultName` instead of `yieldType` — [migration guide](/v0.5.3/intro/products/earn/developers/changelog#migration-guide)
* **Account discovery** — `getVaultsByConfig()` for multi-filter account lookup by `yieldType`, `chainId`, asset addresses
* **Withdrawal assets** — `getWithdrawSupportedAssets()` for withdrawal assets grouped by token
* **Cache management** — `initializeCache()`, `getCache()`, `refreshVaultCache()`, `isCacheReady()`, `waitForCacheReady()`

## Quick Links

<CardGroup cols={2}>
  <Card title="Concepts" icon="lightbulb" href="/v0.5.3/intro/products/earn/developers/getting-started/concepts">
    Understand accounts, yield types, permits, and slippage controls.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/v0.5.3/intro/products/earn/developers/troubleshooting">
    Common issues, error codes, and debugging strategies.
  </Card>

  <Card title="Types Reference" icon="brackets-curly" href="/v0.5.3/intro/products/earn/developers/types/index">
    TypeScript types, enums, and discriminated unions.
  </Card>

  <Card title="Changelog" icon="clock-rotate-left" href="/v0.5.3/intro/products/earn/developers/changelog">
    Version history and migration guides.
  </Card>

  <Card title="SDK AI Reference" icon="robot" href="/v0.5.3/intro/products/earn/developers/ai-reference">
    Condensed SDK reference optimized for Cursor, Copilot, and Claude.
  </Card>

  <Card title="Contract AI Reference" icon="robot" href="/v0.5.3/intro/products/earn/developers/direct-contract-ai-reference">
    Condensed contract integration reference for AI coding assistants.
  </Card>
</CardGroup>
