Skip to main content
LI.FI Composer enables users to deposit into your protocol from any token on any EVM chain in a single transaction. This page covers why you should integrate, the technical requirements, and how the process works.

Why Integrate with Composer

Reach users on every chain

Without Composer, users must navigate to your protocol’s UI and sign multiple transactions. With Composer, users can deposit into your protocol in one click, directly from wallets, dApps, and aggregators that integrate LI.FI — including from any other EVM chain.

Distribution through the LI.FI ecosystem

LI.FI is integrated into hundreds of wallets, dApps, and DeFi platforms. When your protocol is available via Composer, it becomes accessible through:
  • LI.FI API — used by integrators building custom DeFi experiences
  • LI.FI SDK — TypeScript SDK for frontend and backend applications
  • LI.FI Widget — embeddable UI component used by wallets and dApps

Better UX for your users

Composer transforms multi-step, multi-chain operations into a single transaction:
Without ComposerWith Composer
Bridge assets to the right chainOne transaction
Swap to the required tokenOne signature
Approve the tokenOne click
Deposit into the protocolAtomic execution

Pre-execution simulation

Every Composer transaction is simulated before execution, giving users certainty about the outcome before they sign. This reduces failed transactions and improves trust in your protocol.

Technical Requirements

Your protocol must meet these requirements to be integrated.

1. EVM compatibility

Your protocol must be deployed on an EVM-compatible chain. Composer’s onchain VM executes compiled bytecode on EVM chains. Non-EVM chains (Solana, SUI, etc.) are not currently supported.

2. Tokenised position return

Upon deposit, your protocol must return a token to the user’s wallet. Composer routes are identified by the toToken parameter, which must be a valid ERC-20 token representing the user’s position. Supported token types:
Token typeExampleProtocol example
ERC-4626 vault sharesVault share tokensMorpho, Euler
aTokensInterest-bearing receipt tokensAave V3
Liquid staking tokensLSTs representing staked positionsLido wstETH, EtherFi
Yield tokensTokens representing yield positionsPendle, Ethena sUSDe
Custom receipt tokensProtocol-specific deposit receiptsFelix Vanilla, Neverland
Protocols that do not return a token upon deposit are not currently supported.

3. Standard deposit interface

Your deposit function should accept standard parameters that Composer’s eDSL compiler can encode. Common patterns include:
  • ERC-4626 deposit(uint256 assets, address receiver) — standard vault interface
  • Aave-style supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) — lending pool interface
  • Staking stake(uint256 amount) or wrap(uint256 amount) — staking/wrapping interface
Composer passes values between steps at runtime: the VM encodes each call’s calldata as it executes, so the exact deposit amount is determined from the output of preceding swap/bridge steps rather than pre-computed off-chain. Your deposit function must accept a standard amount parameter. The LI.FI team will work with you to confirm compatibility.

Deposit vs. withdraw support

Composer supports two action types per protocol:
ActionDescriptionRequired?
DepositUser sends tokens, receives position tokensYes (minimum)
WithdrawUser sends position tokens, receives underlying tokensOptional
Some protocols are integrated with deposit only (e.g., Kinetiq, Ethena, Maple). This is acceptable, and withdraw support can be added later.

Currently Integrated Protocols

Dozens of protocols are already integrated with Composer, spanning lending, liquid staking, yield, and vault strategies.

Supported Protocols

View the full list of integrated protocols, supported actions, and example token addresses.

After Integration

Once live, your protocol is accessible via:
# Users can deposit from any token on any EVM chain
curl -X GET 'https://li.quest/v1/quote?fromChain=SOURCE_CHAIN_ID&toChain=YOUR_PROTOCOL_CHAIN_ID&fromToken=ANY_TOKEN_ADDRESS&toToken=YOUR_VAULT_TOKEN_ADDRESS&fromAddress=0xUSER_WALLET&toAddress=0xUSER_WALLET&fromAmount=AMOUNT'
Your protocol is automatically available to:
  • All LI.FI API integrators — your vault/staking tokens appear as valid toToken destinations
  • All LI.FI Widget deployments — users can select your protocol’s tokens as destinations
  • All LI.FI SDK users — developers can build custom flows targeting your protocol
LI.FI handles routing, bridging, swapping, and deposit execution. No additional work is required from your side after integration.

Getting Integrated

Integrations are handled by the LI.FI team, who can collaborate with you directly on the integration.

Apply for Composer Integration

Fill out the protocol integration form to start the process.
You can also reach out directly:

Next Steps

Composer Overview

Learn how Composer works

Supported Protocols

Currently integrated protocols

Limitations

Current constraints and supported chains

How It Works

Architecture deep-dive