Skip to main content
Settlement is the process of escrowing user funds (input settlement) and recording solver delivery (output settlement). This page covers both sides.

Input settlement

LI.FI Intents supports two single-chain input settlers: Multi-chain input settlers are in progress. The Compact supports fill-first flows through resource locks. The Escrow settler uses traditional flows where the escrow must be opened before fills.

StandardOrder

Single-chain input settlers use the following order structure:

MandateOutput

Finalization

To claim input funds after filling an order, call one of:
  1. finalise — the solver calls this and chooses where the input assets are sent and whether to make an external call. The Escrow and Compact finalise interfaces differ, to optimize for gas.
  2. finaliseWithSignature — anyone can call this if they hold an AllowOpen signature in which the solver authorized the payout destination and call details.

Compact Registration

A Compact intent is carried in the BatchCompact payload below and signed as part of a BatchClaim, using The Compact’s EIP-712 domain separator:
Alternatively, intents can be registered on-chain by the sponsor or by someone paying for the claim on their behalf.

Escrow Deposit Methods

Escrow intents can be deposited in several ways:
  1. Direct open by the owner through ERC-7683 function open(bytes). Emits event Open(bytes32 indexed orderId, bytes order).
  2. ERC-3009 with the orderId as nonce. A signature per input is required.
  3. Permit2 with an EIP-712 signed PermitBatchWitnessTransferFrom.

Integration Examples


Output settlement

Currently one output settler exists: OutputSettlerSimple.sol. It supports four order types: simple limit orders, Dutch auctions, exclusive limit orders, and exclusive Dutch auctions.

Configuring Auction Type

The context field in MandateOutput sets the auction type:
For Dutch auctions with multiple outputs, only the first output functions as an auction. The rest resolve to their worst price, because solvers only compete on the first output (winning it wins the entire order). For more details on auction mechanics, see Auctions.

Next Steps

System Overview

Full architecture and contract addresses

Oracle Systems

Verification and proof systems

Create and Submit Orders

Order construction for integrators

Solving LI.FI Intents

How solvers deliver outputs