Before wiring calldata into your product, align on how Amplify Earn models strategies, assets, and execution responsibilities. These concepts shape the SDK helpers referenced throughout the docs.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.
Vaults & Yield Types
- Vault – On-chain contract that issues ERC-20 shares representing a position in an underlying strategy.
- Yield Type – Logical grouping of vaults with similar mandates, exposed as the
YieldTypeenum (CORE,TREASURY,FRONTIER). - Want Asset – Token users receive when withdrawing from a vault; often different from the deposit token.
fetchSupportedAssets to discover active vault configurations, eligible assets, and chain IDs.
Shares vs. Assets
- Deposits mint shares to the recipient. Shares track ownership of the vault.
- Withdrawals burn shares and return the want asset using
prepareWithdrawal. - Helpers return base-unit values; you provide the human-readable amounts as decimal strings.
Allowances vs. Permits
- Unified API (Recommended): Use
prepareDepositAuthorization()to automatically detect the optimal method. It returns the appropriate flow based on token support and existing allowances. - Approval flow: Traditional ERC20 approval using
prepareApproveDepositTokenTxData()followed byprepareDepositTxData(). - Permit flow: When the token supports EIP-2612, sign typed data off-chain and use
prepareDepositWithPermitTxData()for gas-efficient single-transaction deposits.
Slippage Controls
- Slippage is expressed in basis points (bps). For example,
100means 1%. - Deposit helpers default to 50 bps (0.5%).
- WithdrawQueue-based withdrawals do not require slippage or deadline parameters.
- Helpers return minimum acceptable amounts in base units; you can override or disable slippage (not recommended for production).
Execution Responsibilities
- The SDK prepares calldata only; your app decides which signing stack executes it.
- Use viem, wagmi, Privy, or custody flows to send the transaction.
- Handle errors by catching
APIError, which includes anendpointproperty (e.g.,prepareDepositWithPermitTxData).
Withdrawals
- Use
prepareWithdrawalAuthorizationto determine whether approval is required. - Use
prepareWithdrawalto build the withdrawal order transaction. - For lower-level control, use
prepareWithdrawOrderTxDataandprepareApproveWithdrawOrderTxData.