Skip to main content

Route is fee-free

Route charges no platform fee: 0 bps, or 0%. Pool fees, provider charges and gas can still apply. We will not charge a Route platform fee unless we can show that Route is the most efficient way to swap on Robinhood Chain. We judge that by what users receive after costs and how quickly they can get a usable quote, across fair comparisons rather than a single winning trade. We are not claiming that lead today. Better benchmarks will not automatically turn fees on. Any future fee would need a separate, explicit decision and clear notice to users. The active app and V2 settlement charge 0 bps (0%) Route fee. All actual output received by the settlement executor is paid to the selected recipient. No Route fee is taken from the input, output, approvals, hops or splits. This policy has no scheduled expiry or automatic reactivation. The active immutable contracts have no fee-rate setter, administrator or treasury. Adding a fee would require explicit approval, new contracts and a fresh review of the wallet approval. It cannot be switched on in the current contracts. “Fee-free” means no Route fee. Network gas, liquidity-pool fees and upstream provider charges or positive-slippage policies may still apply. A reverted transaction can still consume gas. 0x output already includes its reported provider fees; do not subtract those again.

What zero means in practice

For example, a 15 bps fee on 1,000is1,000 is 1.50. A 50 bps fee is 5.Routecharges5. Route charges 0. These examples explain the math, not any competitor’s current fees. Gas and underlying liquidity can outweigh a fee difference.

Quote fields

  • protocolFeeBps is 0; feeAmount is "0".
  • grossAmountOut equals amountOut: estimated user output before gas.
  • execution.amountOut is the separately simulated user output, or null when unavailable. Market changes can make it differ from the original estimate.
  • netAmountOut subtracts modeled gas from assessed output, otherwise the original quote, when conversion is available.
  • amountOutMinimum is the user’s signed minimum received. It remains independently enforced onchain.
Successful settlement emits Swapped with user output. The active executor does not emit FeePaid. Filter receipt logs by the selected executor address.

Configuration and approvals

Read /api/v2/config for active per-provider executors, enabledProviders, and settlementMode: "fee-free". Each provider has a separate executor. The compatibility fields feeRecipient, feeAdmin, and per-provider feeSettings addresses are zero because those roles do not exist; feeRecipientChangeable is false. An old approval does not authorize a new executor. Refresh the app and review the current spender before signing. Switching providers after approval requires a fresh review. Revoke unused old approvals through your wallet; Route cannot revoke them for you.

Historical fee contracts

The old RouteExecutionHub deployments and layered RouteFeeExecutor still charge their immutable 15 bps fee if called directly. They cannot be disabled or retroactively upgraded and are no longer used by the current app or V2 builder. Historical receipts and benchmarks retain the fee policy that applied when they ran. Fee removal does not refund previous fees or change funds already received by the old treasury.