Skip to main content
The Amplify SDK provides functions for initializing the SDK, fetching data, and preparing transactions for deposits and withdrawals.

Initialization

initAmplifySDK

Initialize the SDK with your API key before using any other functions.

fetchSupportedAssets

Fetch supported tokens and vault configurations for a yield type.

Deposits

Deposit Workflow

The unified deposit API with prepareDepositAuthorization and prepareDeposit.

prepareDepositTxData

Prepare transaction data for a standard deposit after approval.

prepareDepositWithPermitTxData

Prepare transaction data for a permit-based deposit (single transaction).

Withdrawals

prepareWithdrawalAuthorization

Check approval requirements and prepare withdrawal authorization.

prepareWithdrawal

Prepare transaction data through the unified withdrawal wrapper.

prepareWithdrawOrderTxData

Build low-level WithdrawQueue order transaction data.

prepareApproveWithdrawOrderTxData

Build low-level approval transaction data for vault shares.

Display Helpers

Display Helpers

UI helper functions for showing vault APY, TVL, fees, share calculations, and withdrawal history.

Function Quick Reference

FunctionDescription
initAmplifySDKInitialize SDK with API key and options
fetchSupportedAssetsGet supported tokens for a yield type
prepareDepositAuthorizationDetermine optimal authorization method
prepareDepositPrepare deposit with auto-detected method
prepareDepositTxDataPrepare standard deposit transaction
prepareDepositWithPermitTxDataPrepare permit-based deposit transaction
prepareWithdrawalAuthorizationDetermine if withdrawal approval is required
prepareWithdrawalPrepare withdrawal execution transaction
prepareWithdrawOrderTxDataPrepare low-level WithdrawQueue submission
prepareApproveWithdrawOrderTxDataPrepare low-level withdraw approval transaction
findVaultByConfigDiscover vault address by asset, yield type, and chain
getMinimumMintCalculate expected vault shares for a deposit
getVaultAPYFetch latest vault APY
getVaultTVLFetch vault total value locked
getWithdrawalFeeCalculate withdrawal fees
getWithdrawalRequestsFetch user’s withdrawal requests
getMinimumWithdrawalOrderSizeGet minimum withdrawal order size

Type Guards

The SDK exports type guards for handling discriminated union results:
import {
  prepareWithdrawalAuthorization,
  isPermitAuth,
  isApprovalAuth,
  isAlreadyApprovedAuth,
  isWithdrawApprovalAuth,
  isWithdrawAlreadyApprovedAuth,
} from "@paxoslabs/amplify-sdk";

const auth = await prepareDepositAuthorization(params);

if (isPermitAuth(auth)) {
  // auth.permitData is available
} else if (isApprovalAuth(auth)) {
  // auth.txData is available
} else if (isAlreadyApprovedAuth(auth)) {
  // auth.allowance is available
}

const withdrawAuth = await prepareWithdrawalAuthorization({
  // ...
});
if (isWithdrawApprovalAuth(withdrawAuth)) {
  // withdrawAuth.txData is available
} else if (isWithdrawAlreadyApprovedAuth(withdrawAuth)) {
  // withdrawAuth.allowance is available
}
See DepositAuthMethod for full type documentation.