- Providing competitive pricing for cross-chain bridging and swaps
- Supporting multiple blockchains with minimal technical overhead
- Delivering an industry-leading cross-chain user experience
Integration Overview
Integrating with LI.FI intent involves three main steps:- Implement resource locks – Use a simple escrow lock or an advanced resource lock such as The Compact.
- Connect to the order server – Collect quotes and broadcast user intents to our solver network.
- Validate fulfillment – Confirm that your intent executed successfully.
Choosing a Resource Lock
LI.FI Intents currently support two resource lock schemes:-
Simple Escrow: A standard intent flow that associates tokens with their respective intent.
Users must have approved eitherInputSettlerEscroworPermit2. -
The Compact: A long-lived deposit mechanism that allows users to manage multiple intents and interact with multiple protocols.
Users must have already deposited assets into The Compact, although it can also be used without an existing deposit.
InputSettlerEscrow).If you are building a resource-lock-based application, consider The Compact (
InputSettlerCompact) or contact us for assistance in supporting your own resource lock type.
Order Server
LI.FI Intents is an OIF-compatible intent system, built on top of the OIF infrastructure — including oracles, settlers, solvers, and order structures.To enhance reliability and integration performance, the order server functions as an off-chain indexer and tracker. This allows LI.FI Intents to provide:
- Higher reliability
- Consistent quotes
- Bespoke features for integrations and solvers
- Production: https://order.li.fi/docs
- Development: https://order-dev.li.fi/docs
Validate Fulfillment
After a swap is submitted, you need to track the order status. You can either monitor for events with the orderId as topic1 or use the order server’s status endpoint. Learn more about order tracking →Customize Swaps via LI.FI Intent
By default, LI.FI Intent supports calls on delivery.This allows you to schedule calldata execution after asset delivery, enabling complex cross-chain operations. The default output type,
OutputDescription, includes a call field for secondary calls — allowing for additional logic to be executed upon delivery.
Learn more about sub-calls →
