ETH$3,850.00BTC$71,40014 gweiblock#21,458,920[dev]
Public methodology · Audit the score

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.

v2026.06.13
01 · Scope

What Routescore measures

In scope

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).

Explicitly out of scope
  • 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.
02 · Inputs

Where the numbers come from

DEX aggregator quotes
1inch · 0x · CoW
Per-route quote step, polled at score time. Quotes are cached up to 15s; each response reports the served quote's age and marks it stale past the window.
Live block data
Etherscan v2 proxy
Uniswap V2 + V3 Swap events from confirmed blocks (FINALITY_DEPTH = 64).
Historical MEV labels
libMEV
External label set used to rescore detector candidates above the 0.65 spoofable cap.
Pricing
chainlink-twap-30m
30-minute TWAP used to convert victim-loss bps → USD.
03 · Formula

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)
Weight rationale
SymbolComponentWeightWhy this weight
w1MEV risk0.40Sandwich + frontrun probability dominates ex-ante loss on retail-size swaps. Largest weight by design.
w2Slippage0.25Realised execution slippage vs the mid quote. Pulled per-DEX from the aggregator quote step.
w3Gas efficiency0.15Gas-cost per unit notional, normalised to the cheapest available route on the same trade.
w4Liquidity depth0.20Subtracted: deeper pools push the score up. Measured as 1bp-depth at the prevailing mid.
04 · Caveats

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.
05 · Audit

Audit the score

06 · Versioning

What changed, when, and why

ComponentVersionLast changedNote
Score schema2026.06.132026-06-13Public launch — first hash-stamped schema.
Sandwich detectorv0.4.22026-06-11W19 external-label rescoring; spoofable signals capped at 0.65.
Pricing sourcechainlink-twap-30m2026-06-0930-minute TWAP from Chainlink price feeds for victim-loss USD conversion.
Finality depth64 blocks2026-06-04One-epoch bound; depth-12 (Wave 12) deprecated as unsafe under empirical reorg data.
schema hash 9f2ca14e8b07d361fb40c2 · detector sandwich-detector v0.4.2
07 · Spec

Detector specification

Why publish the spec

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.

The detector spec carries the same version hash as this page.
Operating motto

Measure in public. Price the risk. Never touch the keys.