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

prepareApproveWithdrawTxData

Prepare the approval transaction required before withdrawing.

prepareWithdrawTxData

Prepare transaction data to redeem vault shares for tokens.

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
prepareApproveWithdrawTxDataPrepare withdrawal approval transaction
prepareWithdrawTxDataPrepare withdrawal execution transaction

Type Guards

The SDK exports type guards for handling discriminated union results:
import {
  isPermitAuth,
  isApprovalAuth,
  isAlreadyApprovedAuth,
} 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
}
See DepositAuthMethod for full type documentation.