Overview
USDC is Flux's settlement currency — batch payouts, streams, and agent spend caps are all denominated in it. Swap exists so that holding a different Arc asset never blocks you from using the rest of Flux: convert into USDC in-app, in one transaction, without going anywhere else.
Routing & the four routes
Every enabled route is quoted in parallel. Flux ranks them by net output — what you'd actually receive after that route's fee and the gas cost of the transaction — and the highest net output wins automatically. You can also pin a specific route yourself in Settings; if your pinned route has no quote for the current pair, Flux falls back to the best available and tells you why.
A route that can't quote your pair — no liquidity, not yet configured, or a timed-out request — renders as a plainly labelled disabled row with the real reason. Flux never shows a placeholder number in place of a route that isn't actually quoting.
A note on gas
Arc's native gas token is separate from the USDC ERC-20 that Flux settles in — they are two different tokens, even though both are USD-denominated. Net-output ranking converts the gas cost into the same USD terms as the swap itself, so routes are compared on a genuinely like-for-like basis.
Slippage & price impact
Max slippage sets minAmountOut — the least you will accept back. Flux re-quotes immediately before you sign; if the fresh quote can't meet your displayed minAmountOut, the swap is blocked rather than sent at a worse price than you saw.
Price impact — how far your trade moves the pool away from its resting price — escalates through three tiers:
Limit orders
A limit order escrows your input token in FluxLimitOrder, an on-chain contract, along with a minimum output and an expiry. Anyone can call executeOrder once a route can deliver at least your minimum — in practice, a scheduled keeper does this automatically, checking open orders on a short interval and filling anything that clears its trigger through an owner-allowlisted router.
That means fills are not instant the moment your price is technically reachable — there is a keeper-cycle delay, typically under a minute. You can cancel an open order at any time, including after it has expired, and reclaim your full escrowed amount.
Open → Filled (executeOrder clears your minAmountOut trigger)
→ Cancelled (maker reclaims escrow, any time, even post-expiry)Swap history
Nothing about your swap history is stored locally. Every row in the History tab is reconstructed on demand from Arc itself — Flux reads your wallet's transactions, filters to the verified route routers, and derives amounts from the token transfers in each one. Open the app on a different device with the same wallet and the same history is there. Failed transactions are shown, not hidden.