Every other instant exchange asks "fixed or float?" before you swap. Cambio doesn't. There is no toggle. There will not be one. This is the post that explains what the toggle was actually solving, how we solve the same problem invisibly, and why removing the choice is a product feature.
Open ChangeNow. Open SimpleSwap. Every one of them will ask you, before you can confirm a swap, to choose between "fixed rate" and "float rate." It is the first real decision the product asks the user to make. The labels are jargon, the implications are subtle, and most users pick one without really knowing what it means.
Open Cambio. You will not see that toggle. You will see one rate, the live competitor strip below it, and a swap button. There is no fixed/float decision to make. There is no setting tucked away in account preferences. There is no Pro mode that adds the option for advanced users. There is exactly one rate, every time, on every pair.
This is not an oversight. It is a deliberate product decision documented in our internal rate-mode policy. This post explains what the fixed/float toggle was actually solving, how we solve the same problem without exposing it to the user, and why removing the choice is a product feature.
Where the toggle came from
The fixed/float toggle predates the modern instant-exchange industry. It originated in the early-2010s era of crypto-to-crypto swap brokers, when deposit confirmation times were long, market volatility was high, and the operator had to decide who would absorb the risk of the market moving during the wait. Two answers emerged.
The "float" answer: the rate is calculated at deposit-confirm time, not at order-creation time. If the market moved against you while your Bitcoin was confirming, you receive less. If it moved in your favor, you receive more. The user bears the risk. The operator runs a tighter spread because they do not need to hedge.
The "fixed" answer: the rate is locked at order-creation time. The operator commits to honor it regardless of where the market moves while the deposit is confirming. The operator bears the risk and typically hedges that exposure with a short-dated futures position on a centralized exchange. The user pays a small premium — typically 20-50 basis points — to fund that hedge.
Both answers are defensible. The choice between them is a real engineering trade-off in a slow-settlement era. By 2026, the toggle has become a near-universal feature of the instant-exchange UI, and most users have learned to mechanically pick one without fully understanding it.
The engineering problem the toggle is solving
Underneath the marketing, the toggle is solving exactly one problem: who absorbs market drift during the deposit-confirm window. On a same-chain swap that settles in 3 seconds, the window is too short for the market to move meaningfully — the drift problem effectively does not exist. On a swap from a slow chain like Bitcoin, the deposit confirmation can take 10 to 60 minutes, during which the market can move 1-3% on a quiet day and more on a volatile one. Someone has to take that exposure.
The three structural responses available to an operator are: push the drift to the user (float-mode), absorb the drift via a futures hedge funded by a user premium (fixed-mode), or absorb the drift via the spread itself with no separate premium (the approach we use). Most legacy operators expose the first two as a user choice. Cambio uses only the third, and does not expose it as a choice.
The AI-native insight
When you build a conversational product, every additional choice you put in front of the user is a tax. The composer reads "swap 0.3 BNB to USDT on BSC" and shows a quote. If we then said "first, choose your rate mode: fixed (slightly more expensive but locked) or float (slightly cheaper but variable)," we would have just doubled the cognitive load on every swap. The user has to learn what fixed and float mean. They have to estimate the probability of market movement during their deposit window. They have to weigh that against the premium. Most of them will pick mechanically and feel uncertain about whether they picked right.
The AI-native insight is that this is exactly the kind of decision the system should make for the user — not by hiding it under defaults, but by structuring the pricing so that the choice does not need to be made. If the spread itself absorbs reasonable drift, the user does not need to be a mode. They need a rate. They need a number that holds up. They need a comparison strip that confirms it. The rest is operator engineering, not user UX.
This insight is not unique to AI products in principle — any operator could quote one rate with a spread that absorbs drift. The reason instant-exchange brokers have not converged on this approach is that it requires committing deeper partner liquidity and absorbing more direct risk than the float-mode default. It is operationally harder. The convention of asking the user to choose was easier to ship and pushed responsibility for the trade-off onto the user. We chose the harder operational path because we think the conversational UX justifies it.
How Cambio absorbs drift invisibly
The mechanism is the chain-aware spread floor. The pricing engine applies a per-chain multiplier to a base spread of 0.30%, scaled to match how much drift risk that chain's deposit-confirm window typically carries. The multipliers are:
- Solana (~1 second confirmation) — 1.0× → effective floor 0.30%
- BNB Smart Chain (~3 sec) — 1.0× → 0.30%
- Tron (~3 sec) — 1.0× → 0.30%
- Arbitrum (~1 sec user-visible) — 1.0× → 0.30%
- Ethereum (~12 sec soft, 5 min finality) — 1.3× → 0.39%
- Bitcoin (10-60 minutes) — 2.0× → 0.60%
The multipliers reflect drift risk, not arbitrary fee tiering. Bitcoin deposits sit in confirmation limbo for 10-60 minutes, during which the BTC/ETH or BTC/USDT ratio can plausibly move 1-3%. The 2.0× multiplier (0.60% effective floor) is calibrated so that the spread budget covers typical drift on a normal day. Ethereum sits between — 12-second soft confirmation is fast enough that the multiplier is 1.3×, but 5-minute finality justifies a meaningful buffer over the fast-chain floor. The four chains at 1.0× (Solana, BSC, Tron, Arbitrum) all confirm fast enough that the base floor is sufficient.
Every quote on Cambio applies this floor at the chain that the deposit will arrive on. The user does not see the multiplier. They see a single number that reflects the chain-aware reality of their swap. The slow-chain quotes are slightly wider than the fast-chain quotes of the equivalent token amount, but neither quote ever exposes the multiplier as a user-facing concept.
When the live competitor strip shows a competitor offering a tighter rate on the same pair, our quote engine attempts to tighten ours to beat them by 10 basis points — but never below the chain-aware floor. If the competitor floor is inside our floor, we hold at the floor and the "Best Rate by Cambio" pill does not render. The user still sees the competitor row clearly. They can take the competitor's deal. We will not pretend.
What the user actually sees
Compare the two UX flows.
On a typical instant exchange in 2026, the flow is: enter amounts, pick fixed or float (helper text explains the difference in 30 words you probably skim), see a rate that depends on your choice, see no comparison to other exchanges, click swap. The user has been asked to make a choice and given a 30-word explanation to make it with.
On Cambio, the flow is: enter the swap intent (in plain language or via a chip), see one rate, see five competitor rates below it with the basis-point delta from ours, click swap. No toggle. No 30-word helper text. The chain-aware spread is already in the rate. The competitor strip is the verification surface. The user makes one decision: yes or no, swap.
The second flow is faster, less cognitively demanding, and structurally more transparent. The first flow forces the user to participate in an engineering trade-off they should never have been asked to weigh. The second flow makes the trade-off invisible because it has already been resolved by the spread engine.
The honest limits
A few cases where the chain-aware spread alone is not enough, and what happens then.
On a bitcoin deposit during an unusually volatile period — say, a 4% adverse move in 30 minutes — the chain-aware floor of 0.60% will not fully absorb the drift. In that case, the competitor guardrail recalculates against the new mid-market price at deposit-confirm time, and the user may receive a slightly lower amount than the original quote suggested. We disclose this in advance in the FAQ and in the per-pair page notes. We do not pretend the spread is a hard rate-lock when it is not.
In the (very rare) case where the post-drift recalculation would put us below the live competitor floor, the system holds the original quoted amount and Cambio takes the loss on that swap. The user receives what they were promised; the operator absorbs the unfortunate timing. This happens infrequently enough that the long-run economics work; it is documented as an explicit operational policy.
In the extreme case where market conditions are so volatile that even our chain-aware spread cannot reliably handle the drift, the system can temporarily widen the floor on the affected chain (this is a feature-flagged response, not a discretionary call). When this happens, the user sees a wider quote than usual; the live competitor strip will likely also be wider, because all instant exchanges face the same drift problem during the same volatility. There is no hidden rate-mode adjustment to mask the conditions.
Why we will not add the toggle
The temptation to add a fixed/float toggle as a "Pro mode" feature will resurface. Customers will occasionally ask for it. Power users will assume it is missing because we forgot, not because we decided. Competitors will lean on the feature as a point of differentiation. We will not give in.
The reasons, in priority order: the toggle violates the AI-native positioning by forcing a UI choice on a problem the system can solve invisibly; the toggle violates the conversational design by forcing the user to make a decision the chat composer does not need; the toggle violates our pricing-engine simplicity by requiring a separate hedge-funded path alongside the spread-funded path; the toggle violates our cap discipline by encouraging users to think of fixed-rate as a feature worth doing larger trades to access.
A possible future where the toggle reappears in some form: if API integration partners (DeFi aggregators, multi-chain wallets) require deterministic rate-lock semantics for their own integration math, we may add a parameter to the public API — never to the on-site composer — that locks the rate for a few minutes for that specific call. That would be a B2B feature for partners building on top of us, never a consumer-facing UI toggle. The principle stands.
When a user asks "how do I switch modes?"
The honest answer, copied from our FAQ verbatim: "Cambio quotes one rate. There is no fixed/float toggle, and there are no plans to add one. The pricing engine already absorbs typical deposit-confirm drift through a chain-aware spread floor — slower-confirming chains get a wider risk budget (about 0.6% on Bitcoin, 0.39% on Ethereum, and 0.3% on fast chains like Solana, BSC, Tron, and Arbitrum). You see one number and the engine handles the time-window risk in the background. You will never receive less than the live competitor floor plus our beat-best margin; if the market ever moves more than the spread can absorb, the live competitor strip on the quote will reflect it before you confirm."
We will give that answer in support tickets, in the FAQ, in the in-app Help category, and here on the blog. It will be the same answer every time. The system backs it up: the chain-aware spread floor is implemented in the pricing engine, the multipliers are documented in our internal rate-mode policy, and the deterministic router runs the same code path every time. There is no exception. There is no hidden mode for VIPs. There is no different rate for larger users. One rate, one floor table, one rule.
The product principle behind it
Every time we add a user-facing decision to the product, we are making the product slower to use and harder to trust. Sometimes the decision is essential — choosing which token, which network, which destination address — and we keep it. Sometimes the decision is an artifact of a previous era when operators could not internalize the risk and pushed it to the user. The fixed/float toggle is the second kind. Removing it makes the product better.
When we evaluate any future feature that would add a user-facing choice, the test we apply is: "is this a real decision the user needs to make, or is this a decision the operator can resolve invisibly?" If the latter, we resolve it invisibly. If the former, we keep the decision. The fixed/float toggle is the canonical example of the second case. Every feature that fails the same test will follow the same logic.
This is what "AI-native" actually means in practice, beyond the marketing. It does not mean "we use a language model." It means we have re-evaluated which decisions the user has been asked to make historically, kept the ones that are genuine choices, and resolved the rest in the engineering layer. Fixed/float was an obvious one. There are others on the list.



