How the Routescore is produced.
Schema carries a published version hash. Weights are published. The methodology and detector manifest are published so the score is auditable on any confirmed block. If the score we show you is wrong, the methodology is the place to disagree with it.
What Routescore measures
Routescore is a pre-trade scoring layer. For every candidate swap route, it produces a single 0–100 score and a per-component breakdown. The components are: expected MEV exposure (sandwich + frontrun), slippage vs the mid quote, gas efficiency vs the cheapest available route, liquidity depth at the prevailing mid, and the post-tax effective price (gas + tax drag included).
- Custody. We never sign, broadcast, or hold user funds. The score is decision support, not execution.
- Oracle, bridge, and contract risk are surfaced as separate signals — they do not roll into the Routescore number, because mixing rugability into a price-execution score makes both worse.
- Yield / APR / TVL forecasting. Routescore is a swap-route score, not a yield score.
Where the numbers come from
The scoring formula
Each component is independently normalised to 0–100 against the same trade evaluated across all candidate routes, then combined with the published weights. Liquidity depth is subtracted because deeper pools reduce risk.
Routescore = w1 · MevRisk
+ w2 · Slippage
+ w3 · GasEfficiency
- w4 · LiquidityDepth
# Component definitions (each normalised to 0..100 over candidate routes)
MevRisk = sandwich_probability + frontrun_probability (detector v0.4.2)
Slippage = (mid_price - executed_price) / mid_price * 1e4 (bps, signed)
GasEfficiency = gas_cost_usd / notional_usd / min(same_for_routes) (lower = better)
LiquidityDepth = pool_1bp_depth_usd (higher = better)
# Weights — see /methodology#weights for rationale
w1 = 0.40 w2 = 0.25 w3 = 0.15 w4 = 0.20
# Output bounds
0 <= Routescore <= 100 (higher = better execution-adjusted route)| Symbol | Component | Weight | Why this weight |
|---|---|---|---|
| w1 | MEV risk | 0.40 | Sandwich + frontrun probability dominates ex-ante loss on retail-size swaps. Largest weight by design. |
| w2 | Slippage | 0.25 | Realised execution slippage vs the mid quote. Pulled per-DEX from the aggregator quote step. |
| w3 | Gas efficiency | 0.15 | Gas-cost per unit notional, normalised to the cheapest available route on the same trade. |
| w4 | Liquidity depth | 0.20 | Subtracted: deeper pools push the score up. Measured as 1bp-depth at the prevailing mid. |
What the score does not include
- Oracle risk. Surfaced as a separate badge on the route detail. A 100/100 Routescore on a pool with a fresh oracle compromise is still a bad trade — and we tell you that, separately.
- Bridge risk. Cross-chain routes carry bridge exposure that is not modelled in the score; the route detail names the bridge and links to its operating posture.
- Smart-contract risk. Audit + bug-bounty + age-of-deployment signals are surfaced separately. We do not mix exploit-tail risk into a price-execution score.
- Counterfactual gas. Gas efficiency is normalised across candidate routes for the same trade ; comparing scores across different notionals or different chains is not apples-to-apples.
- Detector ceiling. Sandwich detector spoofable-signal score caps at 0.65 confidence; the production 0.7 trigger requires an external label match, MEV-Boost bundle metadata, or a reserve-price-impact oracle. External-label coverage is the constraint — not the detector itself.
Audit the score
What changed, when, and why
| Component | Version | Last changed | Note |
|---|---|---|---|
| Score schema | 2026.06.13 | 2026-06-13 | Public launch — first hash-stamped schema. |
| Sandwich detector | v0.4.2 | 2026-06-11 | W19 external-label rescoring; spoofable signals capped at 0.65. |
| Pricing source | chainlink-twap-30m | 2026-06-09 | 30-minute TWAP from Chainlink price feeds for victim-loss USD conversion. |
| Finality depth | 64 blocks | 2026-06-04 | One-epoch bound; depth-12 (Wave 12) deprecated as unsafe under empirical reorg data. |
Detector specification
The detector is the disputable thing. We publish the full interface — input shape, output shape, algorithm summary, and known limitations — so the score is auditable on the evidence. A standalone, clonable reference repo is coming; until then, the published spec and the benchmark are the public record.
Measure in public. Price the risk. Never touch the keys.