Skip to main content
Copy-paste recipes for depositing into supported vault protocols via Composer.
All recipes use the GET /quote endpoint. The same toToken addresses work with POST /advanced/routes and the LI.FI SDK. See API Integration or SDK Integration for full integration guides.

Morpho Vaults (V1 and V2)

Morpho is a lending protocol with optimised vault strategies. Composer supports both V1 and V2 vaults.

Same-Chain: USDC → Morpho Vault on Base

This is the example from the original Composer documentation: deposit 1 USDC into a Morpho vault on Base.
curl -X GET 'https://li.quest/v1/quote?\
fromChain=8453&\
toChain=8453&\
fromToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&\
toToken=0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=1000000'
ParameterValueNotes
fromChain8453Base
toChain8453Base (same-chain)
fromToken0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913USDC on Base
toToken0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34AMorpho vault token on Base
fromAmount10000001 USDC (6 decimals)

Cross-Chain: ETH on Ethereum → Morpho Vault on Base

Cross-chain Composer: deposit into a Morpho vault on Base using ETH from Ethereum, all in a single user flow. The routing engine determines the optimal path (bridge, swap, deposit) automatically.
curl -X GET 'https://li.quest/v1/quote?\
fromChain=1&\
toChain=8453&\
fromToken=0x0000000000000000000000000000000000000000&\
toToken=0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=100000000000000000'
Cross-chain Composer flows require status polling via GET /status. See Cross-Chain Composer Patterns for the full execution flow.

Euler Vaults

Euler is a lending protocol. Composer supports deposit and withdraw actions.

Same-Chain: Deposit into Euler Vault

curl -X GET 'https://li.quest/v1/quote?\
fromChain=CHAIN_ID&\
toChain=CHAIN_ID&\
fromToken=SOURCE_TOKEN_ADDRESS&\
toToken=EULER_VAULT_TOKEN_ADDRESS&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=AMOUNT_IN_SMALLEST_UNIT'
Replace EULER_VAULT_TOKEN_ADDRESS with the specific Euler vault token address for your target vault. You can find vault token addresses on the Euler app.

Felix Vanilla Vaults

Felix Vanilla vaults are supported for deposit and withdraw.

Same-Chain: Deposit into Felix Vanilla Vault

curl -X GET 'https://li.quest/v1/quote?\
fromChain=CHAIN_ID&\
toChain=CHAIN_ID&\
fromToken=SOURCE_TOKEN_ADDRESS&\
toToken=FELIX_VAULT_TOKEN_ADDRESS&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=AMOUNT_IN_SMALLEST_UNIT'

Neverland Vaults

Neverland vaults are supported for deposit and withdraw.

Same-Chain: Deposit into Neverland Vault

curl -X GET 'https://li.quest/v1/quote?\
fromChain=CHAIN_ID&\
toChain=CHAIN_ID&\
fromToken=SOURCE_TOKEN_ADDRESS&\
toToken=NEVERLAND_VAULT_TOKEN_ADDRESS&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=AMOUNT_IN_SMALLEST_UNIT'

Pendle Yield Tokens

Pendle enables yield tokenisation. Composer supports deposit and withdraw.

Same-Chain: Deposit into Pendle

curl -X GET 'https://li.quest/v1/quote?\
fromChain=CHAIN_ID&\
toChain=CHAIN_ID&\
fromToken=SOURCE_TOKEN_ADDRESS&\
toToken=PENDLE_TOKEN_ADDRESS&\
fromAddress=0xYOUR_WALLET_ADDRESS&\
toAddress=0xYOUR_WALLET_ADDRESS&\
fromAmount=AMOUNT_IN_SMALLEST_UNIT'

Deposit-Only Protocols

The following protocols support deposit only (no withdraw via Composer): For these protocols, use the same GET /quote pattern with the protocol’s vault/staking token as toToken.

General Pattern

Every vault deposit recipe follows the same pattern:
GET /quote
  fromChain  = source chain ID
  toChain    = destination chain ID (same or different)
  fromToken  = token you're starting with
  toToken    = VAULT TOKEN ADDRESS (this triggers Composer)
  fromAmount = amount in smallest unit
  fromAddress = your wallet
  toAddress   = your wallet (receives vault tokens)
The only Composer-specific detail is that toToken must be a vault token address from a supported protocol. Everything else is identical to a standard LI.FI swap or bridge request.

Next Steps