πŸš€Deposit

Get the list of your vaults

Vaults

List vaults available to your account with live APY and on-chain state.

List Vaults

GET /defi-vaults/v1/vaults

Headers

Header
Required
Description

X-JOIN-KEY

Yes

Your API key

Response

{
  "success": true,
  "data": [
    {
      "poolId": "7e0661bf-8cf3-45e6-9424-31916d4c7b84",
      "chainId": 8453,
      "name": "Aave",
      "logo_url": "https://assets.coingecko.com/coins/images/14318/standard/aUSDC.e260d492.png",
      "riskProfile": "conservative",
      "riskProtocol": "low",
      "poolAddress": "0xa238dd80c259a72e81d7e4664a9801593f98d1c5",
      "depositTokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "yieldTokenAddress": "0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB",
      "type": "variable",
      "MaxCap": false,
      "description": "Aave is a decentralized non-custodial liquidity protocol...",
      "APY": "3.77"
    },
    {
      "poolId": "super-demo-vault-eth",
      "chainId": 1,
      "name": "Demo Vault USD",
      "logo_url": "",
      "riskProfile": "balanced",
      "riskProtocol": "low",
      "poolAddress": "0xef368456a942f098241de16f8a695160ef23eb27",
      "depositTokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "yieldTokenAddress": "0xef368456a942f098241de16f8a695160ef23eb27",
      "type": "variable",
      "MaxCap": false,
      "protocol": "XYZ",
      "curatorAddress": "0x0a3C8B30c7a4Af5E91260D941fFF445eF1F5D196",
      "valuationManager": "0x1D693a4425bf7eD10FE7775E2b65b072019FFhub",
      "description": "XYZ vault for USD deposits with curator-managed yield strategies",
      "APY": "12.50",
      "vaultState": {
        "symbol": "DVU",
        "decimals": 18,
        "asset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "assetSymbol": "USDC",
        "assetDecimals": 6,
        "totalAssets": "1800000",
        "totalSupply": "0",
        "sharePrice": "0",
        "owner": "0x1D693a4425bf7eD10FE7775E2b65b072019FFgub",
        "safe": "0x0a3C8B30c7a4Af5E91260D941fFF445eF1F5D196",
        "valuationManager": "0x1D693a4425bf7eD10FE7775E2b65b072019FFgub",
        "feeReceiver": "0x1D693a4425bf7eD10FE7775E2b65b072019FFgub",
        "paused": false,
        "pendingSilo": "0xBfc86B0F75029d0EFE671ed59996bf6c7945d159",
        "pendingDeposits": "0",
        "pendingRedeems": "0",
        "isTotalAssetsValid": false,
        "newTotalAssets": "115792089237316195423570985008687907853269984665640564039457584007913129639935",
        "depositEpochId": 23,
        "redeemEpochId": 12
      }
    }
  ]
}

Response Fields

Field
Type
Description

poolId

string

Internal vault identifier

chainId

number

Chain where the vault is deployed

name

string

Vault display name

logo_url

string

Vault logo URL

riskProfile

string

Risk classification

riskProtocol

string

Protocol-level risk rating

poolAddress

string

Vault contract address

depositTokenAddress

string

Deposit token address

yieldTokenAddress

string

Yield/share token address

type

string

Vault type

MaxCap

boolean

Whether the vault has a max cap

protocol

string

Protocol identifier

curatorAddress

string

Curator Safe address (async vaults)

valuationManager

string

Valuation manager address (async vaults)

description

string

Vault description

APY

string

Current annualized yield (%)

vaultState

object

On-chain vault state (async vaults only, see below)

vaultState Fields

Present on async vaults. Live data fetched from the chain.

Field
Type
Description

symbol

string

Vault share token symbol

decimals

number

Vault share token decimals

asset

string

Underlying asset address

assetSymbol

string

Underlying asset symbol

assetDecimals

number

Underlying asset decimals

totalAssets

string

Total assets under management (smallest unit)

totalSupply

string

Total vault shares outstanding

sharePrice

string

Price of 1 share in asset units

owner

string

Vault owner address

safe

string

Curator Safe address

valuationManager

string

Valuation manager address

feeReceiver

string

Fee receiver address

paused

boolean

Whether the vault is paused

pendingSilo

string

Pending silo contract address

pendingDeposits

string

Deposits waiting for settlement (smallest unit)

pendingRedeems

string

Shares waiting for redeem settlement

isTotalAssetsValid

boolean

Whether current total assets is validated

newTotalAssets

string

Proposed new total assets (max uint256 if none pending)

depositEpochId

number

Current deposit epoch

redeemEpochId

number

Current redeem epoch

Errors

Status
Error
Description

401

Missing API key

No API key provided

401

Invalid API key

API key not recognized

404

No vaults configured

Client has no vaults

Deposits

Generate calldata for depositing into vaults. Supports same-chain and cross-chain deposits.

Generate Deposit Calldata

Headers

Header
Required
Description

X-JOIN-KEY

Yes

Your API key

Content-Type

Yes

application/json

Request Body

Field
Type
Required
Description

vaultAddress

string

Yes

Vault contract address

amount

string

Yes

Amount in smallest unit (e.g. "1000000" = 1 USDC)

userAddress

string

Yes

Depositor wallet address

srcChainId

number

No

Source chain ID for cross-chain deposits

srcToken

string

No

Source token address (required if srcChainId provided)

Same-Chain Deposit

When depositing from the same chain as the vault, omit srcChainId and srcToken:

Cross-Chain Deposit

To deposit from a different chain, include srcChainId and srcToken:

Response

Response Fields

Field
Type
Description

approval

Transaction[]

ERC-20 approval transactions β€” execute these first

operations

Transaction[]

Deposit transactions β€” execute after approvals

protocol

string

Protocol identifier

chainId

number

Destination chain ID

estimatedGas

string

Estimated gas for all transactions

isCrossChain

boolean

Whether this is a cross-chain deposit

isAsync

boolean

true when deposits require settlement before shares are available

Transaction Object

Field
Type
Description

to

string

Contract address to call

data

string

Encoded calldata

value

string

ETH value to send

Execution Order

  1. Send all approval transactions and wait for confirmation

  2. Send all operations transactions in order

For cross-chain deposits, operations contains a single transaction to the bridge contract on the source chain. Tokens are bridged and deposited automatically on the destination chain. If the deposit action fails on the destination chain, tokens are sent to the user's address as a fallback.

Errors

Status
Error
Description

400

Missing or invalid vaultAddress

Vault address not provided or invalid

400

Missing or invalid amount

Amount not provided or not positive

400

Missing or invalid userAddress

User address not provided or invalid

400

Unsupported source chain

srcChainId not supported

400

Amount too low for bridge

Cross-chain amount below minimum

404

Vault not found

Vault not in your configuration

Amount Format

Amounts are specified in the token's smallest unit:

Token
Decimals
1 Token
100 Tokens

USDC

6

"1000000"

"100000000"

Cross-Chain Considerations

  • Bridge fees apply β€” a small fee is deducted from the deposit amount

  • Minimum amount β€” usually ~$1 minimum for cross-chain

  • Fill time β€” typically 2-15 seconds

  • Fallback β€” if the destination action fails, tokens are sent to the user on the destination chain

Use the Transaction Status endpoint to track cross-chain deposits.


Claim Deposit

After settlement, claim your vault shares. The API auto-reads the claimable amount from the chain.

Headers

Header
Required
Description

X-JOIN-KEY

Yes

Your API key

Content-Type

Yes

application/json

Request Body

Field
Type
Required
Description

vaultAddress

string

Yes

Vault contract address

userAddress

string

Yes

User wallet address

Request Example

Response

Errors

Status
Error
Description

400

No claimable deposit found for this user

Nothing to claim β€” deposit not yet settled

400

Claim deposit is only applicable to async vaults

Vault does not support claim

400

Missing or invalid userAddress

User address not provided or invalid

404

Vault not found

Vault not in your configuration

Last updated