Liquidity Score Changelog
Full version history of Liquidity Score methodology decisions, from v1.0 to v6.4.
What This Controls
Liquidity Score Changelog version history
Use this changelog to trace how Pharos changed the related scoring, data-source, threshold, or interpretation rules over time. The latest card below is the current public contract; older entries are retained so historical charts and citations can be read against the rules active at the time.
Primary References
Latest Version
14-day staged pool memory
Staged discovery pools are now remembered for 14 days instead of 24 hours — full confidence through the first day, then linear decay to zero at 336 hours — while price observations remain pinned to rows refreshed within 24 hours.
Impact Snapshot
- The staging merge reads `dex_pool_staging` rows refreshed within 336 hours; confidence is 1.0 for ages up to 24 hours and decays linearly to 0 at 336 hours, replacing the old `max(0.5, 1 - ageHours / 48)` curve that zeroed rows past 24 hours and deleted them after 30 hours. Staging rows are now deleted after 15 days
- Price evidence does not inherit the longer inventory horizon: a staged row older than 24 hours still contributes decayed TVL but emits no price observation and enters the retained set unpriced, so DEX-implied prices, DDR inputs, and peg summaries keep their previous day-fresh behaviour
- Pool coverage and effective TVL no longer drop when the discovery crawl has not revisited a coin within a day; over the trailing 30 days, 228 of 3,364 coin-days swung more than 1.5x or less than 0.5x day-over-day with no market cause, and crawl-timing expiry drove a measured share of those swings
- `measurement.decayed` now means confidence below 1.0, i.e. a staged row older than 24 hours; under the old curve every staged row older than zero hours was marked decayed, so coins whose staged rows are day-fresh see a smaller decayed share, a slightly higher coverage confidence, and can newly clear the `trendworthy` and digest-admission thresholds that read it
v6.4Sep 10, 202614-day staged pool memory
Staged discovery pools are now remembered for 14 days instead of 24 hours — full confidence through the first day, then linear decay to zero at 336 hours — while price observations remain pinned to rows refreshed within 24 hours.
- The staging merge reads `dex_pool_staging` rows refreshed within 336 hours; confidence is 1.0 for ages up to 24 hours and decays linearly to 0 at 336 hours, replacing the old `max(0.5, 1 - ageHours / 48)` curve that zeroed rows past 24 hours and deleted them after 30 hours. Staging rows are now deleted after 15 days
- Price evidence does not inherit the longer inventory horizon: a staged row older than 24 hours still contributes decayed TVL but emits no price observation and enters the retained set unpriced, so DEX-implied prices, DDR inputs, and peg summaries keep their previous day-fresh behaviour
- Pool coverage and effective TVL no longer drop when the discovery crawl has not revisited a coin within a day; over the trailing 30 days, 228 of 3,364 coin-days swung more than 1.5x or less than 0.5x day-over-day with no market cause, and crawl-timing expiry drove a measured share of those swings
- `measurement.decayed` now means confidence below 1.0, i.e. a staged row older than 24 hours; under the old curve every staged row older than zero hours was marked decayed, so coins whose staged rows are day-fresh see a smaller decayed share, a slightly higher coverage confidence, and can newly clear the `trendworthy` and digest-admission thresholds that read it
DetailsHide details
14-day staged pool memory
Staged discovery pools are now remembered for 14 days instead of 24 hours — full confidence through the first day, then linear decay to zero at 336 hours — while price observations remain pinned to rows refreshed within 24 hours.
- The staging merge reads `dex_pool_staging` rows refreshed within 336 hours; confidence is 1.0 for ages up to 24 hours and decays linearly to 0 at 336 hours, replacing the old `max(0.5, 1 - ageHours / 48)` curve that zeroed rows past 24 hours and deleted them after 30 hours. Staging rows are now deleted after 15 days
- Price evidence does not inherit the longer inventory horizon: a staged row older than 24 hours still contributes decayed TVL but emits no price observation and enters the retained set unpriced, so DEX-implied prices, DDR inputs, and peg summaries keep their previous day-fresh behaviour
- Pool coverage and effective TVL no longer drop when the discovery crawl has not revisited a coin within a day; over the trailing 30 days, 228 of 3,364 coin-days swung more than 1.5x or less than 0.5x day-over-day with no market cause, and crawl-timing expiry drove a measured share of those swings
- `measurement.decayed` now means confidence below 1.0, i.e. a staged row older than 24 hours; under the old curve every staged row older than zero hours was marked decayed, so coins whose staged rows are day-fresh see a smaller decayed share, a slightly higher coverage confidence, and can newly clear the `trendworthy` and digest-admission thresholds that read it
Impact Notes
- The staging merge reads `dex_pool_staging` rows refreshed within 336 hours; confidence is 1.0 for ages up to 24 hours and decays linearly to 0 at 336 hours, replacing the old `max(0.5, 1 - ageHours / 48)` curve that zeroed rows past 24 hours and deleted them after 30 hours. Staging rows are now deleted after 15 days
- Price evidence does not inherit the longer inventory horizon: a staged row older than 24 hours still contributes decayed TVL but emits no price observation and enters the retained set unpriced, so DEX-implied prices, DDR inputs, and peg summaries keep their previous day-fresh behaviour
- Pool coverage and effective TVL no longer drop when the discovery crawl has not revisited a coin within a day; over the trailing 30 days, 228 of 3,364 coin-days swung more than 1.5x or less than 0.5x day-over-day with no market cause, and crawl-timing expiry drove a measured share of those swings
- `measurement.decayed` now means confidence below 1.0, i.e. a staged row older than 24 hours; under the old curve every staged row older than zero hours was marked decayed, so coins whose staged rows are day-fresh see a smaller decayed share, a slightly higher coverage confidence, and can newly clear the `trendworthy` and digest-admission thresholds that read it
v6.3Sep 1, 2026Curve physical-pool alias normalization
Curve registry aliases for one physical pool now collapse by canonical chain and address before coin-set ambiguity is evaluated, allowing the reviewed LUSD/3Crv execution target to enter measurement without weakening collision handling.
- When Curve exposes the same pool address through multiple registry views, the latest address-key representation replaces the earlier alias in the fingerprint candidate set instead of being counted as a second physical pool
- Distinct pool addresses with the same token-set fingerprint remain ambiguous and fail closed, preserving the address-grade identity requirement
- The LUSD/3Crv DeFiLlama UUID row can now join its reviewed physical pool and publish the v6.2 exact get_dy_underlying target; aggregate DEX TVL and Liquidity Score formulas are unchanged
DetailsHide details
Curve physical-pool alias normalization
Curve registry aliases for one physical pool now collapse by canonical chain and address before coin-set ambiguity is evaluated, allowing the reviewed LUSD/3Crv execution target to enter measurement without weakening collision handling.
- When Curve exposes the same pool address through multiple registry views, the latest address-key representation replaces the earlier alias in the fingerprint candidate set instead of being counted as a second physical pool
- Distinct pool addresses with the same token-set fingerprint remain ambiguous and fail closed, preserving the address-grade identity requirement
- The LUSD/3Crv DeFiLlama UUID row can now join its reviewed physical pool and publish the v6.2 exact get_dy_underlying target; aggregate DEX TVL and Liquidity Score formulas are unchanged
Impact Notes
- When Curve exposes the same pool address through multiple registry views, the latest address-key representation replaces the earlier alias in the fingerprint candidate set instead of being counted as a second physical pool
- Distinct pool addresses with the same token-set fingerprint remain ambiguous and fail closed, preserving the address-grade identity requirement
- The LUSD/3Crv DeFiLlama UUID row can now join its reviewed physical pool and publish the v6.2 exact get_dy_underlying target; aggregate DEX TVL and Liquidity Score formulas are unchanged
v6.2Sep 1, 2026Exact LUSD/3Crv metapool execution
The reviewed LUSD/3Crv deployment now uses the existing exact Curve metapool adapter, replacing its unresolved execution gate with pinned on-chain get_dy_underlying measurements.
- The producer pins the Ethereum LUSD/3Crv pool, legacy factory registration at pool_list(16), shared metapool implementation, 3pool base relationship, token order, decimals, and runtime code hashes before quoting LUSD to USDC
- Fresh repeated measurements can make the pool score-eligible for Safety Score V9 Exit; TVL alone still provides no execution credit, and any identity, base-pool, quote, or freshness failure remains fail-closed
- The change adds no new RPC lane or source family and does not alter aggregate DEX TVL or the standalone Liquidity Score formula
DetailsHide details
Exact LUSD/3Crv metapool execution
The reviewed LUSD/3Crv deployment now uses the existing exact Curve metapool adapter, replacing its unresolved execution gate with pinned on-chain get_dy_underlying measurements.
- The producer pins the Ethereum LUSD/3Crv pool, legacy factory registration at pool_list(16), shared metapool implementation, 3pool base relationship, token order, decimals, and runtime code hashes before quoting LUSD to USDC
- Fresh repeated measurements can make the pool score-eligible for Safety Score V9 Exit; TVL alone still provides no execution credit, and any identity, base-pool, quote, or freshness failure remains fail-closed
- The change adds no new RPC lane or source family and does not alter aggregate DEX TVL or the standalone Liquidity Score formula
Impact Notes
- The producer pins the Ethereum LUSD/3Crv pool, legacy factory registration at pool_list(16), shared metapool implementation, 3pool base relationship, token order, decimals, and runtime code hashes before quoting LUSD to USDC
- Fresh repeated measurements can make the pool score-eligible for Safety Score V9 Exit; TVL alone still provides no execution credit, and any identity, base-pool, quote, or freshness failure remains fail-closed
- The change adds no new RPC lane or source family and does not alter aggregate DEX TVL or the standalone Liquidity Score formula
v6.1Aug 21, 2026Family-scoped authoritative confirmation for classic v2 pools
Authoritative staged-pool confirmation now follows the exact protocol family enumerated by each native source, so Slipstream-only inventories no longer veto classic Aerodrome or Velodrome v2 pools outside their coverage.
- Aerodrome and Velodrome staged pools identified as Slipstream or concentrated liquidity still require an exact id from the clean protocol-native Slipstream inventory
- Classic v2 Aerodrome and Velodrome pools remain eligible through exact-address CoinGecko Onchain, GeckoTerminal, or DexScreener discovery because the native Slipstream fetchers do not enumerate those pools
- Full-family direct inventories such as Balancer, Fluid, Raydium, Orca, and Meteora retain exact-id confirmation across every declared chain, while PancakeSwap keeps its existing v3/v4-only confirmation scope
- Base Dollar's launch BD/USDC Aerodrome stableswap can therefore contribute its discovered pool TVL, volume, and price instead of being mislabeled unobserved solely because an unrelated Slipstream inventory completed cleanly
DetailsHide details
Family-scoped authoritative confirmation for classic v2 pools
Authoritative staged-pool confirmation now follows the exact protocol family enumerated by each native source, so Slipstream-only inventories no longer veto classic Aerodrome or Velodrome v2 pools outside their coverage.
- Aerodrome and Velodrome staged pools identified as Slipstream or concentrated liquidity still require an exact id from the clean protocol-native Slipstream inventory
- Classic v2 Aerodrome and Velodrome pools remain eligible through exact-address CoinGecko Onchain, GeckoTerminal, or DexScreener discovery because the native Slipstream fetchers do not enumerate those pools
- Full-family direct inventories such as Balancer, Fluid, Raydium, Orca, and Meteora retain exact-id confirmation across every declared chain, while PancakeSwap keeps its existing v3/v4-only confirmation scope
- Base Dollar's launch BD/USDC Aerodrome stableswap can therefore contribute its discovered pool TVL, volume, and price instead of being mislabeled unobserved solely because an unrelated Slipstream inventory completed cleanly
Impact Notes
- Aerodrome and Velodrome staged pools identified as Slipstream or concentrated liquidity still require an exact id from the clean protocol-native Slipstream inventory
- Classic v2 Aerodrome and Velodrome pools remain eligible through exact-address CoinGecko Onchain, GeckoTerminal, or DexScreener discovery because the native Slipstream fetchers do not enumerate those pools
- Full-family direct inventories such as Balancer, Fluid, Raydium, Orca, and Meteora retain exact-id confirmation across every declared chain, while PancakeSwap keeps its existing v3/v4-only confirmation scope
- Base Dollar's launch BD/USDC Aerodrome stableswap can therefore contribute its discovered pool TVL, volume, and price instead of being mislabeled unobserved solely because an unrelated Slipstream inventory completed cleanly
v6.0Aug 20, 2026Raydium double-count correction and native measured-lane retirement
DefiLlama Raydium pools are now classified from their pool metadata, collapsing the DefiLlama/direct-API double count of the same physical Solana CLMM pool, and the never-score-eligible Solana and Tron native measured-execution lanes plus the Fluid measured overlay are retired.
- DefiLlama publishes every Raydium pool under a single `raydium-amm` project label, hiding whether a pool is concentrated (CLMM); cross-source deduplication therefore admitted a DefiLlama Raydium CLMM row and the identical directly fetched pool as two pools, counting the same physical liquidity twice and scoring the DefiLlama copy with the wrong standard-AMM venue-quality weight. v6.0 classifies from DefiLlama's `poolMeta`, so the duplicate collapses to the direct-API measurement and surviving DefiLlama CLMM rows receive the correct concentrated-liquidity weight
- Reported DEX TVL for Raydium-exposed stablecoins decreases by the previously double-counted amount (typically 2-35% of a coin's measured TVL), and Liquidity Scores move accordingly. Observed movements at the first v6.0 publication ranged from -12 to +9 points: down where duplicate removal dominates, up where the venue-quality correction on surviving concentrated pools dominates. The old numbers overstated liquidity; no on-chain liquidity changed
- Because the Selector applies hard liquidity-score floors (50 for trading eligibility, 65 for the 1-hour exit-speed lane), coins near those floors moved in both directions at the first v6.0 publication (2026-08-20 08:16 UTC): USX (51 to 44) and USDS (58 to 46) crossed below the 50 trading floor, while DUSD (50 to 54) and VCHF (52 to 59) rose and stayed eligible; for them the venue-quality correction outweighed the removed duplicate TVL. USDC stays comfortably above the 65 one-hour floor, rising from 68 to 77, because reclassifying roughly $1.9B of surviving concentrated Raydium rows to the correct venue-quality weight outweighs the roughly $330M of removed duplicate TVL
- The never-score-eligible Solana and Tron native measured-execution lanes (Raydium CLMM, Orca Whirlpool, SunSwap V2) and the Fluid measured overlay are removed; their pools continue as shaped, capability-appropriate evidence, and Raydium, Orca, and Fluid aggregate TVL contributions are unchanged. Public `topPools` Fluid entries no longer carry `measuredExecution` or `executionCapabilityGate` (both keys remain on active EVM measured profiles), and the unreachable `native-measured-exact` capability entry is removed from the route-source capability matrix
DetailsHide details
Raydium double-count correction and native measured-lane retirement
DefiLlama Raydium pools are now classified from their pool metadata, collapsing the DefiLlama/direct-API double count of the same physical Solana CLMM pool, and the never-score-eligible Solana and Tron native measured-execution lanes plus the Fluid measured overlay are retired.
- DefiLlama publishes every Raydium pool under a single `raydium-amm` project label, hiding whether a pool is concentrated (CLMM); cross-source deduplication therefore admitted a DefiLlama Raydium CLMM row and the identical directly fetched pool as two pools, counting the same physical liquidity twice and scoring the DefiLlama copy with the wrong standard-AMM venue-quality weight. v6.0 classifies from DefiLlama's `poolMeta`, so the duplicate collapses to the direct-API measurement and surviving DefiLlama CLMM rows receive the correct concentrated-liquidity weight
- Reported DEX TVL for Raydium-exposed stablecoins decreases by the previously double-counted amount (typically 2-35% of a coin's measured TVL), and Liquidity Scores move accordingly. Observed movements at the first v6.0 publication ranged from -12 to +9 points: down where duplicate removal dominates, up where the venue-quality correction on surviving concentrated pools dominates. The old numbers overstated liquidity; no on-chain liquidity changed
- Because the Selector applies hard liquidity-score floors (50 for trading eligibility, 65 for the 1-hour exit-speed lane), coins near those floors moved in both directions at the first v6.0 publication (2026-08-20 08:16 UTC): USX (51 to 44) and USDS (58 to 46) crossed below the 50 trading floor, while DUSD (50 to 54) and VCHF (52 to 59) rose and stayed eligible; for them the venue-quality correction outweighed the removed duplicate TVL. USDC stays comfortably above the 65 one-hour floor, rising from 68 to 77, because reclassifying roughly $1.9B of surviving concentrated Raydium rows to the correct venue-quality weight outweighs the roughly $330M of removed duplicate TVL
- The never-score-eligible Solana and Tron native measured-execution lanes (Raydium CLMM, Orca Whirlpool, SunSwap V2) and the Fluid measured overlay are removed; their pools continue as shaped, capability-appropriate evidence, and Raydium, Orca, and Fluid aggregate TVL contributions are unchanged. Public `topPools` Fluid entries no longer carry `measuredExecution` or `executionCapabilityGate` (both keys remain on active EVM measured profiles), and the unreachable `native-measured-exact` capability entry is removed from the route-source capability matrix
Impact Notes
- DefiLlama publishes every Raydium pool under a single `raydium-amm` project label, hiding whether a pool is concentrated (CLMM); cross-source deduplication therefore admitted a DefiLlama Raydium CLMM row and the identical directly fetched pool as two pools, counting the same physical liquidity twice and scoring the DefiLlama copy with the wrong standard-AMM venue-quality weight. v6.0 classifies from DefiLlama's `poolMeta`, so the duplicate collapses to the direct-API measurement and surviving DefiLlama CLMM rows receive the correct concentrated-liquidity weight
- Reported DEX TVL for Raydium-exposed stablecoins decreases by the previously double-counted amount (typically 2-35% of a coin's measured TVL), and Liquidity Scores move accordingly. Observed movements at the first v6.0 publication ranged from -12 to +9 points: down where duplicate removal dominates, up where the venue-quality correction on surviving concentrated pools dominates. The old numbers overstated liquidity; no on-chain liquidity changed
- Because the Selector applies hard liquidity-score floors (50 for trading eligibility, 65 for the 1-hour exit-speed lane), coins near those floors moved in both directions at the first v6.0 publication (2026-08-20 08:16 UTC): USX (51 to 44) and USDS (58 to 46) crossed below the 50 trading floor, while DUSD (50 to 54) and VCHF (52 to 59) rose and stayed eligible; for them the venue-quality correction outweighed the removed duplicate TVL. USDC stays comfortably above the 65 one-hour floor, rising from 68 to 77, because reclassifying roughly $1.9B of surviving concentrated Raydium rows to the correct venue-quality weight outweighs the roughly $330M of removed duplicate TVL
- The never-score-eligible Solana and Tron native measured-execution lanes (Raydium CLMM, Orca Whirlpool, SunSwap V2) and the Fluid measured overlay are removed; their pools continue as shaped, capability-appropriate evidence, and Raydium, Orca, and Fluid aggregate TVL contributions are unchanged. Public `topPools` Fluid entries no longer carry `measuredExecution` or `executionCapabilityGate` (both keys remain on active EVM measured profiles), and the unreachable `native-measured-exact` capability entry is removed from the route-source capability matrix
- The dead pre-5.9 API fallback that reconstructed `methodologyVersion` from a row's update time is removed; stored versions pass through unchanged with no observable effect
v5.993Aug 13, 2026Activated exact hook-free Ethereum Uniswap V4 exits
Reviewed hook-free Ethereum Uniswap V4 PoolKeys can now enter exact DEX exit-route scoring after three productive production shadow generations and 129 successful quotes across the latest 130-direction cohort.
- Activation is limited to exact hook-free PoolKeys on the pinned Ethereum PoolManager, StateView, and Quoter deployment; hooked pools and other V4 chains remain unsupported
- Every score-facing profile still requires current runtime hashes, immutable PoolManager bindings, pinned pool state, exact token and PoolId identity, and a fresh ABI-bound quote
- The existing 1,220-request admission ceiling, 80-request fragmentation reserve, 1,300-request hard ceiling, quote-subcall limit, memory containment, and shadow machinery are unchanged
- Fluid resolver, Solana native, and SunSwap V2 profiles remain shadow-only and score-ineligible
DetailsHide details
Activated exact hook-free Ethereum Uniswap V4 exits
Reviewed hook-free Ethereum Uniswap V4 PoolKeys can now enter exact DEX exit-route scoring after three productive production shadow generations and 129 successful quotes across the latest 130-direction cohort.
- Activation is limited to exact hook-free PoolKeys on the pinned Ethereum PoolManager, StateView, and Quoter deployment; hooked pools and other V4 chains remain unsupported
- Every score-facing profile still requires current runtime hashes, immutable PoolManager bindings, pinned pool state, exact token and PoolId identity, and a fresh ABI-bound quote
- The existing 1,220-request admission ceiling, 80-request fragmentation reserve, 1,300-request hard ceiling, quote-subcall limit, memory containment, and shadow machinery are unchanged
- Fluid resolver, Solana native, and SunSwap V2 profiles remain shadow-only and score-ineligible
Impact Notes
- Activation is limited to exact hook-free PoolKeys on the pinned Ethereum PoolManager, StateView, and Quoter deployment; hooked pools and other V4 chains remain unsupported
- Every score-facing profile still requires current runtime hashes, immutable PoolManager bindings, pinned pool state, exact token and PoolId identity, and a fresh ABI-bound quote
- The existing 1,220-request admission ceiling, 80-request fragmentation reserve, 1,300-request hard ceiling, quote-subcall limit, memory containment, and shadow machinery are unchanged
- Fluid resolver, Solana native, and SunSwap V2 profiles remain shadow-only and score-ineligible
v5.992Aug 12, 2026Aligned measured-quote freshness with the two-hour publication cadence
All measured DEX exit-route adapters now share the two-hour freshness ceiling the reviewed Curve StableSwap adapters already used, matching the two-hour score-bearing publication cadence introduced in 5.991.
- Half-hourly Safety Score V9 preparations no longer derate measured DEX route confidence from high to medium on the runs that fall 60-120 minutes after an on-schedule liquidity publication, which had flipped several A-boundary grades on alternate score runs
- A missed liquidity publication still expires measured evidence: profiles older than two hours revert to medium confidence exactly as before
- Quote measurement, capacity curves, route selection, the Liquidity Score formula, and all other freshness gates are unchanged
DetailsHide details
Aligned measured-quote freshness with the two-hour publication cadence
All measured DEX exit-route adapters now share the two-hour freshness ceiling the reviewed Curve StableSwap adapters already used, matching the two-hour score-bearing publication cadence introduced in 5.991.
- Half-hourly Safety Score V9 preparations no longer derate measured DEX route confidence from high to medium on the runs that fall 60-120 minutes after an on-schedule liquidity publication, which had flipped several A-boundary grades on alternate score runs
- A missed liquidity publication still expires measured evidence: profiles older than two hours revert to medium confidence exactly as before
- Quote measurement, capacity curves, route selection, the Liquidity Score formula, and all other freshness gates are unchanged
Impact Notes
- Half-hourly Safety Score V9 preparations no longer derate measured DEX route confidence from high to medium on the runs that fall 60-120 minutes after an on-schedule liquidity publication, which had flipped several A-boundary grades on alternate score runs
- A missed liquidity publication still expires measured evidence: profiles older than two hours revert to medium confidence exactly as before
- Quote measurement, capacity curves, route selection, the Liquidity Score formula, and all other freshness gates are unchanged
v5.991Aug 10, 2026Separated DEX price, score, and shadow cadences
DEX prices now refresh hourly, the standalone Liquidity Score publishes every two hours, active exact-route quotes remain half-hourly, and score-ineligible shadow evidence moves to a daily diagnostic run.
- The Liquidity Score formula, source admission, retained-pool selection, protocol caps, and public row schema are unchanged
- Hourly price generations continue to use the exact retained pool graph and current published liquidity generation, while alternate hours avoid rewriting score, history, depth, and target rows
- Score-bearing EVM exact-route evidence retains its 30-minute quote cadence; score-ineligible EVM, Solana, and Tron evidence is isolated to a daily shadow lane and cannot affect scoring
- Synthetic budget deferrals are reconstructed from a count-and-digest-fenced generation manifest instead of being stored as one D1 row per target; fail-closed identity and last-known-good semantics are unchanged
DetailsHide details
Separated DEX price, score, and shadow cadences
DEX prices now refresh hourly, the standalone Liquidity Score publishes every two hours, active exact-route quotes remain half-hourly, and score-ineligible shadow evidence moves to a daily diagnostic run.
- The Liquidity Score formula, source admission, retained-pool selection, protocol caps, and public row schema are unchanged
- Hourly price generations continue to use the exact retained pool graph and current published liquidity generation, while alternate hours avoid rewriting score, history, depth, and target rows
- Score-bearing EVM exact-route evidence retains its 30-minute quote cadence; score-ineligible EVM, Solana, and Tron evidence is isolated to a daily shadow lane and cannot affect scoring
- Synthetic budget deferrals are reconstructed from a count-and-digest-fenced generation manifest instead of being stored as one D1 row per target; fail-closed identity and last-known-good semantics are unchanged
Impact Notes
- The Liquidity Score formula, source admission, retained-pool selection, protocol caps, and public row schema are unchanged
- Hourly price generations continue to use the exact retained pool graph and current published liquidity generation, while alternate hours avoid rewriting score, history, depth, and target rows
- Score-bearing EVM exact-route evidence retains its 30-minute quote cadence; score-ineligible EVM, Solana, and Tron evidence is isolated to a daily shadow lane and cannot affect scoring
- Synthetic budget deferrals are reconstructed from a count-and-digest-fenced generation manifest instead of being stored as one D1 row per target; fail-closed identity and last-known-good semantics are unchanged
v5.99Aug 8, 2026Stellar classic-AMM discovery
Stellar Horizon now supplies bounded, case-preserving classic-AMM discovery for active Stellar deployments, while Soroban contract-token identities remain explicitly unavailable.
- Classic Stellar CODE:ISSUER assets can contribute Horizon pool observations after exact reserve-identity validation; legacy bare-issuer metadata is combined with the tracked asset code without lowercasing
- A Horizon row receives price and TVL only when the counter-asset is another active tracked classic Stellar stablecoin with a usable peg reference and the implied tracked price passes the shared plausibility gate
- Horizon remains a capped secondary discovery family with 0.55 fallback-price confidence, the common retained-pool admission rules, and a bounded 200-row response rather than an exhaustive liquidity claim
- Soroban contract-token deployments fail closed as provider-degraded, and order-book or Soroban DEX liquidity remains outside this provider
DetailsHide details
Stellar classic-AMM discovery
Stellar Horizon now supplies bounded, case-preserving classic-AMM discovery for active Stellar deployments, while Soroban contract-token identities remain explicitly unavailable.
- Classic Stellar CODE:ISSUER assets can contribute Horizon pool observations after exact reserve-identity validation; legacy bare-issuer metadata is combined with the tracked asset code without lowercasing
- A Horizon row receives price and TVL only when the counter-asset is another active tracked classic Stellar stablecoin with a usable peg reference and the implied tracked price passes the shared plausibility gate
- Horizon remains a capped secondary discovery family with 0.55 fallback-price confidence, the common retained-pool admission rules, and a bounded 200-row response rather than an exhaustive liquidity claim
- Soroban contract-token deployments fail closed as provider-degraded, and order-book or Soroban DEX liquidity remains outside this provider
Impact Notes
- Classic Stellar CODE:ISSUER assets can contribute Horizon pool observations after exact reserve-identity validation; legacy bare-issuer metadata is combined with the tracked asset code without lowercasing
- A Horizon row receives price and TVL only when the counter-asset is another active tracked classic Stellar stablecoin with a usable peg reference and the implied tracked price passes the shared plausibility gate
- Horizon remains a capped secondary discovery family with 0.55 fallback-price confidence, the common retained-pool admission rules, and a bounded 200-row response rather than an exhaustive liquidity claim
- Soroban contract-token deployments fail closed as provider-degraded, and order-book or Soroban DEX liquidity remains outside this provider
v5.98Jul 31, 2026Trust-filtered DEX primary-price handoff
The DEX scoring consumer now treats the staged primary-price map as an authoritative trust-filtered input instead of backfilling omitted assets from the broader stablecoin cache.
- Assets intentionally omitted from the trust-filtered primary-price handoff can still publish their DEX-implied median and source aggregates, but primary price and primary-relative deviation fields remain null
- Untrusted or low-confidence primary references can no longer re-enter DEX price publication solely because an observed DEX asset was missing from the staged map
- DEX weighted medians, retained-pool price sources, aggregate liquidity, visible pool selection, target publication, V8 liquidity scoring, and Safety Score V9 route inputs are unchanged
DetailsHide details
Trust-filtered DEX primary-price handoff
The DEX scoring consumer now treats the staged primary-price map as an authoritative trust-filtered input instead of backfilling omitted assets from the broader stablecoin cache.
- Assets intentionally omitted from the trust-filtered primary-price handoff can still publish their DEX-implied median and source aggregates, but primary price and primary-relative deviation fields remain null
- Untrusted or low-confidence primary references can no longer re-enter DEX price publication solely because an observed DEX asset was missing from the staged map
- DEX weighted medians, retained-pool price sources, aggregate liquidity, visible pool selection, target publication, V8 liquidity scoring, and Safety Score V9 route inputs are unchanged
Impact Notes
- Assets intentionally omitted from the trust-filtered primary-price handoff can still publish their DEX-implied median and source aggregates, but primary price and primary-relative deviation fields remain null
- Untrusted or low-confidence primary references can no longer re-enter DEX price publication solely because an observed DEX asset was missing from the staged map
- DEX weighted medians, retained-pool price sources, aggregate liquidity, visible pool selection, target publication, V8 liquidity scoring, and Safety Score V9 route inputs are unchanged
v5.97Jul 29, 2026Retired Optimism Uniswap V3 shadow lane
The Optimism Uniswap V3 subgraph and QuoterV2 measured-execution lane are removed from the maintained DEX source roster after the owner accepted clean retirement.
- Uniswap V3 subgraph enrichment now covers Ethereum, Base, Arbitrum, and Polygon; Optimism no longer contributes source-stage UniV3 pools, price observations, or measured-execution targets
- The reviewed Optimism QuoterV2 deployment is no longer scheduled for evidence collection; stale persisted profiles fail deployment validation instead of remaining shadow evidence
- Other Optimism liquidity lanes, including Curve, Balancer, and Velodrome Slipstream, are unchanged
- Current score-eligible exact-route cohorts are unchanged: Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; and Base Aerodrome Slipstream
DetailsHide details
Retired Optimism Uniswap V3 shadow lane
The Optimism Uniswap V3 subgraph and QuoterV2 measured-execution lane are removed from the maintained DEX source roster after the owner accepted clean retirement.
- Uniswap V3 subgraph enrichment now covers Ethereum, Base, Arbitrum, and Polygon; Optimism no longer contributes source-stage UniV3 pools, price observations, or measured-execution targets
- The reviewed Optimism QuoterV2 deployment is no longer scheduled for evidence collection; stale persisted profiles fail deployment validation instead of remaining shadow evidence
- Other Optimism liquidity lanes, including Curve, Balancer, and Velodrome Slipstream, are unchanged
- Current score-eligible exact-route cohorts are unchanged: Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; and Base Aerodrome Slipstream
Impact Notes
- Uniswap V3 subgraph enrichment now covers Ethereum, Base, Arbitrum, and Polygon; Optimism no longer contributes source-stage UniV3 pools, price observations, or measured-execution targets
- The reviewed Optimism QuoterV2 deployment is no longer scheduled for evidence collection; stale persisted profiles fail deployment validation instead of remaining shadow evidence
- Other Optimism liquidity lanes, including Curve, Balancer, and Velodrome Slipstream, are unchanged
- Current score-eligible exact-route cohorts are unchanged: Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; and Base Aerodrome Slipstream
v5.96Jul 28, 2026Capacity-dominant bounded route selection
The private executable-route candidate set is now evaluated at the $25M/200 bps V9 stress point before ten public observations are selected, with diversity quotas and a still-fresh asset-level churn hold.
- The bounded payload guarantees the strongest executable-capacity route, the strongest exact reserve-model fallback, and an independent chain/protocol route when one exists
- Measured evidence no longer outranks a materially deeper exact route solely because its evidence tier is nominally stronger; per-chain, protocol, and adapter quotas prevent one common mode from occupying the route set
- If unexplained route-set churn cuts an asset's best stress capacity below half of a still-fresh prior set with at least $100K capacity, only that asset retains the prior route observations until confirmation or expiry
- SunSwap V2 returns to shadow-only collection while its production score impact is revalidated; aggregate liquidity, price consensus, visible pools, and V8 scoring remain unchanged
DetailsHide details
Capacity-dominant bounded route selection
The private executable-route candidate set is now evaluated at the $25M/200 bps V9 stress point before ten public observations are selected, with diversity quotas and a still-fresh asset-level churn hold.
- The bounded payload guarantees the strongest executable-capacity route, the strongest exact reserve-model fallback, and an independent chain/protocol route when one exists
- Measured evidence no longer outranks a materially deeper exact route solely because its evidence tier is nominally stronger; per-chain, protocol, and adapter quotas prevent one common mode from occupying the route set
- If unexplained route-set churn cuts an asset's best stress capacity below half of a still-fresh prior set with at least $100K capacity, only that asset retains the prior route observations until confirmation or expiry
- SunSwap V2 returns to shadow-only collection while its production score impact is revalidated; aggregate liquidity, price consensus, visible pools, and V8 scoring remain unchanged
Impact Notes
- The bounded payload guarantees the strongest executable-capacity route, the strongest exact reserve-model fallback, and an independent chain/protocol route when one exists
- Measured evidence no longer outranks a materially deeper exact route solely because its evidence tier is nominally stronger; per-chain, protocol, and adapter quotas prevent one common mode from occupying the route set
- If unexplained route-set churn cuts an asset's best stress capacity below half of a still-fresh prior set with at least $100K capacity, only that asset retains the prior route observations until confirmation or expiry
- SunSwap V2 returns to shadow-only collection while its production score impact is revalidated; aggregate liquidity, price consensus, visible pools, and V8 scoring remain unchanged
v5.95Jul 28, 2026Pinned SunSwap V2 direct-route fallback
A canonical SunSwap V2 pool can retain exact direct-execution evidence when SUN's three best Smart Router paths are all multi-hop, but only through the reviewed on-chain V2 Router deployment.
- The Smart Router calculation service remains the primary quote source; the fallback is eligible only when its successful response consists entirely of clean V2 multi-hop candidates, because the documented service returns only the three highest-output paths
- The fallback pins the documented SunSwap V2 Router address and runtime hash, proves its factory binding, and requires `getAmountsOut` for the exact two-token path to equal the independently read pair reserves under the reviewed 0.3% constant-product formula
- Any malformed, ambiguous, referral-bearing, output-mismatched, or otherwise invalid direct Smart Router candidate remains fail-closed and cannot be masked by the on-chain fallback
- The change closes the persistent USDT/PHONFT target gap without admitting multi-hop capacity or changing aggregate liquidity, price consensus, visible pools, target publication, or V8 liquidity scoring
DetailsHide details
Pinned SunSwap V2 direct-route fallback
A canonical SunSwap V2 pool can retain exact direct-execution evidence when SUN's three best Smart Router paths are all multi-hop, but only through the reviewed on-chain V2 Router deployment.
- The Smart Router calculation service remains the primary quote source; the fallback is eligible only when its successful response consists entirely of clean V2 multi-hop candidates, because the documented service returns only the three highest-output paths
- The fallback pins the documented SunSwap V2 Router address and runtime hash, proves its factory binding, and requires `getAmountsOut` for the exact two-token path to equal the independently read pair reserves under the reviewed 0.3% constant-product formula
- Any malformed, ambiguous, referral-bearing, output-mismatched, or otherwise invalid direct Smart Router candidate remains fail-closed and cannot be masked by the on-chain fallback
- The change closes the persistent USDT/PHONFT target gap without admitting multi-hop capacity or changing aggregate liquidity, price consensus, visible pools, target publication, or V8 liquidity scoring
Impact Notes
- The Smart Router calculation service remains the primary quote source; the fallback is eligible only when its successful response consists entirely of clean V2 multi-hop candidates, because the documented service returns only the three highest-output paths
- The fallback pins the documented SunSwap V2 Router address and runtime hash, proves its factory binding, and requires `getAmountsOut` for the exact two-token path to equal the independently read pair reserves under the reviewed 0.3% constant-product formula
- Any malformed, ambiguous, referral-bearing, output-mismatched, or otherwise invalid direct Smart Router candidate remains fail-closed and cannot be masked by the on-chain fallback
- The change closes the persistent USDT/PHONFT target gap without admitting multi-hop capacity or changing aggregate liquidity, price consensus, visible pools, target publication, or V8 liquidity scoring
v5.94Jul 27, 2026Pinned Curve StableSwap-NG rate state
Address-grade plain Curve StableSwap-NG pools with rate-bearing inputs can contribute a reserve model only after a fresh, same-block state capture proves the balances, amplification, stored rates, static fee state, and ordered coin layout.
- Only `factory-stable-ng` candidates with an exact EVM address, unique token identities, and one tracked input are eligible; legacy, metapool, CryptoSwap, unknown, stale, or unpinnable shapes remain capability-gated
- The capture rereads the pinned block header hash after bounded multicalls for `get_balances`, `stored_rates`, `A`, `fee`, `offpeg_fee_multiplier`, and `coins`; rate factors scale balances and inversely scale USD references, while Curve applies the captured static fee after the full-input invariant
- Missing, base-only, malformed, dynamic-fee, mismatched-order, or hash-drifted state clears the internal candidate and retains `curve-stableswap:rate-bearing-inputs` rather than using API balances, an unpinned amplification value, a guessed fee, or nominal parity
- This is route-only Safety Score V9 evidence: aggregate liquidity, price consensus, visible pools, target publication, and V8 liquidity scoring are unchanged
DetailsHide details
Pinned Curve StableSwap-NG rate state
Address-grade plain Curve StableSwap-NG pools with rate-bearing inputs can contribute a reserve model only after a fresh, same-block state capture proves the balances, amplification, stored rates, static fee state, and ordered coin layout.
- Only `factory-stable-ng` candidates with an exact EVM address, unique token identities, and one tracked input are eligible; legacy, metapool, CryptoSwap, unknown, stale, or unpinnable shapes remain capability-gated
- The capture rereads the pinned block header hash after bounded multicalls for `get_balances`, `stored_rates`, `A`, `fee`, `offpeg_fee_multiplier`, and `coins`; rate factors scale balances and inversely scale USD references, while Curve applies the captured static fee after the full-input invariant
- Missing, base-only, malformed, dynamic-fee, mismatched-order, or hash-drifted state clears the internal candidate and retains `curve-stableswap:rate-bearing-inputs` rather than using API balances, an unpinned amplification value, a guessed fee, or nominal parity
- This is route-only Safety Score V9 evidence: aggregate liquidity, price consensus, visible pools, target publication, and V8 liquidity scoring are unchanged
Impact Notes
- Only `factory-stable-ng` candidates with an exact EVM address, unique token identities, and one tracked input are eligible; legacy, metapool, CryptoSwap, unknown, stale, or unpinnable shapes remain capability-gated
- The capture rereads the pinned block header hash after bounded multicalls for `get_balances`, `stored_rates`, `A`, `fee`, `offpeg_fee_multiplier`, and `coins`; rate factors scale balances and inversely scale USD references, while Curve applies the captured static fee after the full-input invariant
- Missing, base-only, malformed, dynamic-fee, mismatched-order, or hash-drifted state clears the internal candidate and retains `curve-stableswap:rate-bearing-inputs` rather than using API balances, an unpinned amplification value, a guessed fee, or nominal parity
- This is route-only Safety Score V9 evidence: aggregate liquidity, price consensus, visible pools, target publication, and V8 liquidity scoring are unchanged
v5.93Jul 27, 2026Paused v5.92 exact-route activations
Optimism Uniswap V3 and the reviewed Solana wM/USDC Raydium direction return to shadow-only collection after the first post-activation scoring consumers exceeded the Worker memory limit.
- Both cohorts are score-ineligible and retain an activation-pending capability gate while production scoring memory is remediated and revalidated
- Optimism deployment verification and quotes, plus the Raydium pool-account capture, direct quote, and exact single-segment replay, remain live as activation evidence
- Previously active Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; Base Aerodrome Slipstream; and Tron SunSwap V2 cohorts are unchanged
- No stale route, manual capacity, or reserve-derived substitute enters P4 while either reviewed cohort is paused
DetailsHide details
Paused v5.92 exact-route activations
Optimism Uniswap V3 and the reviewed Solana wM/USDC Raydium direction return to shadow-only collection after the first post-activation scoring consumers exceeded the Worker memory limit.
- Both cohorts are score-ineligible and retain an activation-pending capability gate while production scoring memory is remediated and revalidated
- Optimism deployment verification and quotes, plus the Raydium pool-account capture, direct quote, and exact single-segment replay, remain live as activation evidence
- Previously active Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; Base Aerodrome Slipstream; and Tron SunSwap V2 cohorts are unchanged
- No stale route, manual capacity, or reserve-derived substitute enters P4 while either reviewed cohort is paused
Impact Notes
- Both cohorts are score-ineligible and retain an activation-pending capability gate while production scoring memory is remediated and revalidated
- Optimism deployment verification and quotes, plus the Raydium pool-account capture, direct quote, and exact single-segment replay, remain live as activation evidence
- Previously active Ethereum, Polygon, and Arbitrum Uniswap V3; Base, BSC, and Ethereum PancakeSwap V3; Base Aerodrome Slipstream; and Tron SunSwap V2 cohorts are unchanged
- No stale route, manual capacity, or reserve-derived substitute enters P4 while either reviewed cohort is paused
v5.92Jul 27, 2026Pinned Raydium CLMM on-state execution
The reviewed Solana wM/USDC Raydium CLMM direction can contribute exact route evidence only after its captured current liquidity segment reproduces the strict direct quote.
- Activation is limited to the case-sensitive wM-to-USDC direction in the reviewed Raydium CLMM pool; generic Raydium CLMM, Orca Whirlpool including the adaptive-fee HYUSD pool, Meteora, and all unlisted native targets remain shadow-only
- Each accepted wM profile binds the direct route, raw amounts, provider fee, pool owner and mint order, captured liquidity and sqrt price, post-swap sqrt price, bounded slot window, and exact single-segment integer replay; any mismatch, tick crossing, malformed state, route drift, or identity failure is capability-gated
- Only explicit operational collection failures may retain the newest still-fresh exact profile for the same target across bounded Solana rotation; semantic failures and malformed history are integrity barriers
- The route-only profile does not alter aggregate liquidity, price consensus, direct-source precedence, visible pool selection, target publication, or V8 liquidity scoring
DetailsHide details
Pinned Raydium CLMM on-state execution
The reviewed Solana wM/USDC Raydium CLMM direction can contribute exact route evidence only after its captured current liquidity segment reproduces the strict direct quote.
- Activation is limited to the case-sensitive wM-to-USDC direction in the reviewed Raydium CLMM pool; generic Raydium CLMM, Orca Whirlpool including the adaptive-fee HYUSD pool, Meteora, and all unlisted native targets remain shadow-only
- Each accepted wM profile binds the direct route, raw amounts, provider fee, pool owner and mint order, captured liquidity and sqrt price, post-swap sqrt price, bounded slot window, and exact single-segment integer replay; any mismatch, tick crossing, malformed state, route drift, or identity failure is capability-gated
- Only explicit operational collection failures may retain the newest still-fresh exact profile for the same target across bounded Solana rotation; semantic failures and malformed history are integrity barriers
- The route-only profile does not alter aggregate liquidity, price consensus, direct-source precedence, visible pool selection, target publication, or V8 liquidity scoring
Impact Notes
- Activation is limited to the case-sensitive wM-to-USDC direction in the reviewed Raydium CLMM pool; generic Raydium CLMM, Orca Whirlpool including the adaptive-fee HYUSD pool, Meteora, and all unlisted native targets remain shadow-only
- Each accepted wM profile binds the direct route, raw amounts, provider fee, pool owner and mint order, captured liquidity and sqrt price, post-swap sqrt price, bounded slot window, and exact single-segment integer replay; any mismatch, tick crossing, malformed state, route drift, or identity failure is capability-gated
- Only explicit operational collection failures may retain the newest still-fresh exact profile for the same target across bounded Solana rotation; semantic failures and malformed history are integrity barriers
- The route-only profile does not alter aggregate liquidity, price consensus, direct-source precedence, visible pool selection, target publication, or V8 liquidity scoring
v5.91Jul 27, 2026Guarded SunSwap V2 reactivation
Reviewed Tron SunSwap V2 execution profiles are score-eligible again after current complete 21/21 shadow generations and healthy split scoring consumers.
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Solana CLMM, Fluid, Uniswap V4, and unratified native cohorts remain shadow-only
- Every accepted profile must still prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- The first active scoring consumers remain a guarded production trial: memory termination, stale heartbeat, incomplete generations, or identity/proof drift require returning the registry to shadow while leaving evidence collection enabled
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
DetailsHide details
Guarded SunSwap V2 reactivation
Reviewed Tron SunSwap V2 execution profiles are score-eligible again after current complete 21/21 shadow generations and healthy split scoring consumers.
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Solana CLMM, Fluid, Uniswap V4, and unratified native cohorts remain shadow-only
- Every accepted profile must still prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- The first active scoring consumers remain a guarded production trial: memory termination, stale heartbeat, incomplete generations, or identity/proof drift require returning the registry to shadow while leaving evidence collection enabled
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
Impact Notes
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Solana CLMM, Fluid, Uniswap V4, and unratified native cohorts remain shadow-only
- Every accepted profile must still prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- The first active scoring consumers remain a guarded production trial: memory termination, stale heartbeat, incomplete generations, or identity/proof drift require returning the registry to shadow while leaving evidence collection enabled
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
v5.90Jul 25, 2026Paused SunSwap V2 scoring after rollout
SunSwap V2 exact-execution collection remains live, but its profiles return to shadow-only status after the first two active DEX-scoring invocations exceeded the Worker memory limit.
- The SunSwap V2 adapter is score-ineligible and valid profiles retain the activation-pending capability gate while the scoring consumer's memory behavior is remediated and revalidated
- The complete 21-target producer remains enabled so direct-route reliability, identity, reserve, output, and block-bracket evidence continue to accumulate
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
DetailsHide details
Paused SunSwap V2 scoring after rollout
SunSwap V2 exact-execution collection remains live, but its profiles return to shadow-only status after the first two active DEX-scoring invocations exceeded the Worker memory limit.
- The SunSwap V2 adapter is score-ineligible and valid profiles retain the activation-pending capability gate while the scoring consumer's memory behavior is remediated and revalidated
- The complete 21-target producer remains enabled so direct-route reliability, identity, reserve, output, and block-bracket evidence continue to accumulate
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
Impact Notes
- The SunSwap V2 adapter is score-ineligible and valid profiles retain the activation-pending capability gate while the scoring consumer's memory behavior is remediated and revalidated
- The complete 21-target producer remains enabled so direct-route reliability, identity, reserve, output, and block-bracket evidence continue to accumulate
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
v5.89Jul 25, 2026Reviewed SunSwap V2 direct execution
Current direct SunSwap V2 routes can contribute factory-bound, reserve-reproduced execution profiles to the Safety Score V9 exact-route envelope after full-generation production validation.
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Raydium CLMM, Orca Whirlpool, and other native cohorts remain shadow-only
- Every accepted profile must prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
DetailsHide details
Reviewed SunSwap V2 direct execution
Current direct SunSwap V2 routes can contribute factory-bound, reserve-reproduced execution profiles to the Safety Score V9 exact-route envelope after full-generation production validation.
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Raydium CLMM, Orca Whirlpool, and other native cohorts remain shadow-only
- Every accepted profile must prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
Impact Notes
- Activation is limited to the reviewed SunSwap V2 factory, pair runtime, and SUN Smart Router profile on Tron; Raydium CLMM, Orca Whirlpool, and other native cohorts remain shadow-only
- Every accepted profile must prove the exact factory pair, token order, reserves, direct route, 0.3% constant-product output, bounded latest-state block bracket, freshness, and current target identity
- Missing, failed, stale, malformed, multi-hop-only, or identity-mismatched routes remain target-level capability gates; no stale proof or manual capacity substitutes for current direct evidence
- SunSwap census rows remain excluded from liquidity scoring, price consensus, direct-source precedence, visible pool selection, and V8 liquidity scoring
v5.88Jul 24, 2026Exact-route continuity and Base Slipstream execution
Reviewed Base Aerodrome Slipstream pools can contribute factory-bound QuoterV2 execution profiles, while mature fresh routes remain available to the Safety Score V9 exact-route envelope across bounded pool-shortlist rotation.
- Activation is limited to the reviewed Base Aerodrome Slipstream factory and QuoterV2 runtimes; Optimism Uniswap V3, Solana CLMM, SunSwap, Fluid, and other unratified cohorts remain shadow-only
- Every accepted profile must prove the retained pool through the factory's exact token and signed tick-spacing binding and pass independent generation, identity, price, freshness, curve, and retained-TVL validation
- Mature fresh last-known-good profiles can remain in the bounded route-only observation set across a temporary liquidity shortlist rotation without changing aggregate TVL, volume, visible pools, price consensus, target publication, or V8 liquidity scoring
- Missing, stale, price-drifted, malformed, or identity-mismatched profiles remain capability-gated; aggregate liquidity is never substituted as executable depth
DetailsHide details
Exact-route continuity and Base Slipstream execution
Reviewed Base Aerodrome Slipstream pools can contribute factory-bound QuoterV2 execution profiles, while mature fresh routes remain available to the Safety Score V9 exact-route envelope across bounded pool-shortlist rotation.
- Activation is limited to the reviewed Base Aerodrome Slipstream factory and QuoterV2 runtimes; Optimism Uniswap V3, Solana CLMM, SunSwap, Fluid, and other unratified cohorts remain shadow-only
- Every accepted profile must prove the retained pool through the factory's exact token and signed tick-spacing binding and pass independent generation, identity, price, freshness, curve, and retained-TVL validation
- Mature fresh last-known-good profiles can remain in the bounded route-only observation set across a temporary liquidity shortlist rotation without changing aggregate TVL, volume, visible pools, price consensus, target publication, or V8 liquidity scoring
- Missing, stale, price-drifted, malformed, or identity-mismatched profiles remain capability-gated; aggregate liquidity is never substituted as executable depth
Impact Notes
- Activation is limited to the reviewed Base Aerodrome Slipstream factory and QuoterV2 runtimes; Optimism Uniswap V3, Solana CLMM, SunSwap, Fluid, and other unratified cohorts remain shadow-only
- Every accepted profile must prove the retained pool through the factory's exact token and signed tick-spacing binding and pass independent generation, identity, price, freshness, curve, and retained-TVL validation
- Mature fresh last-known-good profiles can remain in the bounded route-only observation set across a temporary liquidity shortlist rotation without changing aggregate TVL, volume, visible pools, price consensus, target publication, or V8 liquidity scoring
- Missing, stale, price-drifted, malformed, or identity-mismatched profiles remain capability-gated; aggregate liquidity is never substituted as executable depth
v5.87Jul 22, 2026Base Aerodrome volatile exact execution
Classic volatile pools from the existing Base Aerodrome census can publish exact constant-product execution models after deployment-specific same-block verification.
- Only census-confirmed classic Base Aerodrome pools with stable=false are eligible; generic Solidly support and Avalanche, Linea, or Sonic deployments remain out of scope
- Each candidate requires reviewed factory and implementation runtimes, exact factory getPool(token0, token1, false) binding, pool stable=false, and an unpaused factory at one pinned block
- The model uses the pool's same-block dynamic fee; any runtime, identity, pause-state, fee, reserve, or price failure remains capability-gated instead of inheriting executable depth
DetailsHide details
Base Aerodrome volatile exact execution
Classic volatile pools from the existing Base Aerodrome census can publish exact constant-product execution models after deployment-specific same-block verification.
- Only census-confirmed classic Base Aerodrome pools with stable=false are eligible; generic Solidly support and Avalanche, Linea, or Sonic deployments remain out of scope
- Each candidate requires reviewed factory and implementation runtimes, exact factory getPool(token0, token1, false) binding, pool stable=false, and an unpaused factory at one pinned block
- The model uses the pool's same-block dynamic fee; any runtime, identity, pause-state, fee, reserve, or price failure remains capability-gated instead of inheriting executable depth
Impact Notes
- Only census-confirmed classic Base Aerodrome pools with stable=false are eligible; generic Solidly support and Avalanche, Linea, or Sonic deployments remain out of scope
- Each candidate requires reviewed factory and implementation runtimes, exact factory getPool(token0, token1, false) binding, pool stable=false, and an unpaused factory at one pinned block
- The model uses the pool's same-block dynamic fee; any runtime, identity, pause-state, fee, reserve, or price failure remains capability-gated instead of inheriting executable depth
v5.86Jul 22, 2026Canonical V2 pool retention and exact execution
PancakeSwap V2 discovery is no longer rejected by the V3 authoritative inventory, and reviewed Ethereum Uniswap V2 and BSC PancakeSwap V2 pools can publish factory-verified constant-product execution models.
- Incomplete paginated authoritative inventories now fail open, while complete PancakeSwap V3 authority remains scoped to concentrated-liquidity rows instead of suppressing V2 pools
- Ethereum Uniswap V2 and BSC PancakeSwap V2 candidates require a pinned canonical factory runtime, exact getPair binding, and same-block token-order, reserve, and decimals reads before becoming score-eligible
- Other V2 forks and any identity, factory, reserve, or price failure remain shaped or capability-gated evidence rather than inheriting executable depth
DetailsHide details
Canonical V2 pool retention and exact execution
PancakeSwap V2 discovery is no longer rejected by the V3 authoritative inventory, and reviewed Ethereum Uniswap V2 and BSC PancakeSwap V2 pools can publish factory-verified constant-product execution models.
- Incomplete paginated authoritative inventories now fail open, while complete PancakeSwap V3 authority remains scoped to concentrated-liquidity rows instead of suppressing V2 pools
- Ethereum Uniswap V2 and BSC PancakeSwap V2 candidates require a pinned canonical factory runtime, exact getPair binding, and same-block token-order, reserve, and decimals reads before becoming score-eligible
- Other V2 forks and any identity, factory, reserve, or price failure remain shaped or capability-gated evidence rather than inheriting executable depth
Impact Notes
- Incomplete paginated authoritative inventories now fail open, while complete PancakeSwap V3 authority remains scoped to concentrated-liquidity rows instead of suppressing V2 pools
- Ethereum Uniswap V2 and BSC PancakeSwap V2 candidates require a pinned canonical factory runtime, exact getPair binding, and same-block token-order, reserve, and decimals reads before becoming score-eligible
- Other V2 forks and any identity, factory, reserve, or price failure remain shaped or capability-gated evidence rather than inheriting executable depth
v5.85Jul 20, 2026Raydium pool-implied counter-asset reference
Raydium standard AMM pools now complete exact reserve capture when the untracked counter asset's USD reference is implied from the pool's own captured spot price instead of gating to incomplete-exact-capture.
- Roughly 460 retained Raydium standard pools (USDC, USDT, USD1 pairs) move from capability-gated rows to exact constant-product execution models with score-eligible reserve-based simulations
- USD1 gains its first score-eligible Solana exit routes; USDC and USDT gain substantially deeper Solana route surfaces
- Counter-asset references derived this way are recorded as referencePriceSource "pool-implied"; token-identity and balance failures still fail closed to incomplete-exact-capture
DetailsHide details
Raydium pool-implied counter-asset reference
Raydium standard AMM pools now complete exact reserve capture when the untracked counter asset's USD reference is implied from the pool's own captured spot price instead of gating to incomplete-exact-capture.
- Roughly 460 retained Raydium standard pools (USDC, USDT, USD1 pairs) move from capability-gated rows to exact constant-product execution models with score-eligible reserve-based simulations
- USD1 gains its first score-eligible Solana exit routes; USDC and USDT gain substantially deeper Solana route surfaces
- Counter-asset references derived this way are recorded as referencePriceSource "pool-implied"; token-identity and balance failures still fail closed to incomplete-exact-capture
Impact Notes
- Roughly 460 retained Raydium standard pools (USDC, USDT, USD1 pairs) move from capability-gated rows to exact constant-product execution models with score-eligible reserve-based simulations
- USD1 gains its first score-eligible Solana exit routes; USDC and USDT gain substantially deeper Solana route surfaces
- Counter-asset references derived this way are recorded as referencePriceSource "pool-implied"; token-identity and balance failures still fail closed to incomplete-exact-capture
v5.84Jun 29, 2026Composite Curve LP pair-quality normalization
Composite Curve LP quote tokens such as 3Crv and FRAXBP now inherit the best pair-quality score of their underlying stablecoin basket instead of falling back to the unknown-token haircut.
- LUSD/3Crv-style metapools no longer treat the 3Crv quote side as an unknown token for effective TVL and pool-stress calculations
- Composite quote aliases continue to flow through the existing balance-health haircut, so one-sided pools remain penalized for imbalance while no longer receiving an additional unknown-token penalty
- The change applies to all configured composite pool aliases rather than special-casing one stablecoin
DetailsHide details
Composite Curve LP pair-quality normalization
Composite Curve LP quote tokens such as 3Crv and FRAXBP now inherit the best pair-quality score of their underlying stablecoin basket instead of falling back to the unknown-token haircut.
- LUSD/3Crv-style metapools no longer treat the 3Crv quote side as an unknown token for effective TVL and pool-stress calculations
- Composite quote aliases continue to flow through the existing balance-health haircut, so one-sided pools remain penalized for imbalance while no longer receiving an additional unknown-token penalty
- The change applies to all configured composite pool aliases rather than special-casing one stablecoin
Impact Notes
- LUSD/3Crv-style metapools no longer treat the 3Crv quote side as an unknown token for effective TVL and pool-stress calculations
- Composite quote aliases continue to flow through the existing balance-health haircut, so one-sided pools remain penalized for imbalance while no longer receiving an additional unknown-token penalty
- The change applies to all configured composite pool aliases rather than special-casing one stablecoin
v5.83Jun 19, 2026Top-asset recovery guard quality baseline
The top-asset coverage guard now discounts previously published rows whose raw TVL was dominated by near-zero effective liquidity before deciding whether a recovery run must fail hard.
- Large malformed rows removed by the retained-pool anti-poisoning gate no longer strand the public dataset behind an inflated raw-TVl baseline
- The raw top-10 covered TVL remains in cron metadata, while the guard uses an additional quality-adjusted top-10 guard TVL for near/hard threshold decisions
- True top-asset coverage collapses still fail hard when the previous baseline had meaningful effective liquidity
DetailsHide details
Top-asset recovery guard quality baseline
The top-asset coverage guard now discounts previously published rows whose raw TVL was dominated by near-zero effective liquidity before deciding whether a recovery run must fail hard.
- Large malformed rows removed by the retained-pool anti-poisoning gate no longer strand the public dataset behind an inflated raw-TVl baseline
- The raw top-10 covered TVL remains in cron metadata, while the guard uses an additional quality-adjusted top-10 guard TVL for near/hard threshold decisions
- True top-asset coverage collapses still fail hard when the previous baseline had meaningful effective liquidity
Impact Notes
- Large malformed rows removed by the retained-pool anti-poisoning gate no longer strand the public dataset behind an inflated raw-TVl baseline
- The raw top-10 covered TVL remains in cron metadata, while the guard uses an additional quality-adjusted top-10 guard TVL for near/hard threshold decisions
- True top-asset coverage collapses still fail hard when the previous baseline had meaningful effective liquidity
v5.82Jun 19, 2026Large zero-volume pool retention hardening
Large retained pools must clear the minimum 24-hour volume floor even when a source marks volume as unmeasured.
- Pools above the large-pool TVL threshold are dropped when 24-hour volume is below the minimum-volume floor regardless of the volumeMeasured diagnostic flag
- Pool-state-only direct sources can still expand coverage with smaller eligible pools, but large zero-volume rows no longer bypass the retained-pool anti-poisoning guard
- Volume-to-TVL outlier checks, blocked-DEX filtering, protocol caps, and post-filter aggregate rebuilds continue to run around the stricter retained-pool gate
DetailsHide details
Large zero-volume pool retention hardening
Large retained pools must clear the minimum 24-hour volume floor even when a source marks volume as unmeasured.
- Pools above the large-pool TVL threshold are dropped when 24-hour volume is below the minimum-volume floor regardless of the volumeMeasured diagnostic flag
- Pool-state-only direct sources can still expand coverage with smaller eligible pools, but large zero-volume rows no longer bypass the retained-pool anti-poisoning guard
- Volume-to-TVL outlier checks, blocked-DEX filtering, protocol caps, and post-filter aggregate rebuilds continue to run around the stricter retained-pool gate
Impact Notes
- Pools above the large-pool TVL threshold are dropped when 24-hour volume is below the minimum-volume floor regardless of the volumeMeasured diagnostic flag
- Pool-state-only direct sources can still expand coverage with smaller eligible pools, but large zero-volume rows no longer bypass the retained-pool anti-poisoning guard
- Volume-to-TVL outlier checks, blocked-DEX filtering, protocol caps, and post-filter aggregate rebuilds continue to run around the stricter retained-pool gate
v5.81Jun 14, 2026Unsupported-chain Curve fallback coverage
Fallback pool discovery can now retain Curve pools on chains not covered by the native Curve API, while still skipping fallback Curve rows where native Curve enrichment already owns the chain.
- GeckoTerminal and CoinGecko Onchain Curve pools remain skipped on Ethereum, Base, Arbitrum, and Polygon to avoid duplicate Curve API coverage
- Curve pools on unsupported native-API chains such as Plasma can now contribute retained liquidity, challenger-pool evidence, and DEX price observations after the normal TVL, price sanity, protocol-cap, and dedupe gates
- This lets single-chain assets such as Yuzu USD surface Plasma Curve liquidity evidence instead of depending only on aggregator prices when the native Curve API has no chain coverage
DetailsHide details
Unsupported-chain Curve fallback coverage
Fallback pool discovery can now retain Curve pools on chains not covered by the native Curve API, while still skipping fallback Curve rows where native Curve enrichment already owns the chain.
- GeckoTerminal and CoinGecko Onchain Curve pools remain skipped on Ethereum, Base, Arbitrum, and Polygon to avoid duplicate Curve API coverage
- Curve pools on unsupported native-API chains such as Plasma can now contribute retained liquidity, challenger-pool evidence, and DEX price observations after the normal TVL, price sanity, protocol-cap, and dedupe gates
- This lets single-chain assets such as Yuzu USD surface Plasma Curve liquidity evidence instead of depending only on aggregator prices when the native Curve API has no chain coverage
Impact Notes
- GeckoTerminal and CoinGecko Onchain Curve pools remain skipped on Ethereum, Base, Arbitrum, and Polygon to avoid duplicate Curve API coverage
- Curve pools on unsupported native-API chains such as Plasma can now contribute retained liquidity, challenger-pool evidence, and DEX price observations after the normal TVL, price sanity, protocol-cap, and dedupe gates
- This lets single-chain assets such as Yuzu USD surface Plasma Curve liquidity evidence instead of depending only on aggregator prices when the native Curve API has no chain coverage
v5.8Jun 6, 2026Retained-pool DEX price ownership hardening
DEX implied-price publication now reapplies the documented $50K retained-pool price floor and weights medians by source family instead of protocol labels.
- Retained pools below the $50K DEX price-observation floor can still contribute to liquidity scoring when otherwise eligible, but no longer publish dex_price_usd or price_sources_json rows
- DEX price median weighting now uses canonical source families: DeFiLlama and direct API at 1.0, CoinGecko Onchain and GeckoTerminal at 0.85, DexScreener and CoinGecko tickers at 0.55
- Fallback rows that claim high-trust protocol names can no longer receive primary-source median weight solely from the protocol label
DetailsHide details
Retained-pool DEX price ownership hardening
DEX implied-price publication now reapplies the documented $50K retained-pool price floor and weights medians by source family instead of protocol labels.
- Retained pools below the $50K DEX price-observation floor can still contribute to liquidity scoring when otherwise eligible, but no longer publish dex_price_usd or price_sources_json rows
- DEX price median weighting now uses canonical source families: DeFiLlama and direct API at 1.0, CoinGecko Onchain and GeckoTerminal at 0.85, DexScreener and CoinGecko tickers at 0.55
- Fallback rows that claim high-trust protocol names can no longer receive primary-source median weight solely from the protocol label
Impact Notes
- Retained pools below the $50K DEX price-observation floor can still contribute to liquidity scoring when otherwise eligible, but no longer publish dex_price_usd or price_sources_json rows
- DEX price median weighting now uses canonical source families: DeFiLlama and direct API at 1.0, CoinGecko Onchain and GeckoTerminal at 0.85, DexScreener and CoinGecko tickers at 0.55
- Fallback rows that claim high-trust protocol names can no longer receive primary-source median weight solely from the protocol label
v5.7May 20, 2026Peg-aware staged discovery price gate
Secondary discovery pools now need a plausible tracked-token price before their TVL can be staged or merged into Liquidity Score aggregates.
- CoinGecko Onchain and GeckoTerminal pool rows whose tracked-token price fails the existing peg-aware DEX observation sanity gate are rejected before staging
- Already-staged rows with implausible tracked-token prices are skipped during scoring merge, so malformed discovery rows cannot inflate coin or global TVL until their staging TTL expires
- Carbon DeFi chain-suffixed secondary-source ids now normalize to the DefiLlama `carbon-defi` protocol cap, adding a cap-level backstop for Carbon rows
- Rows without a measured token price still flow through the existing TVL, volume, dedupe, protocol-cap, and retained-pool quality gates
DetailsHide details
Peg-aware staged discovery price gate
Secondary discovery pools now need a plausible tracked-token price before their TVL can be staged or merged into Liquidity Score aggregates.
- CoinGecko Onchain and GeckoTerminal pool rows whose tracked-token price fails the existing peg-aware DEX observation sanity gate are rejected before staging
- Already-staged rows with implausible tracked-token prices are skipped during scoring merge, so malformed discovery rows cannot inflate coin or global TVL until their staging TTL expires
- Carbon DeFi chain-suffixed secondary-source ids now normalize to the DefiLlama `carbon-defi` protocol cap, adding a cap-level backstop for Carbon rows
- Rows without a measured token price still flow through the existing TVL, volume, dedupe, protocol-cap, and retained-pool quality gates
Impact Notes
- CoinGecko Onchain and GeckoTerminal pool rows whose tracked-token price fails the existing peg-aware DEX observation sanity gate are rejected before staging
- Already-staged rows with implausible tracked-token prices are skipped during scoring merge, so malformed discovery rows cannot inflate coin or global TVL until their staging TTL expires
- Carbon DeFi chain-suffixed secondary-source ids now normalize to the DefiLlama `carbon-defi` protocol cap, adding a cap-level backstop for Carbon rows
- Rows without a measured token price still flow through the existing TVL, volume, dedupe, protocol-cap, and retained-pool quality gates
v5.6May 7, 2026Staged discovery TVL sanity ceiling
Secondary discovery rows now reject impossible pool TVL before staging and skip any already-staged over-cap row during the scoring merge.
- CoinGecko Onchain, GeckoTerminal, DexScreener, and CoinGecko ticker staging can no longer persist non-finite, negative, or over-cap TVL values
- The scoring cron skips legacy staged rows above the same sanity ceiling before they can affect global TVL, coverage drift, or DEX price observations
- Valid high-liquidity pools below the ceiling continue through the existing dedupe, protocol-cap, and retained-pool quality gates
DetailsHide details
Staged discovery TVL sanity ceiling
Secondary discovery rows now reject impossible pool TVL before staging and skip any already-staged over-cap row during the scoring merge.
- CoinGecko Onchain, GeckoTerminal, DexScreener, and CoinGecko ticker staging can no longer persist non-finite, negative, or over-cap TVL values
- The scoring cron skips legacy staged rows above the same sanity ceiling before they can affect global TVL, coverage drift, or DEX price observations
- Valid high-liquidity pools below the ceiling continue through the existing dedupe, protocol-cap, and retained-pool quality gates
Impact Notes
- CoinGecko Onchain, GeckoTerminal, DexScreener, and CoinGecko ticker staging can no longer persist non-finite, negative, or over-cap TVL values
- The scoring cron skips legacy staged rows above the same sanity ceiling before they can affect global TVL, coverage drift, or DEX price observations
- Valid high-liquidity pools below the ceiling continue through the existing dedupe, protocol-cap, and retained-pool quality gates
v5.5Apr 17, 2026Absolute TVL Depth fallback recalibration and Slipstream sqrt_ratio price
Absolute TVL Depth fallback (used when circulatingUsd is unavailable) now shares the ratio formula's anchor via a $1B implied reference mcap. Aerodrome/Velodrome Slipstream price derivation now uses on-chain sqrt_ratio (Q64.96) instead of total-reserve ratios for concentrated liquidity pools.
- Absolute TVL Depth fallback: `20 * log10(tvl / 100_000) + 20` → `35 * log10(tvl / 700_000)`; coins without market cap data no longer gain ~24 points of unearned TVL Depth
- Aerodrome/Velodrome Slipstream price observations now derive from on-chain sqrt_ratio instead of reserve ratios; concentrated liquidity pools no longer emit biased spot prices when one side lacks a tracked USD price
- Slipstream pools where sqrt_ratio is unusable and one side has no tracked price are now dropped entirely (no reserve-ratio fallback derivation)
DetailsHide details
Absolute TVL Depth fallback recalibration and Slipstream sqrt_ratio price
Absolute TVL Depth fallback (used when circulatingUsd is unavailable) now shares the ratio formula's anchor via a $1B implied reference mcap. Aerodrome/Velodrome Slipstream price derivation now uses on-chain sqrt_ratio (Q64.96) instead of total-reserve ratios for concentrated liquidity pools.
- Absolute TVL Depth fallback: `20 * log10(tvl / 100_000) + 20` → `35 * log10(tvl / 700_000)`; coins without market cap data no longer gain ~24 points of unearned TVL Depth
- Aerodrome/Velodrome Slipstream price observations now derive from on-chain sqrt_ratio instead of reserve ratios; concentrated liquidity pools no longer emit biased spot prices when one side lacks a tracked USD price
- Slipstream pools where sqrt_ratio is unusable and one side has no tracked price are now dropped entirely (no reserve-ratio fallback derivation)
Impact Notes
- Absolute TVL Depth fallback: `20 * log10(tvl / 100_000) + 20` → `35 * log10(tvl / 700_000)`; coins without market cap data no longer gain ~24 points of unearned TVL Depth
- Aerodrome/Velodrome Slipstream price observations now derive from on-chain sqrt_ratio instead of reserve ratios; concentrated liquidity pools no longer emit biased spot prices when one side lacks a tracked USD price
- Slipstream pools where sqrt_ratio is unusable and one side has no tracked price are now dropped entirely (no reserve-ratio fallback derivation)
v5.4Apr 14, 2026Curve enrichment scoping and staged UUID dedupe
Curve API enrichment is now scoped to Curve DeFiLlama rows, and staged exact pool-id rows can dedupe against a single identity-poor DeFiLlama UUID row through the same narrow optional-metadata wildcard used by primary dedupe.
- Non-Curve DeFiLlama pools that share token symbols with a Curve pool no longer inherit Curve registry metadata, balance ratios, token prices, or metapool-adjusted TVL
- CoinGecko/GeckoTerminal provider ids with underscores or provider suffixes normalize to the same canonical protocol family as DeFiLlama ids during pool-identity construction
- Staged discovery now skips a staged exact pool-id row when it uniquely matches one primary DeFiLlama UUID row by chain, protocol, token set, and pool-shape family, while ambiguous same-pair staged buckets still remain separate
DetailsHide details
Curve enrichment scoping and staged UUID dedupe
Curve API enrichment is now scoped to Curve DeFiLlama rows, and staged exact pool-id rows can dedupe against a single identity-poor DeFiLlama UUID row through the same narrow optional-metadata wildcard used by primary dedupe.
- Non-Curve DeFiLlama pools that share token symbols with a Curve pool no longer inherit Curve registry metadata, balance ratios, token prices, or metapool-adjusted TVL
- CoinGecko/GeckoTerminal provider ids with underscores or provider suffixes normalize to the same canonical protocol family as DeFiLlama ids during pool-identity construction
- Staged discovery now skips a staged exact pool-id row when it uniquely matches one primary DeFiLlama UUID row by chain, protocol, token set, and pool-shape family, while ambiguous same-pair staged buckets still remain separate
Impact Notes
- Non-Curve DeFiLlama pools that share token symbols with a Curve pool no longer inherit Curve registry metadata, balance ratios, token prices, or metapool-adjusted TVL
- CoinGecko/GeckoTerminal provider ids with underscores or provider suffixes normalize to the same canonical protocol family as DeFiLlama ids during pool-identity construction
- Staged discovery now skips a staged exact pool-id row when it uniquely matches one primary DeFiLlama UUID row by chain, protocol, token set, and pool-shape family, while ambiguous same-pair staged buckets still remain separate
v5.3Apr 8, 2026PancakeSwap trailing-hour volume window
PancakeSwap V3 direct volume now sums the official `poolHourDatas.volumeUSD` buckets across a bounded trailing 24-hour window instead of treating the latest `poolDayDatas` row as if it were a rolling 24h metric.
- Intraday PancakeSwap volume no longer collapses toward zero until UTC rollover just because the current day bucket has only accumulated partial activity
- Fresh non-swap day buckets can no longer zero out yesterday's still-relevant trading activity, because trailing volume now comes from summed hourly swap buckets
- The PancakeSwap direct fetch keeps bounded batching under The Graph row cap while staying on official subgraph entities instead of adding a new historical block lookup dependency
DetailsHide details
PancakeSwap trailing-hour volume window
PancakeSwap V3 direct volume now sums the official `poolHourDatas.volumeUSD` buckets across a bounded trailing 24-hour window instead of treating the latest `poolDayDatas` row as if it were a rolling 24h metric.
- Intraday PancakeSwap volume no longer collapses toward zero until UTC rollover just because the current day bucket has only accumulated partial activity
- Fresh non-swap day buckets can no longer zero out yesterday's still-relevant trading activity, because trailing volume now comes from summed hourly swap buckets
- The PancakeSwap direct fetch keeps bounded batching under The Graph row cap while staying on official subgraph entities instead of adding a new historical block lookup dependency
Impact Notes
- Intraday PancakeSwap volume no longer collapses toward zero until UTC rollover just because the current day bucket has only accumulated partial activity
- Fresh non-swap day buckets can no longer zero out yesterday's still-relevant trading activity, because trailing volume now comes from summed hourly swap buckets
- The PancakeSwap direct fetch keeps bounded batching under The Graph row cap while staying on official subgraph entities instead of adding a new historical block lookup dependency
v5.2Apr 8, 2026Orderbook ticker contract refresh and Balancer exact-address identity
CoinGecko orderbook fallback now ignores the deprecated `trust_score` field and validates tickers by observable freshness/price/volume fields, while Balancer direct pools now use the API's exact pool address for identity instead of the 32-byte vault pool id.
- CoinGecko tickers fallback and discovery staging no longer drop every post-March-2026 ticker row just because CoinGecko now returns `trust_score = null`
- Orderbook fallback ticker intake now requires finite USD price/volume plus a stable exchange identifier, improving sanitization without depending on deprecated metadata
- Balancer direct API pools now reserve and dedupe by the true pool address, restoring exact-id confirmation against staged discovery and overlap checks
DetailsHide details
Orderbook ticker contract refresh and Balancer exact-address identity
CoinGecko orderbook fallback now ignores the deprecated `trust_score` field and validates tickers by observable freshness/price/volume fields, while Balancer direct pools now use the API's exact pool address for identity instead of the 32-byte vault pool id.
- CoinGecko tickers fallback and discovery staging no longer drop every post-March-2026 ticker row just because CoinGecko now returns `trust_score = null`
- Orderbook fallback ticker intake now requires finite USD price/volume plus a stable exchange identifier, improving sanitization without depending on deprecated metadata
- Balancer direct API pools now reserve and dedupe by the true pool address, restoring exact-id confirmation against staged discovery and overlap checks
Impact Notes
- CoinGecko tickers fallback and discovery staging no longer drop every post-March-2026 ticker row just because CoinGecko now returns `trust_score = null`
- Orderbook fallback ticker intake now requires finite USD price/volume plus a stable exchange identifier, improving sanitization without depending on deprecated metadata
- Balancer direct API pools now reserve and dedupe by the true pool address, restoring exact-id confirmation against staged discovery and overlap checks
v5.1Apr 7, 2026Authoritative protocol confirmation for staged discovery
Staged discovery rows can no longer invent new pools inside protocol families that already have a clean protocol-native direct source. When that authoritative fetch succeeds on a supported chain, staged rows must match one of its exact pool ids or they are excluded.
- GeckoTerminal, CoinGecko Onchain, and DexScreener staging rows that claim Balancer, Fluid, Raydium, Orca, Meteora, PancakeSwap, Aerodrome, or Velodrome liquidity now require authoritative exact-id confirmation when the matching direct fetch succeeded cleanly on that chain
- The guard fails open when the authoritative source is unavailable or degraded, so discovery sources still recover coverage during native-source incidents instead of hard-zeroing the row
- Liquidity cron metadata now records `stagedPoolsSkippedByAuthoritativeProtocol` separately from exact-id and derived-identity dedupe skips
DetailsHide details
Authoritative protocol confirmation for staged discovery
Staged discovery rows can no longer invent new pools inside protocol families that already have a clean protocol-native direct source. When that authoritative fetch succeeds on a supported chain, staged rows must match one of its exact pool ids or they are excluded.
- GeckoTerminal, CoinGecko Onchain, and DexScreener staging rows that claim Balancer, Fluid, Raydium, Orca, Meteora, PancakeSwap, Aerodrome, or Velodrome liquidity now require authoritative exact-id confirmation when the matching direct fetch succeeded cleanly on that chain
- The guard fails open when the authoritative source is unavailable or degraded, so discovery sources still recover coverage during native-source incidents instead of hard-zeroing the row
- Liquidity cron metadata now records `stagedPoolsSkippedByAuthoritativeProtocol` separately from exact-id and derived-identity dedupe skips
Impact Notes
- GeckoTerminal, CoinGecko Onchain, and DexScreener staging rows that claim Balancer, Fluid, Raydium, Orca, Meteora, PancakeSwap, Aerodrome, or Velodrome liquidity now require authoritative exact-id confirmation when the matching direct fetch succeeded cleanly on that chain
- The guard fails open when the authoritative source is unavailable or degraded, so discovery sources still recover coverage during native-source incidents instead of hard-zeroing the row
- Liquidity cron metadata now records `stagedPoolsSkippedByAuthoritativeProtocol` separately from exact-id and derived-identity dedupe skips
v5.0Apr 5, 2026Size-aware scoring: relative TVL depth, recalibrated volume, quality retention
All scoring dimensions are now size-independent. TVL Depth measures effective TVL relative to market cap instead of absolute dollar value. Volume Activity has a recalibrated curve with a realistic ceiling (tops out at ~32% V/T instead of ~500%). Pool Quality measures venue quality retention ratio (qualityAdjustedTvl / totalTvl, rescaled) instead of absolute quality-adjusted TVL. Weights rebalanced to 30/20/20/20/10.
- TVL Depth uses effective-TVL-to-market-cap ratio on a log scale (35 × log10(ratio / 0.0007)), with absolute fallback for coins without market cap data
- Volume Activity recalibrated: 38 × (log10(V/T) + 3). Zero line at 0.1% V/T, tops at ~32% V/T. USDC/USDT now score 86-90 instead of 52-56
- Pool Quality measures quality retention (qualityAdjustedTvl / totalTvl, rescaled from 15-80% range to 0-100). Fully size-independent
- Weights rebalanced from 35/20/22.5/15/7.5 to 30/20/20/20/10: structural quality (Pool Quality + Durability = 40%) now matches depth + activity (50%)
DetailsHide details
Size-aware scoring: relative TVL depth, recalibrated volume, quality retention
All scoring dimensions are now size-independent. TVL Depth measures effective TVL relative to market cap instead of absolute dollar value. Volume Activity has a recalibrated curve with a realistic ceiling (tops out at ~32% V/T instead of ~500%). Pool Quality measures venue quality retention ratio (qualityAdjustedTvl / totalTvl, rescaled) instead of absolute quality-adjusted TVL. Weights rebalanced to 30/20/20/20/10.
- TVL Depth uses effective-TVL-to-market-cap ratio on a log scale (35 × log10(ratio / 0.0007)), with absolute fallback for coins without market cap data
- Volume Activity recalibrated: 38 × (log10(V/T) + 3). Zero line at 0.1% V/T, tops at ~32% V/T. USDC/USDT now score 86-90 instead of 52-56
- Pool Quality measures quality retention (qualityAdjustedTvl / totalTvl, rescaled from 15-80% range to 0-100). Fully size-independent
- Weights rebalanced from 35/20/22.5/15/7.5 to 30/20/20/20/10: structural quality (Pool Quality + Durability = 40%) now matches depth + activity (50%)
Impact Notes
- TVL Depth uses effective-TVL-to-market-cap ratio on a log scale (35 × log10(ratio / 0.0007)), with absolute fallback for coins without market cap data
- Volume Activity recalibrated: 38 × (log10(V/T) + 3). Zero line at 0.1% V/T, tops at ~32% V/T. USDC/USDT now score 86-90 instead of 52-56
- Pool Quality measures quality retention (qualityAdjustedTvl / totalTvl, rescaled from 15-80% range to 0-100). Fully size-independent
- Weights rebalanced from 35/20/22.5/15/7.5 to 30/20/20/20/10: structural quality (Pool Quality + Durability = 40%) now matches depth + activity (50%)
- Coins like BOLD and LUSD with high relative depth ratios see significant score improvements; large-cap coins with low relative depth see depth dimension scores decrease but compensate through volume, durability, and diversity
v4.9Apr 3, 2026Blocked dead Bunni DEX inputs
Explicitly blocked Bunni from liquidity scoring and DEX implied-price publication after dead-venue rows kept surfacing as retained liquidity.
- Bunni is now excluded during crawl intake and DeFiLlama pool processing instead of being treated as a live DEX venue
- Retained-pool filters and challenger snapshots ignore Bunni even if stale rows or unexpected inputs survive earlier gates
- Liquidity scores, dexPriceUsd, and downstream DEX cross-checks no longer count Bunni TVL, pool counts, or protocol medians
DetailsHide details
Blocked dead Bunni DEX inputs
Explicitly blocked Bunni from liquidity scoring and DEX implied-price publication after dead-venue rows kept surfacing as retained liquidity.
- Bunni is now excluded during crawl intake and DeFiLlama pool processing instead of being treated as a live DEX venue
- Retained-pool filters and challenger snapshots ignore Bunni even if stale rows or unexpected inputs survive earlier gates
- Liquidity scores, dexPriceUsd, and downstream DEX cross-checks no longer count Bunni TVL, pool counts, or protocol medians
Impact Notes
- Bunni is now excluded during crawl intake and DeFiLlama pool processing instead of being treated as a live DEX venue
- Retained-pool filters and challenger snapshots ignore Bunni even if stale rows or unexpected inputs survive earlier gates
- Liquidity scores, dexPriceUsd, and downstream DEX cross-checks no longer count Bunni TVL, pool counts, or protocol medians
v4.8Apr 3, 2026Direct-source duplicate hardening for Balancer and staged exact ids
Direct-source dedupe now reserves every authoritative exact pool id for later staged matching, and Balancer stablecoin pools can still collapse against direct Balancer coverage when DefiLlama omits the subtype in `balancer-v3` metadata.
- Sub-threshold direct API pools now still block later exact-address staged duplicates from re-entering scoring with incompatible TVL semantics
- GeckoTerminal and CoinGecko discovery rows can no longer inflate liquidity by resurrecting the same exact direct pool after the direct row was excluded from scoring
- Balancer stablecoin pools now dedupe correctly against Balancer direct API even when DefiLlama labels the row as generic `balancer-v3` without stable subtype metadata
DetailsHide details
Direct-source duplicate hardening for Balancer and staged exact ids
Direct-source dedupe now reserves every authoritative exact pool id for later staged matching, and Balancer stablecoin pools can still collapse against direct Balancer coverage when DefiLlama omits the subtype in `balancer-v3` metadata.
- Sub-threshold direct API pools now still block later exact-address staged duplicates from re-entering scoring with incompatible TVL semantics
- GeckoTerminal and CoinGecko discovery rows can no longer inflate liquidity by resurrecting the same exact direct pool after the direct row was excluded from scoring
- Balancer stablecoin pools now dedupe correctly against Balancer direct API even when DefiLlama labels the row as generic `balancer-v3` without stable subtype metadata
Impact Notes
- Sub-threshold direct API pools now still block later exact-address staged duplicates from re-entering scoring with incompatible TVL semantics
- GeckoTerminal and CoinGecko discovery rows can no longer inflate liquidity by resurrecting the same exact direct pool after the direct row was excluded from scoring
- Balancer stablecoin pools now dedupe correctly against Balancer direct API even when DefiLlama labels the row as generic `balancer-v3` without stable subtype metadata
v4.7Apr 3, 2026Retained-pool DEX price publication
DEX implied-price publication now derives from the final retained pool surface after dedupe, caps, and scoring filters, instead of from the earlier raw observation stream.
- Pools that are skipped as duplicates or dropped by retained-pool quality filters can no longer keep influencing dex_prices
- dexPriceUsd, price_sources_json, and downstream dexPriceCheck consumers now reflect the same retained pool surface used for challenger publication and UI liquidity detail
- High-TVL discovery rows that never survive retained-pool admission can no longer manufacture near-peg DEX aggregates for depegged assets
DetailsHide details
Retained-pool DEX price publication
DEX implied-price publication now derives from the final retained pool surface after dedupe, caps, and scoring filters, instead of from the earlier raw observation stream.
- Pools that are skipped as duplicates or dropped by retained-pool quality filters can no longer keep influencing dex_prices
- dexPriceUsd, price_sources_json, and downstream dexPriceCheck consumers now reflect the same retained pool surface used for challenger publication and UI liquidity detail
- High-TVL discovery rows that never survive retained-pool admission can no longer manufacture near-peg DEX aggregates for depegged assets
Impact Notes
- Pools that are skipped as duplicates or dropped by retained-pool quality filters can no longer keep influencing dex_prices
- dexPriceUsd, price_sources_json, and downstream dexPriceCheck consumers now reflect the same retained pool surface used for challenger publication and UI liquidity detail
- High-TVL discovery rows that never survive retained-pool admission can no longer manufacture near-peg DEX aggregates for depegged assets
v4.6Mar 24, 2026Protocol-native DEX coverage expansion
Liquidity scoring now ingests Meteora DLMM, PancakeSwap V3, and Aerodrome/Velodrome Slipstream pool-state data as protocol-native direct sources, expanding primary-grade coverage across Solana, BSC, Base, and Optimism.
- Meteora DLMM pools now enter the direct-API merge path with measured TVL, volume, balances, and fee data
- PancakeSwap V3 pools now add protocol-native primary coverage across BSC and supported EVM chains through official Graph subgraphs
- Aerodrome Slipstream and Velodrome Slipstream pools now contribute pool-state TVL, balances, fees, and DEX-price observations via the on-chain Sugar view contracts
- Direct-source precedence over overlapping DeFiLlama rows now requires measured non-zero 24h volume, so Slipstream pool-state rows expand coverage without displacing stronger DL rows when volume telemetry is absent
DetailsHide details
Protocol-native DEX coverage expansion
Liquidity scoring now ingests Meteora DLMM, PancakeSwap V3, and Aerodrome/Velodrome Slipstream pool-state data as protocol-native direct sources, expanding primary-grade coverage across Solana, BSC, Base, and Optimism.
- Meteora DLMM pools now enter the direct-API merge path with measured TVL, volume, balances, and fee data
- PancakeSwap V3 pools now add protocol-native primary coverage across BSC and supported EVM chains through official Graph subgraphs
- Aerodrome Slipstream and Velodrome Slipstream pools now contribute pool-state TVL, balances, fees, and DEX-price observations via the on-chain Sugar view contracts
- Direct-source precedence over overlapping DeFiLlama rows now requires measured non-zero 24h volume, so Slipstream pool-state rows expand coverage without displacing stronger DL rows when volume telemetry is absent
Impact Notes
- Meteora DLMM pools now enter the direct-API merge path with measured TVL, volume, balances, and fee data
- PancakeSwap V3 pools now add protocol-native primary coverage across BSC and supported EVM chains through official Graph subgraphs
- Aerodrome Slipstream and Velodrome Slipstream pools now contribute pool-state TVL, balances, fees, and DEX-price observations via the on-chain Sugar view contracts
- Direct-source precedence over overlapping DeFiLlama rows now requires measured non-zero 24h volume, so Slipstream pool-state rows expand coverage without displacing stronger DL rows when volume telemetry is absent
- New concentrated-liquidity quality buckets now score PancakeSwap and Slipstream fee tiers consistently with existing Uni V3 logic
v4.5Mar 24, 2026Coverage recall hardening and measurement-aware confidence
DEX liquidity now paginates deeper through GeckoTerminal and CoinGecko Onchain discovery, enriches weak partial coverage instead of only zero-coverage rows, and scores coverage confidence from measured-vs-synthetic retained TVL rather than a fixed source-family ladder.
- GeckoTerminal and CoinGecko Onchain token crawls now read multiple bounded pages instead of stopping after page 1
- DexScreener and CoinGecko tickers fallback now trigger for weak partial coverage, not only coins with zero pools or no DEX price
- Fallback orderbook rows now preserve explicit synthetic/decayed/provenance flags instead of masquerading as organic USDC pools
- Coverage confidence now incorporates protocol breadth, source-family breadth, measured balance share, measured price share, and synthetic or decayed TVL share
DetailsHide details
Coverage recall hardening and measurement-aware confidence
DEX liquidity now paginates deeper through GeckoTerminal and CoinGecko Onchain discovery, enriches weak partial coverage instead of only zero-coverage rows, and scores coverage confidence from measured-vs-synthetic retained TVL rather than a fixed source-family ladder.
- GeckoTerminal and CoinGecko Onchain token crawls now read multiple bounded pages instead of stopping after page 1
- DexScreener and CoinGecko tickers fallback now trigger for weak partial coverage, not only coins with zero pools or no DEX price
- Fallback orderbook rows now preserve explicit synthetic/decayed/provenance flags instead of masquerading as organic USDC pools
- Coverage confidence now incorporates protocol breadth, source-family breadth, measured balance share, measured price share, and synthetic or decayed TVL share
Impact Notes
- GeckoTerminal and CoinGecko Onchain token crawls now read multiple bounded pages instead of stopping after page 1
- DexScreener and CoinGecko tickers fallback now trigger for weak partial coverage, not only coins with zero pools or no DEX price
- Fallback orderbook rows now preserve explicit synthetic/decayed/provenance flags instead of masquerading as organic USDC pools
- Coverage confidence now incorporates protocol breadth, source-family breadth, measured balance share, measured price share, and synthetic or decayed TVL share
- Direct-API pools default to a shorter maturity assumption and Fluid reserve normalization now marks whether balances were safely measured
- Shared secondary-pool contribution logic centralizes GT/CG/staged/fallback aggregate handling to reduce drift across merge paths
v4.4Mar 19, 2026Chain-aware pool identity dedupe and challenger snapshot publishing
DEX liquidity now resolves tracked tokens chain-aware, deduplicates pools with conservative identity keys instead of coarse fingerprints, collapses duplicate DEX price observations before aggregation, and publishes dedicated challenger snapshots from the full retained pool set.
- Direct API and staged/fallback pools resolve tracked assets by chain+address first, with chain-scoped symbol fallback only when unique
- Cross-source pool dedupe now uses exact pool ids first and derived token-shape matches only when they are unique on both sides
- Repeated sightings of the same physical pool across direct API, staged, and fallback sources now collapse before dex_prices weighting
- Depeg challenger inputs publish from the full retained pool set instead of the visible top-pools subset
DetailsHide details
Chain-aware pool identity dedupe and challenger snapshot publishing
DEX liquidity now resolves tracked tokens chain-aware, deduplicates pools with conservative identity keys instead of coarse fingerprints, collapses duplicate DEX price observations before aggregation, and publishes dedicated challenger snapshots from the full retained pool set.
- Direct API and staged/fallback pools resolve tracked assets by chain+address first, with chain-scoped symbol fallback only when unique
- Cross-source pool dedupe now uses exact pool ids first and derived token-shape matches only when they are unique on both sides
- Repeated sightings of the same physical pool across direct API, staged, and fallback sources now collapse before dex_prices weighting
- Depeg challenger inputs publish from the full retained pool set instead of the visible top-pools subset
Impact Notes
- Direct API and staged/fallback pools resolve tracked assets by chain+address first, with chain-scoped symbol fallback only when unique
- Cross-source pool dedupe now uses exact pool ids first and derived token-shape matches only when they are unique on both sides
- Repeated sightings of the same physical pool across direct API, staged, and fallback sources now collapse before dex_prices weighting
- Depeg challenger inputs publish from the full retained pool set instead of the visible top-pools subset
- Fluid pools with missing token decimals now fall back to neutral balance rather than using unsafe raw reserve units
v4.3Mar 18, 2026Fluid DexReservesResolver balance integration
Fluid pools on Ethereum, Arbitrum, Base, and Polygon now read balances and fee detail from the official DexReservesResolver instead of staying on neutral placeholders.
- Fluid top-pool rows now populate Balance and Detail when the official DexReservesResolver is deployed on that chain
- Fluid pool quality now uses measured balance health on resolver-backed EVM chains, rather than a hardcoded neutral 1.0
- Fluid fee detail now comes from the on-chain pool config (`1% = 10_000`), normalized to basis-point badges in the UI
- BSC and Plasma Fluid pools remain on neutral-balance fallback until Fluid ships the same resolver path there
DetailsHide details
Fluid DexReservesResolver balance integration
Fluid pools on Ethereum, Arbitrum, Base, and Polygon now read balances and fee detail from the official DexReservesResolver instead of staying on neutral placeholders.
- Fluid top-pool rows now populate Balance and Detail when the official DexReservesResolver is deployed on that chain
- Fluid pool quality now uses measured balance health on resolver-backed EVM chains, rather than a hardcoded neutral 1.0
- Fluid fee detail now comes from the on-chain pool config (`1% = 10_000`), normalized to basis-point badges in the UI
- BSC and Plasma Fluid pools remain on neutral-balance fallback until Fluid ships the same resolver path there
Impact Notes
- Fluid top-pool rows now populate Balance and Detail when the official DexReservesResolver is deployed on that chain
- Fluid pool quality now uses measured balance health on resolver-backed EVM chains, rather than a hardcoded neutral 1.0
- Fluid fee detail now comes from the on-chain pool config (`1% = 10_000`), normalized to basis-point badges in the UI
- BSC and Plasma Fluid pools remain on neutral-balance fallback until Fluid ships the same resolver path there
v4.2Mar 18, 2026Measured direct-API balance health and normalized pool-detail metadata
Balancer, Raydium, and Orca direct-API pools now preserve measured balance and fee metadata through scoring instead of merging with neutral placeholders. Pool-detail fee tiers are normalized to basis points for all sources.
- Direct-API Balancer, Raydium, and Orca pools now populate top-pool balance bars and detail badges
- Measured direct-API balance ratios now feed balance-weighted aggregates, stress, and effective TVL instead of assuming 1.0
- Balancer weighted pools normalize balance health against target token weights rather than raw reserve symmetry
- Orca vault balances are normalized from raw token units before balance-health calculation
DetailsHide details
Measured direct-API balance health and normalized pool-detail metadata
Balancer, Raydium, and Orca direct-API pools now preserve measured balance and fee metadata through scoring instead of merging with neutral placeholders. Pool-detail fee tiers are normalized to basis points for all sources.
- Direct-API Balancer, Raydium, and Orca pools now populate top-pool balance bars and detail badges
- Measured direct-API balance ratios now feed balance-weighted aggregates, stress, and effective TVL instead of assuming 1.0
- Balancer weighted pools normalize balance health against target token weights rather than raw reserve symmetry
- Orca vault balances are normalized from raw token units before balance-health calculation
Impact Notes
- Direct-API Balancer, Raydium, and Orca pools now populate top-pool balance bars and detail badges
- Measured direct-API balance ratios now feed balance-weighted aggregates, stress, and effective TVL instead of assuming 1.0
- Balancer weighted pools normalize balance health against target token weights rather than raw reserve symmetry
- Orca vault balances are normalized from raw token units before balance-health calculation
- Top-pool fee tiers now serialize as actual basis points (for example 1bp, 5bp, 30bp) across UniV3, CG-onchain, and direct APIs
v4.1Mar 18, 2026Direct API precedence, primary-grade coverage, and fetcher contract hardening
Direct API sources now replace overlapping DeFiLlama pools before scoring, run ahead of staged/fallback sources, and count as primary-grade coverage. Raydium and Orca contract handling was hardened against live API drift, Fluid volume normalization moved to one-sided USD volume, and Balancer intake now excludes unsupported pool types.
- Raydium lower-case poolType contract fix restores live Solana pool coverage
- Orca now paginates via cursor.next with retry/backoff and a below-threshold stop, instead of truncating after page 1
- Direct API pools are fingerprint-deduped and preferred over overlapping DeFiLlama pools before score computation
- Direct API sources merge before staged/DexScreener/CG-ticker fallbacks, preventing lower-confidence sources from claiming the same pool first
DetailsHide details
Direct API precedence, primary-grade coverage, and fetcher contract hardening
Direct API sources now replace overlapping DeFiLlama pools before scoring, run ahead of staged/fallback sources, and count as primary-grade coverage. Raydium and Orca contract handling was hardened against live API drift, Fluid volume normalization moved to one-sided USD volume, and Balancer intake now excludes unsupported pool types.
- Raydium lower-case poolType contract fix restores live Solana pool coverage
- Orca now paginates via cursor.next with retry/backoff and a below-threshold stop, instead of truncating after page 1
- Direct API pools are fingerprint-deduped and preferred over overlapping DeFiLlama pools before score computation
- Direct API sources merge before staged/DexScreener/CG-ticker fallbacks, preventing lower-confidence sources from claiming the same pool first
Impact Notes
- Raydium lower-case poolType contract fix restores live Solana pool coverage
- Orca now paginates via cursor.next with retry/backoff and a below-threshold stop, instead of truncating after page 1
- Direct API pools are fingerprint-deduped and preferred over overlapping DeFiLlama pools before score computation
- Direct API sources merge before staged/DexScreener/CG-ticker fallbacks, preventing lower-confidence sources from claiming the same pool first
- direct_api-only rows now classify as primary coverage (confidence 1.0) instead of fallback coverage
- Fluid volume now uses one-sided USD-normalized pool volume instead of double-counting raw token legs
- Balancer intake is limited to supported stable/weighted pool families on mapped chains only
v4.0Mar 10, 2026Log-scale volume, cross-chain removal, durability rebalance
Volume activity switched from linear to log-scale. Cross-chain component removed and weight redistributed to TVL depth and pool quality. Durability sub-weights rebalanced: locked liquidity removed, organic fraction reduced to 15% with sqrt curve, history-measured signals raised to 85%.
- Volume activity now uses log-scale (33.3*log10(V/T/0.005)); median score rises from 5 to ~35
- Cross-chain component removed; TVL Depth raised to 35%, Pool Quality to 22.5%
- Durability: organic 15% (sqrt curve), TVL stability 35%, volume consistency 25%, maturity 25%
- Locked liquidity sub-component removed from durability (no reliable data source)
DetailsHide details
Log-scale volume, cross-chain removal, durability rebalance
Volume activity switched from linear to log-scale. Cross-chain component removed and weight redistributed to TVL depth and pool quality. Durability sub-weights rebalanced: locked liquidity removed, organic fraction reduced to 15% with sqrt curve, history-measured signals raised to 85%.
- Volume activity now uses log-scale (33.3*log10(V/T/0.005)); median score rises from 5 to ~35
- Cross-chain component removed; TVL Depth raised to 35%, Pool Quality to 22.5%
- Durability: organic 15% (sqrt curve), TVL stability 35%, volume consistency 25%, maturity 25%
- Locked liquidity sub-component removed from durability (no reliable data source)
Impact Notes
- Volume activity now uses log-scale (33.3*log10(V/T/0.005)); median score rises from 5 to ~35
- Cross-chain component removed; TVL Depth raised to 35%, Pool Quality to 22.5%
- Durability: organic 15% (sqrt curve), TVL stability 35%, volume consistency 25%, maturity 25%
- Locked liquidity sub-component removed from durability (no reliable data source)
v3.4Mar 9, 2026Retained-pool score recomputation and trusted staged-price hardening
Liquidity scoring now rebuilds every aggregate from the retained pool set after filtering/caps, while staged discovery preserves pool-quality metadata and stricter DEX-price trust rules.
- Filtered or TVL-capped pools can no longer keep influencing score inputs through stale aggregate fields
- HHI now uses the full retained pool set before display truncation; global 7d volume is pool-deduped
- Staged pool merge now dedups against token-pair fingerprints and preserves raw DEX metadata/quality multipliers
- DEX price observations require a consistent $50K post-confidence TVL floor across source families
DetailsHide details
Retained-pool score recomputation and trusted staged-price hardening
Liquidity scoring now rebuilds every aggregate from the retained pool set after filtering/caps, while staged discovery preserves pool-quality metadata and stricter DEX-price trust rules.
- Filtered or TVL-capped pools can no longer keep influencing score inputs through stale aggregate fields
- HHI now uses the full retained pool set before display truncation; global 7d volume is pool-deduped
- Staged pool merge now dedups against token-pair fingerprints and preserves raw DEX metadata/quality multipliers
- DEX price observations require a consistent $50K post-confidence TVL floor across source families
Impact Notes
- Filtered or TVL-capped pools can no longer keep influencing score inputs through stale aggregate fields
- HHI now uses the full retained pool set before display truncation; global 7d volume is pool-deduped
- Staged pool merge now dedups against token-pair fingerprints and preserves raw DEX metadata/quality multipliers
- DEX price observations require a consistent $50K post-confidence TVL floor across source families
v3.3Mar 9, 2026Separated discovery pipeline with staged pool confidence decay
Discovery sources (CG Onchain, GeckoTerminal, DexScreener, CG Tickers) now run on an independent 20-minute cron with 3x more budget. Staged pools merged into scoring with freshness confidence decay and explicit defaults contract.
- Discovery cron runs independently on 20-min trigger with ~15 min budget (was 5 min shared)
- Staged pools receive confidence decay: max(0.5, 1 - ageHours/48), excluded after 24h
- Chain-aware source routing reduces wasted API calls by skipping irrelevant chains
- Tiered priority with exponential backoff prevents looping on pool-less coins
DetailsHide details
Separated discovery pipeline with staged pool confidence decay
Discovery sources (CG Onchain, GeckoTerminal, DexScreener, CG Tickers) now run on an independent 20-minute cron with 3x more budget. Staged pools merged into scoring with freshness confidence decay and explicit defaults contract.
- Discovery cron runs independently on 20-min trigger with ~15 min budget (was 5 min shared)
- Staged pools receive confidence decay: max(0.5, 1 - ageHours/48), excluded after 24h
- Chain-aware source routing reduces wasted API calls by skipping irrelevant chains
- Tiered priority with exponential backoff prevents looping on pool-less coins
Impact Notes
- Discovery cron runs independently on 20-min trigger with ~15 min budget (was 5 min shared)
- Staged pools receive confidence decay: max(0.5, 1 - ageHours/48), excluded after 24h
- Chain-aware source routing reduces wasted API calls by skipping irrelevant chains
- Tiered priority with exponential backoff prevents looping on pool-less coins
v3.2Mar 2, 2026ReconstructedEffective TVL symbol-fallback inflation fix
Corrected effective TVL inflation when symbol fallback matched non-Curve pools to Curve entries.
- Metapool-adjusted TVL now applies only to address-matched Curve pools
- Symbol-fallback pools keep their own TVL in effective TVL calculations
- Removes accidental score inflation from cross-pool symbol collisions
DetailsHide details
Effective TVL symbol-fallback inflation fix
Corrected effective TVL inflation when symbol fallback matched non-Curve pools to Curve entries.
- Metapool-adjusted TVL now applies only to address-matched Curve pools
- Symbol-fallback pools keep their own TVL in effective TVL calculations
- Removes accidental score inflation from cross-pool symbol collisions
Impact Notes
- Metapool-adjusted TVL now applies only to address-matched Curve pools
- Symbol-fallback pools keep their own TVL in effective TVL calculations
- Removes accidental score inflation from cross-pool symbol collisions
- 71cc096
v3.1Feb 28, 2026ReconstructedAnti-duplication and protocol TVL cap normalization
Introduced fingerprint-based deduplication and DeFiLlama-anchored cap logic to suppress inflated secondary-source TVLs.
- CG/GT/DS pools deduped against DeFiLlama using token-pair fingerprints
- Secondary-source pool TVL capped and proportionally scaled by protocol-level DeFiLlama ceilings
- Global protocol and chain TVL totals kept consistent after cap reductions
DetailsHide details
Anti-duplication and protocol TVL cap normalization
Introduced fingerprint-based deduplication and DeFiLlama-anchored cap logic to suppress inflated secondary-source TVLs.
- CG/GT/DS pools deduped against DeFiLlama using token-pair fingerprints
- Secondary-source pool TVL capped and proportionally scaled by protocol-level DeFiLlama ceilings
- Global protocol and chain TVL totals kept consistent after cap reductions
Impact Notes
- CG/GT/DS pools deduped against DeFiLlama using token-pair fingerprints
- Secondary-source pool TVL capped and proportionally scaled by protocol-level DeFiLlama ceilings
- Global protocol and chain TVL totals kept consistent after cap reductions
- 0b6bfb8
- 617ab25
- 1224015
- 0e54c20
v3.0Feb 28, 2026ReconstructedCoverage expansion with fallback sources
Expanded zero-pool recovery with DexScreener and CoinGecko tickers fallbacks for orderbook-heavy assets.
- DexScreener fallback adds pools for tracked coins still missing after primary crawl
- CoinGecko tickers fallback synthesizes orderbook liquidity where AMM coverage is absent
- Reduces false zero-liquidity outcomes for long-tail and niche assets
DetailsHide details
Coverage expansion with fallback sources
Expanded zero-pool recovery with DexScreener and CoinGecko tickers fallbacks for orderbook-heavy assets.
- DexScreener fallback adds pools for tracked coins still missing after primary crawl
- CoinGecko tickers fallback synthesizes orderbook liquidity where AMM coverage is absent
- Reduces false zero-liquidity outcomes for long-tail and niche assets
Impact Notes
- DexScreener fallback adds pools for tracked coins still missing after primary crawl
- CoinGecko tickers fallback synthesizes orderbook liquidity where AMM coverage is absent
- Reduces false zero-liquidity outcomes for long-tail and niche assets
- 6b2e006
- ef9bb2b
v2.2Feb 27, 2026ReconstructedNo-pool rows moved to NR semantics
Coins without DEX pools switched from score=0 placeholders to NULL (NR) semantics.
- No-liquidity rows now persist liquidity_score as NULL instead of 0
- Daily history placeholders for no-pool coins also use NULL scores
- Downstream consumers can distinguish not-rated from genuinely low-liquidity assets
DetailsHide details
No-pool rows moved to NR semantics
Coins without DEX pools switched from score=0 placeholders to NULL (NR) semantics.
- No-liquidity rows now persist liquidity_score as NULL instead of 0
- Daily history placeholders for no-pool coins also use NULL scores
- Downstream consumers can distinguish not-rated from genuinely low-liquidity assets
Impact Notes
- No-liquidity rows now persist liquidity_score as NULL instead of 0
- Daily history placeholders for no-pool coins also use NULL scores
- Downstream consumers can distinguish not-rated from genuinely low-liquidity assets
- 06c6681
v2.1Feb 25, 2026ReconstructedOnchain source upgrade and locked-liquidity durability term
Primary pool discovery moved to CoinGecko Onchain with locked-liquidity data integrated into durability scoring.
- CG Onchain became primary source (with GT fallback) for richer pool metadata
- Durability weights changed from 40/25/20/15 to 35/25/20/15/5
- Locked liquidity added as an explicit durability sub-component
DetailsHide details
Onchain source upgrade and locked-liquidity durability term
Primary pool discovery moved to CoinGecko Onchain with locked-liquidity data integrated into durability scoring.
- CG Onchain became primary source (with GT fallback) for richer pool metadata
- Durability weights changed from 40/25/20/15 to 35/25/20/15/5
- Locked liquidity added as an explicit durability sub-component
Impact Notes
- CG Onchain became primary source (with GT fallback) for richer pool metadata
- Durability weights changed from 40/25/20/15 to 35/25/20/15/5
- Locked liquidity added as an explicit durability sub-component
- 361e240
- 4f6d9ed
v2.0Feb 19, 2026ReconstructedSix-component v2 liquidity model
Moved from a five-component heuristic to a six-component model with effective TVL and durability decomposition.
- Weights changed from 35/25/20/10/10 to 30/20/20/15/7.5/7.5
- TVL depth switched to effective TVL, not raw TVL only
- Durability and per-component score breakdown persisted in D1
DetailsHide details
Six-component v2 liquidity model
Moved from a five-component heuristic to a six-component model with effective TVL and durability decomposition.
- Weights changed from 35/25/20/10/10 to 30/20/20/15/7.5/7.5
- TVL depth switched to effective TVL, not raw TVL only
- Durability and per-component score breakdown persisted in D1
Impact Notes
- Weights changed from 35/25/20/10/10 to 30/20/20/15/7.5/7.5
- TVL depth switched to effective TVL, not raw TVL only
- Durability and per-component score breakdown persisted in D1
- 0254445
v1.0Feb 19, 2026ReconstructedInitial DEX liquidity score release
Launched baseline DEX liquidity scoring, API surface, and dashboard integration.
- Initial five-component composite (TVL depth, volume, pool quality, diversity, cross-chain)
- DeFiLlama-driven pool aggregation and top-pool persistence introduced
- Liquidity map endpoint and page-level leaderboard shipped
DetailsHide details
Initial DEX liquidity score release
Launched baseline DEX liquidity scoring, API surface, and dashboard integration.
- Initial five-component composite (TVL depth, volume, pool quality, diversity, cross-chain)
- DeFiLlama-driven pool aggregation and top-pool persistence introduced
- Liquidity map endpoint and page-level leaderboard shipped
Impact Notes
- Initial five-component composite (TVL depth, volume, pool quality, diversity, cross-chain)
- DeFiLlama-driven pool aggregation and top-pool persistence introduced
- Liquidity map endpoint and page-level leaderboard shipped
- a7ae273
- 443ac1b
- f26fdf3