Requesting a quote
A quote for Bitcoin can be requested using the same endpoints as EVM. The only difference will be the transaction data when source chain is Bitcoin.fromAddress
when source chain is Bitcoin needs to have enough UTXOs to cover the requested tx amount otherwise no quote will be returned.The check is in place in order to build a transaction on Bitcoin where user’s wallet’s UTXOs are checked and combined in the most efficient way.Executing a transaction
Transaction data
After retrieving the quote, the funds need to be sent to the BTC vault address provided in the response, along with a memo.- Memo Functionality: Similar to Thorchain, LI.FI uses memos for BTC to EVM swaps. The memo in the BTC transaction specifies the swap’s destination address and chain.
- Transaction Handling: The transaction that leaves BTC and goes to EVM needs to be sent to an EVM address. The memo ensures that the swap details are correctly processed by the validators.
NOTE: Only send transactions in a timely manner (~30min). It is always
recommended to request an up-to-date quote to ensure to get the latest
information.
Risk of modifying Bitcoin transaction dataModifying PSBT or raw Bitcoin transaction data received from our API (for
example removing outputs, changing amounts, or editing opcodes/scripts) can
invalidate signatures or spending conditions and lead to irreversible loss of
funds.Do not alter PSBTs unless you are an expert and have explicitly confirmed with
us the modification you intend to make.
data
in transactionRequest object is PSBT (partially signed bitcoin
transaction) and memo needs to be retrieved from PSBT by decoding it.Retrieving memo from PSBT
PSBT can be decoded using any library like bitcoinjs or scure-btc-signer. Here’s an example usingbitcoinjs