The default UX read on every aggregator is that fixed is the safe choice and floating is the gamble. That’s marketing, not math. The fixed-rate quote already includes a 0.5%–2% buffer the provider charges to absorb 30 minutes of price risk — you pay that premium whether or not the price actually moves. On slow chains like Bitcoin mainnet, that insurance often expires before your deposit even confirms, forcing a refund and a re-quote at a worse rate. Floating wins more often than the toggle suggests. This guide gives you a per-coin, per-amount rule for which button to actually click.
What “fixed” and “floating” actually mean
The two words describe when the price is determined, not whether the swap is safe.
Floating locks the rate at the moment your deposit confirms on-chain. The provider quotes the live mid-market price minus their spread, the deposit lands, the swap executes at whatever the market is doing right then. If BTC moved 0.3% in your favor between confirm and execution, you keep that. If it moved against you, you eat that.
Fixed locks the rate the moment you click confirm. The number on screen — that exact rate — is what you’ll receive, as long as your deposit confirms inside the lock window (usually 10–30 minutes depending on provider). If the deposit lands after the window expires, the swap is refunded and you start over.
The hidden detail nobody surfaces in the UI: the fixed quote isn’t free. The provider is taking 30 minutes of price risk on your behalf and they price that risk in. The quote you see is the raw rate minus a 0.5%–2% buffer that pays for their hedging cost plus a margin. You pay that buffer whether the market moves or not.
The fixed-rate quote already includes a 0.5%–2% buffer the provider charges to absorb 30 minutes of price risk. You pay that buffer whether or not the price actually moves.
What providers do under the hood
When you confirm a fixed-rate swap, the provider isn’t sitting on your deposit hoping the price holds. They hedge immediately — usually by pre-buying the destination asset on a connected exchange at the lock moment, or by holding a short position that offsets the directional risk. Either way, they’ve already priced in 30 minutes of expected volatility plus their margin.
The flow forks based on whether your deposit beats the clock:
- Deposit confirms before the window expires. Provider pays out exactly the locked amount. They keep the buffer regardless of how the market actually moved — that was the deal.
- Deposit confirms after the window expires. Order moves to
TIME_EXPIRED. Provider refunds to the refund address you set when creating the swap. No funds get stuck on the provider side; they just unwind their hedge. - Deposit never confirms. Eventually classified as
TIME_EXPIREDonce the on-chain timeout passes, refunded the same way.
The “refund stuck in support” horror story almost always comes from one cause: not setting a refund address. The UI marks it optional. In practice, on any fixed-rate order, it’s mandatory.
When fixed wins
Four scenarios where the buffer pays for itself.
Invoice payments. Someone gave you a precise number to pay — 0.04321 BTC, or a USD/EUR amount converted at quote time. You cannot be off by 0.2%. Fixed is the only sane choice; the buffer is what you’re buying.
Visible volatility events. A CPI print, an FOMC announcement, an ETF approval rumor, a hard-fork day, a major listing/delisting. Anything where the realised 30-minute volatility plausibly exceeds the 1%–2% buffer baked into the quote. On event days, fixed is cheap insurance against the asymmetric downside.
Five-figure swaps. Above roughly $10,000, the absolute dollar value of a 1%–2% adverse move ($100–$200+) outweighs the 0.5%–2% fixed premium. The math flips. As long as your source chain confirms reliably inside the lock window, fixed is the risk-adjusted winner.
Fast-confirming source chains. When the deposit lands in seconds (Lightning, Solana) or 1–2 minutes (TRC-20, BNB Chain), the lock-expiry risk is effectively zero. You’re paying the buffer for actual price certainty, not for an insurance policy that’s going to expire on you.
When floating wins
The mirror image — and a wider zone than the UI implies.
Small swaps in a quiet market. Under $2,000, in normal volatility regimes (BTC daily ATR under 1.5%), the realistic 30-minute price move is 0.2%–0.5%. The fixed buffer is 0.5%–2%. You’re paying for an insurance policy on a risk smaller than the premium.
Slow source chains. Bitcoin mainnet on a busy day. Ethereum during gas spikes. XMR with its 10-confirmation payout. If your deposit cannot reasonably confirm inside the lock window, fixed buys you a contract that will expire. Floating just executes whenever the deposit lands, no clock.
Privacy-routed swaps via XMR. Two legs, two confirmation windows, two providers. Trying to lock a fixed rate end-to-end across the route is nearly impossible to make profitable for the routing layer. Floating both legs is the only sensible default. See the BTC to XMR guide for the worked example.
Trending markets when you’re on the right side. If your read on the market is that the source asset is weak and the destination is strong, floating lets you capture the move during the confirm wait. Fixed locks you out of that upside.
On Bitcoin mainnet, the 30-minute fixed lock often expires before your deposit confirms. Floating wins by default — fixed is the exception, not the safe choice.
Network and coin breakdown
The toggle decision is dominated by your source chain, not your destination. The destination just affects total swap time; it doesn’t race against any clock.
| Source chain | Typical confirm time | Lock-expiry risk | Recommended toggle |
|---|---|---|---|
| BTC mainnet | 10–60 min | High | Floating, unless invoice-precise |
| BTC Lightning | Seconds | None | Either; default floating |
| ETH (ERC-20) | 1–3 min normal / 5–10 min congested | Medium on gas spikes | Floating; fixed OK with priority fee |
| USDT TRC-20 | 1–2 min | Very low | Either; floating ~0.3–0.8% cheaper |
| USDT ERC-20 | Same as ETH | Same as ETH | Same as ETH |
| SOL | Sub-second | None | Either; pick on price math |
| XMR (source or dest) | 20+ min (10 confs × 2 min) | High when on source side | Floating |
| BNB Chain | 3–10 sec | None | Either |
| Litecoin | 2.5 min/block | Low | Either |
The pattern: anything that confirms in seconds or low minutes — pick on price math alone. Anything that takes 10+ minutes — floating is the default and fixed needs a specific reason (invoice precision, event-day volatility).
The amount math
A rough but useful formula: pay for fixed when the expected 30-minute price move exceeds the buffer.
In low-volatility regimes — BTC daily realised vol under 1.5%, ETH under 2% — the expected 30-minute move is on the order of 0.2%–0.5%. The fixed buffer is 0.5%–2%. Floating wins on expectation.
On event-driven days — Fed days, CPI prints, hard forks, major listing or delisting headlines — the 30-minute move can be 2%–5% or worse. Fixed wins, often by a lot.
A practical ladder:
- Under $2,000 in a quiet market → floating, almost always.
- $2,000–$5,000 → floating in normal conditions, fixed if you’re paying an invoice or there’s a visible event on the calendar.
- $5,000–$10,000 → coin-flip territory; lean fixed if source chain is fast.
- Over $10,000 → lean fixed, always set a refund address, but float if your source is BTC mainnet on a busy day.
Pay for fixed when the expected 30-minute price move exceeds the 0.5%–2% buffer. Under $2,000 in a quiet market, that’s almost never true.
What you’re actually clicking on SwapZilla
The float/fixed toggle on the swap widget flips a single rate_type flag that propagates to every supported provider in the live quote stream. Each provider re-quotes against the chosen mode, and the aggregator sorts the resulting offers by receive amount.
Two things to watch on the confirm screen:
The headline rate. Floating quotes show a better number than fixed quotes for the same pair. That’s not the floating quote being better — it’s the absence of the insurance premium that fixed quotes carry. Comparing the headlines directly is comparing apples to insured apples.
The lock countdown. Only present on fixed-rate confirms. The clock starts the moment you confirm, not the moment you send. If the countdown drops below the typical confirm time for your source chain before you’ve broadcasted the deposit transaction, you’re already in expiry territory. Default behavior: cancel and re-quote on floating instead.
For the deeper mechanics of how the aggregator stitches provider quotes together, see how SwapZilla works.
Common mistakes
The recurring patterns that cost real money.
Picking fixed because it “sounds safer” without checking source-chain confirmation time. The lock expires, the deposit refunds, you re-quote at a worse rate. Net cost: -1% to -3% versus just clicking floating in the first place.
Picking floating and then sending a low-fee transaction. The locked rate isn’t a thing on floating — that’s the point. But the longer your deposit takes to confirm, the more market movement you’re exposed to. Underpaying the fee on a floating swap turns “best market rate” into “best market rate three hours from now, hope it’s still good”.
Not setting a refund address on fixed orders. If the lock expires and no refund address is on file, recovery is a support ticket. Always set one. Use a fresh address on the source chain that you control — not an exchange deposit address.
Swapping during a known volatility event without going fixed. Fed days and CPI prints are scheduled in advance. If you’re moving size on a day when the 30-minute move could realistically clear 2%, fixed is cheap insurance.
Comparing the displayed rate across float and fixed and assuming float is always better. The float rate isn’t guaranteed; the fixed rate is. Compare risk-adjusted, not headline-adjusted.
Forgetting that destination chain doesn’t matter for the toggle. The deposit-confirmation race is on the source side. If you’re swapping ETH to XMR, the question is “how fast does ETH confirm”, not “how fast does XMR confirm”. XMR’s slow payout adds to total time, but doesn’t race the lock.
For the BTC→XMR specific case where these tradeoffs are sharpest, the Bitcoin to Monero swap guide walks through the floating-default reasoning end-to-end.
Quick decision checklist
Six questions, in order:
- Are you paying a precise amount to a third party (invoice, vendor, exchange deposit at a specific size)? → Fixed, always. The buffer is what you’re buying.
- Is there a known volatility event in the next 30 minutes (Fed, CPI, fork, listing)? → Fixed, regardless of amount.
- Is your source chain BTC mainnet on a non-event day? → Floating, unless answer to #1 was yes.
- Is the swap under $2,000 in normal market conditions? → Floating. The premium is bigger than the realistic risk.
- Is the swap over $10,000 on a fast source chain (Lightning, TRC-20, SOL, BNB)? → Fixed, and set a refund address.
- Are you privacy-routing through XMR? → Floating both legs. Lock economics don’t work across two confirmation windows.
For anything in the middle — $2,000 to $10,000 on a normal chain in a normal market — the right answer is whatever lets you sleep. Both will land you within 1% of the same end result on expectation. Pick floating if you’d rather optimise; pick fixed if you’d rather know. See the FAQ for the edge cases.