thor swap lets a user exchange, say, 1 BTC for native ETH through one inbound transfer and one destination payout. When that conversion is the next step for your users, thor swap moves and swaps the assets across chains in a single flow. THORSwap is an aggregator, so the selected route sets the effective price, time and settlement risks.
The aggregator chooses a route before funds move
A cross-chain aggregator compares available liquidity routes, then prepares the transaction required by the chosen route. In a thor swap routed through THORChain, the user sends BTC to a protocol vault with an instruction to deliver ETH to a specified Ethereum address. The protocol observes the deposit, executes against its BTC and ETH liquidity pools, and sends native ETH from its outbound vault.
That path is a conversion, not a transfer of BTC onto Ethereum. THORChain’s developer documentation describes the transaction memo as the instruction that binds the inbound asset to the destination asset and address. An aggregator may also offer routes through other settlement providers, so an integrator should treat the route’s quote and transaction instructions as one unit rather than mixing fields from different quotes.
The quote defines what the user must send
A usable quote specifies the assets, amount, destination, execution limits and inbound transaction. For a 1 BTC to ETH example, a THORChain quote uses from_asset=BTC.BTC, to_asset=ETH.ETH and amount=100000000: its amount field uses 10⁸ units, not Bitcoin’s display format or Ethereum wei. The destination must be an Ethereum address.
- Inbound instructions: Use the returned inbound_address and memo together. For Bitcoin, the memo goes in an OP_RETURN output, subject to its size limit.
- Minimum output: A trade limit protects the user if pool prices move. A liquidity_tolerance_bps value of 100 means a 1% tolerance when constructing a quote.
- Streaming: An interval of 1 means one subswap per protocol block; a quantity of 0 lets the protocol choose the count. Smaller subswaps can reduce price impact but extend execution.
- Economics: Read expected_amount_out alongside liquidity, outbound and any affiliate fees. Compare the net amount received, not an indicative exchange rate.
- Validity: Check expiry, dust_threshold and recommended_min_amount_in. The minimum varies with network fees and the assets involved.
Refresh the quote immediately before signing. THORChain’s quote guidance treats inbound instructions as short lived, typically around ten minutes, and warns against caching vault addresses. If the sender is a contract or a wallet whose return path is uncertain, supply a valid source-chain refund address when the route supports one.
A BTC-to-ETH swap has observable settlement stages
The swap begins when the Bitcoin transaction confirms, but that confirmation is not completion. Protocol nodes must observe the deposit and wait for the required finality; the swap then executes, enters an outbound queue and is broadcast on Ethereum. Track the source transaction hash through those stages, then confirm the Ethereum payout before marking the user’s order settled.
Suppose the quote promises around 20 ETH for 1 BTC. Your application should display that as an estimate with its expiry and minimum acceptable output, then preserve the exact memo used for the signed deposit. If the price crosses the limit after deposit, the route may refund BTC instead of delivering ETH; the refund can incur a source-chain outbound fee.
One easily missed failure mode is treating a successful source transaction as proof that the destination transaction will succeed. A malformed memo, an expired inbound address or a deposit below the quoted minimum can prevent normal execution. Validate the destination and memo before signing, retain the quote with the transaction hash, and reconcile the eventual payout or refund on chain.
Net output and finality determine the useful route
The useful comparison is the amount arriving at the destination after every fee, alongside the time and failure behavior of the route. THORSwap fees can include an interface charge of roughly 0–0.5% depending on trade size and discounts; source-chain gas, pool price impact and outbound gas are separate. For a small swap, fixed network fees may matter more than the quoted rate.
Bitcoin block timing, protocol confirmation requirements, streaming and the outbound queue can turn a swap into a wait of tens of minutes. A deeper route may deliver more ETH immediately, while a streaming route may improve execution by allowing pools to rebalance between subswaps. I would choose by net output and an acceptable settlement window, then verify the actual destination payout.
- Get a fresh quote for the exact assets, amount and destination.
- Check net output, minimum amount, expiry and route instructions.
- Send the prescribed source transaction and track payout or refund to completion.