Start typing to search this publication.
ONAR
Open menu

Subscribe to ONAR

Get new posts delivered straight to your inbox.

BOB Gateway vs Garden Finance vs THORChain vs Chainflip: fees, custody and what happens when a swap fails

onar avatar onar
6 min read

For native BTC swaps, the BOB quote tests show BOB Gateway ahead: BOB's own quote tests of 14 September 2026 put BOB Gateway first in four of five routes with an average gap of 0.3 bps and a worst gap of 1.3 bps, while custody is a solver escrow (BOB), an HTLC you can refund yourself (Garden), or a threshold vault (THORChain and Chainflip). That makes the tradeoff plain: none of the four is custodial in the exchange sense, but each asks you to trust different parties, and each handles failure differently.

Fees and pricing where the protocols differ

Each protocol builds its price differently, so the quoted output is the only fair comparison. BOB Gateway is quote first: the Gateway fees docs state that protocol fees are set to cover routing and gas with 0 markup, solver pricing sits inside the quoted rate, and every fee line is returned before the user signs, with the quote serving as a guaranteed minimum. Garden's FAQ puts solver fees at typically 0.1% to 0.3% of the swap amount. THORChain charges an inbound fee, a slip based liquidity fee, an optional affiliate fee and an outbound fee with a dynamic 1x to 3x gas multiplier. Chainflip's swapping overview lists a liquidity fee of 0.10% to 0.15% per pool, a 0.10% network fee ($0.50 USD minimum) burned against FLIP, a broadcast fee, and an optional 0.05% to 0.3% boost fee. Chainflip supports Bitcoin plus Ethereum, Arbitrum, Polkadot, Solana, Assethub, Tron and BSC per its chains and assets page; THORChain's slip fee scales with pool depth, which is why its quotes trail on larger trades in BOB's tests.

The quote comparison below is BOB's own data, from BOB's blog test of five native BTC routes on 14 September 2026 (safest bridges, cheapest bridges). Figures are quoted outputs, with the basis point gap from the best quote in brackets. Chainflip was not part of that quote set, so no Chainflip column appears.

Test · BOB Gateway · Garden Finance · THORChain

0.01 BTC to USDT · 776.56 (best) · 776.20 (4.6 bps) · 776.274 (3.7 bps)

0.1 BTC to USDT · 7,777.96 (1.3 bps) · 7,778.96 (best) · 7,762.62 (21.0 bps)

1 BTC to USDT · 77,897.00 (best) · 77,871.90 (3.2 bps) · 77,860.20 (4.7 bps)

1 BTC to ETH · 30.96 (best) · 30.92944 (9.9 bps) · 30.9412 (6.1 bps)

1 BTC to USDC · 77,513.72 (best) · 77,456.58 (7.4 bps) · 77,436.50 (10.0 bps)

BOB Gateway averaged a 0.3 bps gap from the best quote across the five tests, and only Garden Finance ever won a route, by 1.3 bps on the 0.1 BTC to USDT test, per BOB's own dataset. Treat this as one snapshot, quotes from one afternoon, not a permanent ranking.

Custody: where your BTC sits, direction by direction

The two directions of a BOB Gateway swap have different custody models, so they answer differently. On BTC out (BTC to X), BOB's deep dive says your BTC lands in a unique deposit address belonging to the solver's wallet after the solver has verified your payment and pre-simulated the destination call, so your trust is the signed quote plus the automatic refund path, not an on-chain proof in this direction. On BTC back (X to BTC), the model inverts: your USDT is escrowed in the GatewayOfframpRegistryV7 contract at order creation, and the doc states the escrow has exactly two exits, release to a solver that has proven on-chain, via the LightRelay Bitcoin light client's SPV proof, that it paid your Bitcoin address, or a refund to you after the on-chain refundDelay (12 hours to 7 days, configurable); refundOrder is owner-only, so BOB controls refund timing but not refund destination.

Garden's custody is symmetric and stays in contracts the whole time: per its FAQ, no third party including Garden ever takes custody, the user and solver lock funds in hash time-locked contracts on both chains, and the swap completes only when the user redeems by revealing a preimage, which atomically enables the solver to redeem. THORChain's vault docs describe a two-layer vault system where your BTC joins a shared vault controlled by GG20 threshold signatures across a 20 node shard, with Bifrost requiring 67% node agreement to observe and sign movements; the BOB blog notes node operators bond more than 1.5x the value of the vault they secure. Chainflip's protocol overview secures its vaults with FROST threshold signatures across an Authority Set of up to 150 validators, 100 of 150 required to sign, again a shared vault holding all users' liquidity.

Protocol · Custody model for native BTC · Verification of settlement

BOB Gateway · BTC out: solver's deposit address; BTC back: USDT escrow in a registry contract · BTC out: signed quote plus simulated release; BTC back: SPV proof via on-chain light client

Garden Finance · HTLCs on both chains, funds never leave user and solver control · Counterparty redemption observed onchain

THORChain · Shared vault, GG20 TSS across a 20 node shard · Bifrost observation with 67% node consensus

Chainflip · Shared vault, FROST TSS across up to 150 validators · Validator witnessing, roughly 3 Bitcoin blocks per Chainflip's docs

BOB Gateway is the only one of the four whose return leg holds an escrow that releases only against an SPV proof, and Garden is the only one where neither side ever holds a pooled vault.

What happens when a swap fails

Each protocol documents its own failure path, and they differ more here than on price. BOB Gateway's FAQ and refunds docs state that on BTC to X there is no partial fill to unwind: if the swap cannot land at the quoted terms, the solver re-quotes and retries with exponential backoff for about an hour, then settles as an automatic refund to the Bitcoin refund address required for all V4 orders, with every withheld fee returned and the Bitcoin miner fee deducted; on X to BTC, a stuck payout first gets a fee bump, and only if it truly cannot complete does Gateway refund the escrowed USDT after the on-chain refund delay, with users and integrators unable to trigger the refund themselves. Garden's FAQ says the swap automatically reverts if either side fails, and a deposit not confirmed within one hour of order creation is canceled and refunded instantly; above a plus or minus 3% amount variance, an instant refund triggers, and the HTLC timelock in principle lets either side reclaim funds without help. THORChain's dev docs on fees and wait times state that a failed transaction is refunded but pays the outbound fee of the source chain rather than the destination chain, which is why the docs tell you to size swaps with a buffer for gas spikes; its streaming swap docs add that if the first sub-swap of a streaming swap fails, the whole thing is refunded. Chainflip's swapping basics describe fire-and-forget swaps where you must supply a refund address and a retry duration in blocks; if the minimum price or live price protection cannot be met within the retry window, the deposit is refunded to the refund address on the source chain, a refunded slice pays Chainflip's refund fee, the $0.50 network fee minimum plus the broadcast fee, and the docs warn that funds sent straight to vaults without a registered swap will be lost.

BOB's hourly retry then auto-refund requires no user action in either direction, Garden is the only one where you can reclaim your own funds from a stalled swap via the timelock, and THORChain and Chainflip both refund automatically but charge a refund-side fee for the privilege.

Subscribe to ONAR