Skip to main content
Fetches the most recent APY data for a vault from the backend API.

Import

import { getVaultAPY } from '@paxoslabs/amplify-sdk'

Usage

const result = await getVaultAPY({
  vaultAddress: '0x1234...5678',
})

console.log(result.apy) // 4.5
console.log(result.apyFormatted) // "4.50%"

Parameters

ParameterTypeRequiredDescription
vaultAddressAddressNoVault contract address (required if vaultName omitted)
vaultNamestringNoVault name — resolved to address via cache
chainIdnumberNoBlockchain network ID (optional filter)
Provide either vaultAddress or vaultName. When vaultName is provided, the SDK resolves the address from cache.
interface GetVaultAPYParams {
  vaultAddress?: Address
  vaultName?: string
  chainId?: number
}

Return Type

interface VaultAPYResult {
  /** APY as a number (e.g., 4.5) */
  apy: number
  /** Formatted APY string (e.g., "4.50%") */
  apyFormatted: string
  /** Vault address */
  vaultAddress: Address
  /** Timestamp of the data point */
  timestamp: string
}

Example: APY Display Component

import { useQuery } from '@tanstack/react-query'
import { getVaultAPY } from '@paxoslabs/amplify-sdk'

function VaultAPYDisplay({ vaultAddress }: { vaultAddress: `0x${string}` }) {
  const { data, isLoading } = useQuery({
    queryKey: ['vaultAPY', vaultAddress],
    queryFn: () => getVaultAPY({ vaultAddress }),
  })

  if (isLoading) return <span>Loading...</span>

  return <span>{data?.apyFormatted ?? 'N/A'}</span>
}

Error Handling

Error Message PatternDescriptionResolution
"SDK not initialized"SDK not initializedCall initAmplifySDK() first
"No APY data found"No data for vaultVerify vault address
"Failed to fetch vault APY"Network or API errorCheck connection and retry