Core Requirements
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 thetoToken parameter, which must be a valid ERC-20 token that represents the user’s position.
Supported token types:
| Token Type | Example | Protocol Example |
|---|---|---|
| ERC-4626 vault shares | Vault share tokens | Morpho, Euler |
| aTokens | Interest-bearing receipt tokens | Aave V3 |
| Liquid staking tokens | LSTs representing staked positions | Lido wstETH, EtherFi |
| Yield tokens | Tokens representing yield positions | Pendle, Ethena sUSDe |
| Custom receipt tokens | Protocol-specific deposit receipts | Felix Vanilla, Neverland |
3. Standard Deposit Function
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)orwrap(uint256 amount)— Staking/wrapping interface
Deposit vs. Withdraw Support
Composer supports two action types per protocol:| Action | Description | Required? |
|---|---|---|
| Deposit | User sends tokens, receives position tokens | Yes (minimum) |
| Withdraw | User sends position tokens, receives underlying tokens | Optional |
After Integration
Once live, your protocol is accessible via:Contact
To start the integration process or ask questions, reach out to the LI.FI team:- Discord: discord.gg/lifi
- Email: support@li.fi
- Website: li.fi

