To finalize an intent and claim the locked input funds, the solver must deliver all outputs described in the order. This page covers both EVM and Bitcoin filling.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.
EVM Orders
Submit the intent outputs to the Output Settler specified inoutput.settler by calling fillOrderOutputs.
- Approvals are not set
- Caller balances are not sufficient
fillDeadlinehas expired- The first output in
outputshas already been filled - Any external call in
outputsreverts - The order context cannot be decoded
- The destination chain is wrong
- The Output Settler contract is wrong
An
orderId mismatch will not cause a revert.Bitcoin Orders
BTC support on LI.FI Intents is currently not live and still in development. If you are interested in filling BTC orders, reach out and we will assist you with onboarding.
orderDto.order.outputs[].token.
- The first 30 bytes should be
0x000000000000000000000000BC0000000000000000000000000000000000(the 13th byte is0xBC) - The 31st byte indicates the number of confirmations required before on-chain verification (
0x00and0x01both mean 1 confirmation,0x02means 2, etc.) - The 32nd byte is an address version identifier decoded as
uint8
Address Versions
| Version | Name | Encoding | Prefix | Hash Length |
|---|---|---|---|---|
| 0 | Unknown | Ignore | ||
| 1 | P2PKH | Base58Check(00+PKH) | 1 | 20 |
| 2 | P2SH | Base58Check(05+SH) | 3 | 20 |
| 3 | P2WPKH | Bech32 | bc1q | 20 |
| 4 | P2WSH | Bech32 | bc1q | 32 |
| 5 | P2TR | Bech32m | bc1p | 32 |
outputs[].recipient field contains the destination hash or witness, not a human-readable address. Use the version byte and the recipient hash to reconstruct the Bitcoin address.
Constructing the Bitcoin Transaction
Create a transaction with at least one output that exactly matches the order’s output description. The transaction can have any number of inputs and additional outputs, allowing for batch filling and consolidation. If calldata is set on the output, add anOP_RETURN output immediately after the filling output:
Next Steps
Settling Orders
Finalize orders and claim locked input funds
Collecting Orders
WebSocket and REST order collection
Auctions
Limit, Dutch, and exclusive auction types
Reputation
Solver reputation system and registration

