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

Initialization

Deposits

Withdrawals

Display Helpers

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.