> ## Documentation Index
> Fetch the complete documentation index at: https://docs.route.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# fees

> No Route fee. Pool, provider and network costs remain separate.

## 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,000 is $1.50. A 50 bps fee is $5. 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.
