The Compact flow uses The Compact resource lock for off-chain, gasless order submission. Users deposit tokens once and can issue multiple intents from that balance without paying gas per order.Documentation Index
Fetch the complete documentation index at: https://docs.li.fi/llms.txt
Use this file to discover all available pages before exploring further.
If you’re adding LI.FI Intents alongside other bridges, the standard escrow flow is simpler and recommended. Use the Compact flow when you need gasless submissions or are building a resource-lock-native application.
How It Differs from Escrow
| Escrow | Compact | |
|---|---|---|
| Token locking | Per-intent, on-chain each time | Deposit once, reuse balance |
| Order submission | On-chain (open/openFor) | Off-chain (POST /orders/submit) |
| Gas per intent | User pays gas to lock | Gasless after initial deposit |
| Settlement | finalise (no signature needed) | finaliseWithSignature (signatures required) |
| Order type | N/A (detected on-chain) | CatalystCompactOrder |
Contract Addresses
These are the same across all supported chains:| Contract | Address |
|---|---|
| InputSettlerCompact | 0x0000000000cd5f7fDEc90a03a31F79E5Fbc6A9Cf |
| The Compact | 0x00000000000000171ede64904551eeDF3C6C9788 |
| Polymer Oracle (mainnet) | 0x0000003E06000007A224AeE90052fA6bb46d43C9 |
| Output Settler | 0x0000000000eC36B683C2E6AC89e9A75989C22a2e |
Flow
Deposit into The Compact
Deposit tokens into The Compact resource lock. This is a one-time on-chain transaction. Subsequent intents draw from this balance without additional gas.See the lintent.org demo for a UI example of depositing and registering intents.
Request a quote
Same as the escrow flow. Call
POST /quote/request. Include "oif-resource-lock-v0" in supportedTypes to indicate Compact support.Sign the claim
Compact orders are authorized via EIP-712 signatures rather than on-chain transactions. Sign a For a complete signing example, see the lintent.org demo.
BatchClaim using The Compact’s domain separator.TypeScript
Submit the order off-chain
Submit the signed order to The response includes a
POST /orders/submit. Include the quoteId for preferential solver matching.meta object with orderIdentifier and onChainOrderId for tracking.Integration Examples
- Signing a BatchCompact claim (UI example)
- Depositing and registering intents (UI example)
- RegisterIntentLib.sol (smart contract example)
Next Steps
Input Settlement
Compact claim structure, registration, and Permit2 details
Resource Locks
How resource locks, sponsors, allocators, and arbiters work
Create and Submit Orders
Full order construction reference and validation rules
Track Order Status
Monitor orders via the API or on-chain events

