Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
223 commits
Select commit Hold shift + click to select a range
8c2315c
fix: remove dead providers (BlastAPI shutdown, Ankr key-gated, dRPC/1…
Flotapponnier Aug 7, 2026
4497d88
fix: remove dead providers (BlastAPI shutdown, Ankr key-gated, dRPC/1…
Flotapponnier Aug 7, 2026
0caf2dc
feat: add wave 7 chains to /chains hub (fantom, kusama, hydration, ze…
Flotapponnier Aug 7, 2026
3f162e7
feat: add 15 wave 7 chains to /chains hub (#1790)
Flotapponnier Aug 7, 2026
a0ef237
fix: remove drift and variational from perp venue meta (404 on /perp …
Flotapponnier Aug 7, 2026
c4bcb14
Merge pull request #1791 from ChainBench/feat/wave7-chain-pages
Flotapponnier Aug 7, 2026
a68392d
fix: filter non-provider result links in answers, add bridge to footer
Flotapponnier Aug 7, 2026
37d2d18
Merge pull request #1792 from ChainBench/feat/wave7-chain-pages
Flotapponnier Aug 7, 2026
6af4b14
fix: drop dead RPC providers across 14 chains (DNS failures, 404s, pa…
Flotapponnier Aug 7, 2026
3a18a3c
Merge pull request #1793 from ChainBench/feat/wave7-chain-pages
Flotapponnier Aug 7, 2026
c6d9121
fix: hydration draft+placeholder provider, zetachain/songbird em-dash…
Flotapponnier Aug 7, 2026
c534730
fix: hydration draft+placeholder provider, zetachain/songbird em-dash…
Flotapponnier Aug 7, 2026
05d75d7
Merge remote-tracking branch 'origin/main' into dev
Flotapponnier Aug 8, 2026
8a11c67
feat: add /apps leaderboard foundation — specs, Go harness, Postgres …
Flotapponnier Aug 9, 2026
32833ae
fix: interface ctx type, float-free toMicroUSDC, goroutine error capt…
Flotapponnier Aug 9, 2026
8b37bfe
feat: /apps leaderboard foundation (#1797)
Flotapponnier Aug 9, 2026
adb7335
fix: dydx collector json key megavaultPnl, cumulative-to-delta PnL, D…
Flotapponnier Aug 9, 2026
b9ed117
Merge remote-tracking branch 'origin/dev' into feat/apps-leaderboard
Flotapponnier Aug 9, 2026
fcf4c3f
Merge pull request #1798 from ChainBench/feat/apps-leaderboard
Flotapponnier Aug 9, 2026
b6b869b
feat: add Hyperliquid collector via DeFiLlama (perps/HLP/spot breakdo…
Flotapponnier Aug 9, 2026
f44468d
Merge pull request #1799 from ChainBench/feat/apps-leaderboard
Flotapponnier Aug 9, 2026
9bc9f69
feat: /apps leaderboard page + Go API service (Hyperliquid $45M/30d, …
Flotapponnier Aug 9, 2026
94bf701
Merge pull request #1800 from ChainBench/feat/apps-leaderboard
Flotapponnier Aug 9, 2026
034a9d6
feat(apps): first-party data sources — HL node fills + GMX Subsquid (…
Flotapponnier Aug 9, 2026
58a681b
fix: dYdX collector — volume×fee-rate instead of MegaVault PnL
Flotapponnier Aug 10, 2026
a9d6a26
feat: add Gains.trade collector (The Graph, needs THEGRAPH_API_KEY)
Flotapponnier Aug 10, 2026
243e0ad
feat: Gains.trade collector via DeFiLlama public API (no key needed)
Flotapponnier Aug 10, 2026
f229e52
feat: gains-trade real-time WS collector via gTrade backend + eth_get…
Flotapponnier Aug 10, 2026
67576a8
fix: leaderboard UI polish + map treasury->burn bucket for Gains.trade
Flotapponnier Aug 10, 2026
66c1678
feat: add logos + /perp links to apps leaderboard table
Flotapponnier Aug 10, 2026
1fd444e
chore: remove defillama gains collector, WS handles gains going forward
Flotapponnier Aug 10, 2026
688b4fe
fix: update codex/defined auth to use defined-attestation-token + COD…
Flotapponnier Aug 10, 2026
6329ccc
Merge pull request #1802 from ChainBench/fix/codex-defined-cookie-mig…
Flotapponnier Aug 10, 2026
5d0ef3a
feat: add Drift, Jupiter Perps, Vertex to apps leaderboard via DeFiLl…
Flotapponnier Aug 10, 2026
4611234
fix: dYdX fee rate 5bps → 3.5bps (blended effective rate) (#1804)
Flotapponnier Aug 10, 2026
06d36c1
fix: dYdX full history — 90d limit → 1000d (Nov 2023 launch) (#1805)
Flotapponnier Aug 10, 2026
1834a1d
perf: use recording rules for lz/bridge histogram queries, drop raw r…
Flotapponnier Aug 10, 2026
a40284e
perf: Prometheus recording rules for lz/bridge histogram queries
Flotapponnier Aug 10, 2026
4d31fde
fix: truncate tron/token-quote methodology strings, telos em-dash in …
Flotapponnier Aug 10, 2026
6e47dd7
fix: tron/token-quote methodology too long, telos em-dash
Flotapponnier Aug 10, 2026
6837c83
perf: recording rules for hyperlane histogram queries
Flotapponnier Aug 10, 2026
da74d21
perf: recording rules for hyperlane histogram queries
Flotapponnier Aug 10, 2026
fea9515
revert: layerzero back to raw queries
Flotapponnier Aug 10, 2026
fcae361
fix: remove em dashes in kaia-rpc and aurora-rpc findings
Flotapponnier Aug 10, 2026
5d66ae7
feat: add solana-exec harness + /apps/exec page (#1811)
Flotapponnier Aug 10, 2026
ee29243
fix: log warning when solana-exec collector hits sig limit (#1812)
Flotapponnier Aug 10, 2026
2afd0b3
feat: paginate getSignaturesForAddress for complete tx coverage (#1813)
Flotapponnier Aug 10, 2026
e848876
fix: remove dead RPC providers, allow optional p90/p99 for gauge benches
Flotapponnier Aug 10, 2026
57d5742
remove: delete indexing-freshness bench
Flotapponnier Aug 10, 2026
23c80a5
remove: delete indexing-freshness bench
Flotapponnier Aug 10, 2026
7b52010
fix(codex): utls scraper + GitHub Actions token push (#1818)
Flotapponnier Aug 10, 2026
0ef43e7
fix(codex-scraper): cap at 3 failures then disable to stop log spam (…
Flotapponnier Aug 10, 2026
4f7634d
fix(codex): add sidecar fallback to metadata-coverage and pm-rate-lim…
Flotapponnier Aug 11, 2026
af260dd
fix(squid): use fee+gas sum when USD amounts cancel out on stable pai…
Flotapponnier Aug 11, 2026
d9e1a32
fix(bridge-fee): add amount_usd=300 filter to all queries (#1827)
Flotapponnier Aug 11, 2026
462b72b
fix: filter DeFiLlama null-amount entries in perp-longevity
Flotapponnier Aug 11, 2026
72e5408
fix: skip DeFiLlama null-amount entries in perp-longevity
Flotapponnier Aug 11, 2026
a38d2eb
feat: add EVM exec harness (GMGN ETH/BSC/Base) + revenue leaderboard
Flotapponnier Aug 11, 2026
576b937
fix: evm-exec audit — withMetadata true, GetCursor error handling
Flotapponnier Aug 11, 2026
d15951d
perf: use NodeReal blockTimestamp to skip eth_getBlockByNumber on BSC…
Flotapponnier Aug 11, 2026
f7fff58
fix: nodereal blockTimeStamp is top-level int64 not nested string
Flotapponnier Aug 11, 2026
12e3fb0
fix: use Etherscan timeStamp for ETH native blocktime, switch to publ…
Flotapponnier Aug 11, 2026
5bfc914
perf: use blockTimestamp from eth_getLogs to skip getBlockByNumber, a…
Flotapponnier Aug 11, 2026
4160855
fix: filter DeFiLlama entries with null/zero amount (hyperliquid fals…
Flotapponnier Aug 11, 2026
2d59228
Merge pull request #1822 from ChainBench/feat/evm-exec
Flotapponnier Aug 11, 2026
248fac5
feat(solana-exec): multi-platform support + drop Helius dependency
Flotapponnier Aug 10, 2026
d500fb0
fix(solana-exec): cu_price uses SetComputeUnitLimit, not consumed
Flotapponnier Aug 10, 2026
b02a14c
fix(solana-exec): discriminator 0x02=CULimit 0x03=CUPrice, dedup raw_…
Flotapponnier Aug 10, 2026
09bcc15
Merge pull request #1829 from ChainBench/feat/solana-exec-multiplatform
Flotapponnier Aug 11, 2026
b2d6ffe
fix(solana-exec): cap backfill at 30 pages per account to avoid unbou…
Flotapponnier Aug 11, 2026
312baea
Merge pull request #1830 from ChainBench/feat/solana-exec-multiplatform
Flotapponnier Aug 11, 2026
38fe060
feat: memecoin-platforms harness — Fomo vs pump.fun fee comparison vi…
Flotapponnier Aug 11, 2026
5d08e8f
feat: memecoin-platforms harness — Fomo vs pump.fun fee comparison vi…
Flotapponnier Aug 11, 2026
8a507e8
feat: bench 200 solana launchpad wars via Mobula lighthouse
Flotapponnier Aug 11, 2026
38d35c6
Merge pull request #1832 from ChainBench/feat/solana-launchpad-wars
Flotapponnier Aug 11, 2026
a709ffc
fix: solana-launchpad-wars unit usd casing
Flotapponnier Aug 11, 2026
66abcab
Merge pull request #1834 from ChainBench/fix/solana-launchpad-wars-un…
Flotapponnier Aug 11, 2026
2d2a4c3
feat: bench 201 solana trading platform wars (#1835)
Flotapponnier Aug 11, 2026
1d7d6cf
fix: memecoin-platforms YAML spec validation errors (#1836)
Flotapponnier Aug 11, 2026
369e38e
fix: map platform:null to pump-fun — Mobula does not tag native trades
Flotapponnier Aug 11, 2026
f9dd232
chore: force staging redeploy for memecoin-platforms cache bust
Flotapponnier Aug 11, 2026
3d35ddc
feat: add pump-fun, trojan, gmgn, maestro logos and registry entries
Flotapponnier Aug 11, 2026
7dc8678
feat: bench 202 app store ratings (#1840)
Flotapponnier Aug 11, 2026
b28780d
feat(evm-exec): add FOMO Gnosis Safe fee wallet confirmed via Relay A…
Flotapponnier Aug 11, 2026
6c59611
fix(evm-exec): remove FOMO — Relay API app filter invalid, address wa…
Flotapponnier Aug 11, 2026
a08a084
feat(evm-exec): add Maestro + Banana Gun fee wallets confirmed via De…
Flotapponnier Aug 11, 2026
3dc1dbb
fix(evm-exec): remove bad FOMO fee address (#1841)
Flotapponnier Aug 11, 2026
010408d
feat: add logos and brand colors for app-store-ratings bench providers
Flotapponnier Aug 11, 2026
9244d2b
feat: logos for app-store-ratings bench providers (#1842)
Flotapponnier Aug 11, 2026
9c8f747
feat: add review count panel and ledger columns to bench 202 (#1844)
Flotapponnier Aug 11, 2026
bd999ae
feat(bench200): on-chain Solana fee parser, Phantom provider, dust fi…
Flotapponnier Aug 11, 2026
af6682b
fix: bench number 203 (200 taken by launchpad-wars)
Flotapponnier Aug 11, 2026
69a7b86
feat(evm-exec): add Axiom BSC fee receiver (DeFiLlama confirmed)
Flotapponnier Aug 11, 2026
0974333
fix: escape apostrophe in exec page
Flotapponnier Aug 11, 2026
17d4d13
Merge pull request #1845 from ChainBench/feat/memecoin-onchain-fees
Flotapponnier Aug 11, 2026
802846c
feat: add review count panel and ledger columns to bench 202
Flotapponnier Aug 11, 2026
f28abf3
merge: resolve description conflict, keep dev version
Flotapponnier Aug 11, 2026
86f6e7a
feat: add review count panel and ledger columns to bench 202
Flotapponnier Aug 11, 2026
ec2a7da
fix: healthz immediate, txCache eviction, drop custom min
Flotapponnier Aug 11, 2026
8e2e6c3
fix: rpc 220ms throttle, error field, 2h trade window
Flotapponnier Aug 11, 2026
c96af49
fix: 1s rpc throttle, 50 trades/token, max 15 fresh lookups/poll
Flotapponnier Aug 11, 2026
7e5a7c4
fix: switch to publicnode rpc
Flotapponnier Aug 11, 2026
4d6adf9
fix: 30min trade window to stay within rpc history
Flotapponnier Aug 11, 2026
5067bd4
feat(apps): unified trading apps leaderboard with per-chain fees
Flotapponnier Aug 11, 2026
c3fc1e5
fix: only rpc-fetch trades < 5min old, 10min mobula window
Flotapponnier Aug 11, 2026
39bf355
fix: remove date field, silence not-found logs, restore 15-cap logic
Flotapponnier Aug 11, 2026
2815211
Merge pull request #1847 from ChainBench/fix/memecoin-harness-improve…
Flotapponnier Aug 11, 2026
6a1c464
fix(apps): add missing logos for bullx, photon, banana-gun (#1848)
Flotapponnier Aug 11, 2026
2a70adb
fix(apps): remove perps from /apps page (#1849)
Flotapponnier Aug 11, 2026
f76c923
feat(apps): window selector + bench links (#1850)
Flotapponnier Aug 11, 2026
d1f82d9
feat(bench-202): replace Phantom/DEX Screener with Coinbase/Bybit/Kra…
Flotapponnier Aug 11, 2026
6c591ab
fix(memecoin): isolate mobulaClient from HTTPS_PROXY, bump rpc timeou…
Flotapponnier Aug 11, 2026
0a253ae
fix(memecoin): poll mutex, drop token_address label, sol price init, …
Flotapponnier Aug 11, 2026
5a5b2e5
fix(rpc): correct probe method in UI copy, fix rank #0 display
Flotapponnier Aug 11, 2026
0300fb3
fix(l1-finality): exclude stale-gauge rows from ranking + dynamic SEO…
Flotapponnier Aug 11, 2026
046297b
fix(rpc-capabilities): sub-ms precision in latency measurement
Flotapponnier Aug 11, 2026
4877afc
fix: add trojan/banana-gun/maestro solana accounts, fix banana-gun EV…
Flotapponnier Aug 11, 2026
51aa612
fix(rpc): correct probe method in UI copy, fix rank #0 display
Flotapponnier Aug 11, 2026
ddd00cc
fix: sub-ms precision in mev/ws harnesses, rank #0 in rpc chains section
Flotapponnier Aug 11, 2026
89112a6
fix(memecoin): 2h TTL on txCache, trim token symbol whitespace (#1857)
Flotapponnier Aug 11, 2026
592c27d
Merge pull request #1856 from ChainBench/fix/latency-precision-rank-d…
Flotapponnier Aug 11, 2026
763405a
fix(alternatives): twitter cards, noindex draft, remove duplicate led…
Flotapponnier Aug 11, 2026
7744b23
feat(apps): add related benchmarks section with app-store-ratings and…
Flotapponnier Aug 11, 2026
aebbe7b
fix(memecoin): Trojan audit — skip programs, add maestro, update YAML…
Flotapponnier Aug 11, 2026
ec63945
feat(bench-202): add product pages + binance-us SVG logo for app-stor…
Flotapponnier Aug 11, 2026
b8fc04a
feat(bench-202): add product pages + binance-us SVG logo for app-stor…
Flotapponnier Aug 11, 2026
6b22fd0
feat(apps): merge exec into /apps, drop /apps/exec, redirect 301
Flotapponnier Aug 11, 2026
87c41e1
fix(compare): correct FAQ verbs, add related comparisons cross-links
Flotapponnier Aug 11, 2026
91b595e
fix: use canonicalize for related pair names (ProviderRegistryEntry h…
Flotapponnier Aug 11, 2026
dddbfd3
Merge pull request #1862 from ChainBench/fix/audit-faq-noindex-crossl…
Flotapponnier Aug 11, 2026
c4bacd9
Merge pull request #1861 from ChainBench/feat/app-store-product-pages
Flotapponnier Aug 11, 2026
d9c5b9e
feat(memecoin): 25 tokens, 4h/100 trades window, fresh cap 40, 4h cac…
Flotapponnier Aug 11, 2026
9260398
feat(bench-204): trading-app-execution bench + fix benchUrl (#1864)
Flotapponnier Aug 11, 2026
20c54da
feat(bench-202): add Robinhood + Crypto.com to app-store-ratings (#1865)
Flotapponnier Aug 11, 2026
72671e4
feat(bench-202): upgrade fomo logo to SVG (#1866)
Flotapponnier Aug 12, 2026
3a786ee
rename: meme-bot -> trading-terminal category (#1867)
Flotapponnier Aug 12, 2026
8e41abc
fix: pump.fun +8 missing fee wallets, BullX inactive badge
Flotapponnier Aug 12, 2026
b61f22e
fix: pump.fun +8 missing fee wallets, BullX inactive badge (#1868)
Flotapponnier Aug 12, 2026
926177a
feat(alternatives): restore LedgerTable for content density, adjust CTA
Flotapponnier Aug 12, 2026
d83760d
feat: replace EVM harness with DeFiLlama, fix Solana sweep detection
Flotapponnier Aug 12, 2026
0d76210
fix: restore on-chain EVM harness, add Base native ETH scaffold
Flotapponnier Aug 12, 2026
37f3763
feat: add FOMO relay fees via Dune + Base native ETH scaffold
Flotapponnier Aug 12, 2026
3420876
feat: trading app revenue — on-chain harness + FOMO Dune relay fees
Flotapponnier Aug 12, 2026
e28cea5
feat: add Robinhood Chain (USDG) for gmgn + maestro revenue tracking
Flotapponnier Aug 12, 2026
758258d
feat: add robinhood chain to evm-exec api (coingecko + native symbol …
Flotapponnier Aug 12, 2026
4828bf9
fix: audit v2 corrections — banana-gun native off, robinhood blocksco…
Flotapponnier Aug 12, 2026
af23513
fix(benchmarks): blast/monad co-location caveat, perp-cost-slope orac…
Flotapponnier Aug 12, 2026
7f96bec
fix: Solana fees use exact sum_platform_fee_lamports, not txCount×avg…
Flotapponnier Aug 12, 2026
d47ee23
merge origin/dev
Flotapponnier Aug 12, 2026
895e272
Merge pull request #1870 from ChainBench/fix/rpc-colocation-perp-slop…
Flotapponnier Aug 12, 2026
418b389
fix: axiom solana re-activated, banana-gun evm nulled, evmCoverage co…
Flotapponnier Aug 12, 2026
f74adb1
fix: numeric precision for token division, remove dead banana-gun evm…
Flotapponnier Aug 12, 2026
b7f5d6d
feat(bench-202): add Invo to app-store-ratings bench
Flotapponnier Aug 12, 2026
d41714c
feat(bench-202): add Invo to app-store-ratings (#1871)
Flotapponnier Aug 12, 2026
7104648
fix: banana-gun/base native disabled, Base via Etherscan V2 (drops Ba…
Flotapponnier Aug 12, 2026
09f4619
fix: FOMO on-chain USDC formula, staleness alert >36h, Solana fee des…
Flotapponnier Aug 12, 2026
825e3c1
fix: FOMO Dune query rows are cumulative — use MAX per period (830408…
Flotapponnier Aug 12, 2026
6d48075
feat: add RelatedProvidersSection to hyperliquid/[slug] page
Flotapponnier Aug 12, 2026
18ab560
feat: add RelatedProvidersSection to hyperliquid/[slug] page (#1872)
Flotapponnier Aug 12, 2026
416ac4e
Merge pull request #1873 from ChainBench/feat/hl-page-related-section
Flotapponnier Aug 12, 2026
b6d6435
fix: scale Solana fee sum by raw/sampled ratio, FOMO relay null warni…
Flotapponnier Aug 12, 2026
3bbba8f
Merge pull request #1874 from ChainBench/fix/revenue-accuracy
Flotapponnier Aug 12, 2026
1a70351
feat: add live bench appearances section to hl detail page (#1875)
Flotapponnier Aug 12, 2026
7544c0f
feat: add fomo-vs-pump-fun compare page + brand whitelist
Flotapponnier Aug 12, 2026
dfeef3a
Merge pull request #1876 from ChainBench/feat/fomo-vs-pumpfun-compare
Flotapponnier Aug 12, 2026
2e86a10
fix: unify pump-fun slug (was pumpfun) in app-store-ratings + registry
Flotapponnier Aug 12, 2026
745179b
Merge pull request #1877 from ChainBench/fix/pumpfun-slug-unification
Flotapponnier Aug 12, 2026
da40ca1
fix: unify pump-fun slug + brand color + remove empty platform bench …
Flotapponnier Aug 12, 2026
728ef63
Merge pull request #1878 from ChainBench/fix/pumpfun-slug-unification
Flotapponnier Aug 12, 2026
8667e6f
fix: FOMO + pump.fun canonical display names
Flotapponnier Aug 12, 2026
e4a98f8
Merge pull request #1879 from ChainBench/fix/fomo-pump-canonical-names
Flotapponnier Aug 12, 2026
7f64564
fix: compare page FAQ verb, verdict n=1, provisional badge, provider …
Flotapponnier Aug 12, 2026
1577adf
Merge pull request #1880 from ChainBench/fix/compare-page-content
Flotapponnier Aug 12, 2026
a322f9b
fix(memecoin): detect pump.fun AMM WSOL pool-intermediated fees (sect…
Flotapponnier Aug 12, 2026
8f77fbe
Merge pull request #1881 from ChainBench/fix/memecoin-pumpfun-wsol-fe…
Flotapponnier Aug 12, 2026
6668958
fix: compare page Lia V3 — verb/verdict/provisional/neutral/fee-discl…
Flotapponnier Aug 12, 2026
eaa5198
feat: bench 205 solana-dex-volume (DeFiLlama, PumpSwap/Axiom/GMGN/Fom…
Flotapponnier Aug 12, 2026
9dfc90e
Merge pull request #1883 from ChainBench/feat/bench-205-solana-dex-vo…
Flotapponnier Aug 12, 2026
c2fda77
fix: compare Lia V4 — provisional in scope table, split decision, FAQ…
Flotapponnier Aug 12, 2026
2421b2c
fix(memecoin): Jito tip skip, Trojan fee owner, 1.5% cap on section 4
Flotapponnier Aug 12, 2026
a25cc02
Merge pull request #1885 from ChainBench/fix/memecoin-fee-jito-cap-tr…
Flotapponnier Aug 12, 2026
c8c1e7e
fix: remove em/en dashes from bench 205 YAML (validator)
Flotapponnier Aug 12, 2026
2cdf183
Merge pull request #1886 from ChainBench/feat/bench-205-solana-dex-vo…
Flotapponnier Aug 12, 2026
8df3fc0
fix: skip capped trades from fee% denominator in memecoin monitor
Flotapponnier Aug 12, 2026
8ab05a6
Merge pull request #1887 from ChainBench/fix/memecoin-cap-dilution
Flotapponnier Aug 12, 2026
e15224a
fix: shortBenchTitle colon strip, verdict/A1 clean titles, provisiona…
Flotapponnier Aug 12, 2026
4810e15
fix: shortBenchTitle colon strip, verdict/A1 clean titles, provisiona…
Flotapponnier Aug 12, 2026
ed4a849
fix: main metric in scope table, compareTitle, fused verdict, disclai…
Flotapponnier Aug 12, 2026
7eae080
merge: resolve dev conflict, keep V6 fixes
Flotapponnier Aug 12, 2026
17dd01f
fix: compare Lia V6 — scope table main column, compareTitle, fused ve…
Flotapponnier Aug 12, 2026
1f2fd1c
fix: avoid phantom n=0 platform entries when all trades are cap-skipped
Flotapponnier Aug 12, 2026
dcf43a6
Merge pull request #1891 from ChainBench/fix/memecoin-cap-dilution
Flotapponnier Aug 12, 2026
aca4d57
feat: bench 205 lia fixes - BullX, 7d metrics, take rate, dailyRevenu…
Flotapponnier Aug 12, 2026
352c93c
fix: bench 203/205 accuracy + YAML dash fixes (#1894)
Flotapponnier Aug 12, 2026
11cfb7b
fix: remove residual conflict markers from solana-dex-volume.yml (bui…
Flotapponnier Aug 12, 2026
0cc5ad4
fix: remove all em-dashes from bench 204 YAML (Zod rejection) (#1895)
Flotapponnier Aug 12, 2026
af12e47
feat(apps): Phantom + formFactor + DL market share + change_1d (#1892)
Flotapponnier Aug 12, 2026
300d1f0
fix: em-dashes bench 203 YAML + bench 204 page.tsx (#1896)
Flotapponnier Aug 12, 2026
a98af26
fix: drop PumpSwap from bench 205, keep terminals + pump.fun (#1897)
Flotapponnier Aug 12, 2026
a0e87fe
feat: pump.fun bonding curve fee wallets + Section 1bis native SOL (#…
Flotapponnier Aug 12, 2026
06cd514
feat: add pump.fun to bench 201 via byLaunchpad cross-publish (#1899)
Flotapponnier Aug 12, 2026
09e8bd8
feat: bench 206 avg swap size + pump.fun in bench 201 + platformTrade…
Flotapponnier Aug 13, 2026
be07c96
feat: bench 207 unique daily traders by Solana platform (Dune) (#1901)
Flotapponnier Aug 13, 2026
f7d9606
fix: Fomo fees bench 201 via DeFiLlama instead of Mobula (#1902)
Flotapponnier Aug 13, 2026
ffc77c7
fix: bench 201 FAQ attribution contradiction + wrong source URL (#1904)
Flotapponnier Aug 13, 2026
c355d9b
fix: bench 201 editorial pass (no hardcoded numbers, PumpSwap, Fomo f…
Flotapponnier Aug 13, 2026
8937ed6
fix: bench 201 simplify methodology
Flotapponnier Aug 13, 2026
7c97eef
fix: remove Phantom from bench 201 (wallet, not trading platform)
Flotapponnier Aug 13, 2026
a62d941
fix: remove marketing metric from Invo methodology bullet (#1908)
Flotapponnier Aug 13, 2026
92dcb7d
fix: bench 202 editorial pass (#1909)
Flotapponnier Aug 13, 2026
d8b3f74
fix: bench 203 pump.fun FAQ reflects 0% fee since Aug 7 2026 (#1910)
Flotapponnier Aug 13, 2026
774d55c
fix: bench 203 editorial pass (#1911)
Flotapponnier Aug 13, 2026
cb342c8
fix: bench 203 unattributed attribution + formula update (#1912)
Flotapponnier Aug 13, 2026
17d8853
fix: bench 203 pump.fun attribution via poolType + editorial fixes (#…
Flotapponnier Aug 13, 2026
8f5dd49
fix: bench 203 poolType attribution + bench 201 seo_intro volume rang…
Flotapponnier Aug 13, 2026
aae8ac2
fix: strip noisy heuristics from memecoin fee capture, use Mobula pla…
Flotapponnier Aug 13, 2026
c3f68bb
feat: rewrite bench 203 harness to use Dune fee wallet monitoring
Flotapponnier Aug 13, 2026
97e741e
fix: bench 203 - use native SOL balance join + remove pump_fun_solana…
Flotapponnier Aug 13, 2026
955c927
fix: bench 203 lighthouse - add byLaunchpad for pump-fun volume
Flotapponnier Aug 13, 2026
7d1687b
feat: bench 203 - add Fomo via DeFiLlama (off-chain relay not captura…
Flotapponnier Aug 13, 2026
62e8943
fix(203+204): fee-paying volume metric, PLATFORM_DISPLAY mapping, met…
Flotapponnier Aug 13, 2026
5dbe7cd
feat: rebuild bench 204 — YAML-driven metadata, /metrics endpoint, cl…
Flotapponnier Aug 13, 2026
1839bb0
fix: bench 203/204/206/207 - editorial updates, bench 207 Dune SQL re…
Flotapponnier Aug 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/codex-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Codex token push

on:
schedule:
- cron: '*/5 * * * *'
workflow_dispatch:

jobs:
push-token:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version-file: harnesses/aggregator-head-lag/go.mod
cache-dependency-path: harnesses/aggregator-head-lag/go.sum

- name: Build scraper
working-directory: harnesses/aggregator-head-lag
run: go build -o /tmp/codex-scraper ./cmd/test-utls/

- name: Scrape and push token
run: |
set -euo pipefail
output=$(MODE=default /tmp/codex-scraper 2>&1)
echo "$output" | head -5
token=$(echo "$output" | grep '^CODEX_TOKEN=' | cut -d= -f2-)
if [ -z "$token" ] || [ ${#token} -lt 100 ]; then
echo "ERROR: no token in output"
echo "$output"
exit 1
fi
echo "Got token (len=${#token}), pushing to sidecar..."
http_code=$(curl -s -o /tmp/push_resp -w "%{http_code}" -X POST \
-H "Content-Type: text/plain" \
--data-raw "$token" \
"http://57.130.19.92:8080/push")
if [ "$http_code" = "204" ]; then
echo "Push OK"
else
echo "Push failed (HTTP $http_code): $(cat /tmp/push_resp)"
exit 1
fi
242 changes: 242 additions & 0 deletions benchmarks/app-store-ratings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
# OpenChainBench. Bench 202

slug: app-store-ratings
number: "202"
title: "Crypto trading app iOS ratings: Coinbase vs Robinhood vs Crypto.com vs Bybit, live"
seo_title: "Crypto trading app App Store ratings 2026: Coinbase, Robinhood, Crypto.com, Bybit, Kraken, Invo, Fomo, PumpFun, GMGN, Moonshot"
seo_description: "{{best_name}} leads crypto trading apps on the iOS App Store at {{best_p50}} stars. Coinbase vs Robinhood vs Crypto.com vs Bybit vs Kraken vs Invo vs Fomo vs PumpFun vs GMGN vs Moonshot ranked live from iTunes ratings."
subtitle: Live Apple App Store ratings for the leading crypto trading apps on iOS. Updated every 30 minutes from the iTunes lookup API. Rating is the current average across all user reviews. Review count shows how many users voted.

category: Trading
status: live
metric: App Store rating
unit: x
higher_is_better: true

disclaimer: |
Ratings reflect the current all-time average user rating from the Apple App Store as returned by the iTunes lookup API. Apple does not expose star-distribution breakdowns or time-windowed averages via the public API. A high rating with few reviews carries more statistical uncertainty than the same rating with tens of thousands of reviews. The review count column shows how many users contributed to each rating.

seo_intro: |
This benchmark ranks the top crypto trading apps on the iOS App Store by
user rating, updated live every 30 minutes from the iTunes lookup API. It
spans both centralized exchange apps (Coinbase, Robinhood, Crypto.com, Bybit,
Kraken, Binance.US) and on-chain trading terminals (Fomo, GMGN, PumpFun,
Moonshot). Robinhood leads on raw review volume with nearly 5 million ratings,
making it the most statistically reliable data point in the set. Coinbase
follows with over 1.8 million ratings. On-chain apps like Fomo have accumulated
over 7,000 ratings since launching in April 2025, signaling strong early
engagement from DeFi-native traders.

abstract: |
The harness polls the iTunes public lookup API
(itunes.apple.com/lookup?id=<appID>&country=us) every 30 minutes for each
tracked app. The API returns averageUserRating (0-5, rounded to two decimal
places by Apple) and userRatingCount (total all-time reviews). The harness
exposes three gauges per app: app_store_rating, app_store_reviews_total,
and app_store_health. No API key is required. Apple caches the endpoint
but updates it within hours of new reviews arriving.

methodology:
- "Source: Apple iTunes public lookup API (itunes.apple.com/lookup?id=<appID>&country=us). No authentication required. Returns averageUserRating and userRatingCount."
- "Poll cadence: harness fetches each app every 30 minutes. Ratings change slowly (daily to weekly) so 30-minute polling captures all meaningful changes while respecting Apple caching."
- "Rating: Apple computes the average across all all-time user reviews. Apple does not expose time-windowed (e.g. current version only) averages via the public API endpoint used here."
- "Review count: total number of ratings ever submitted on the US App Store. Higher = more statistically reliable average."
- "Robinhood (ID 938003185): the most-reviewed financial app on the US App Store with nearly 5 million ratings. Commission-free investing with crypto added in 2018."
- "Coinbase (ID 886427730): the largest US-regulated crypto exchange. Over 1.8 million App Store ratings."
- "Crypto.com (ID 1262148500): Singapore-headquartered super app with 100M+ users globally, offering spot, derivatives, Visa card and DeFi wallet."
- "Bybit (ID 1488296980): major global exchange strong on derivatives and spot trading."
- "Kraken (ID 1481947260): veteran US exchange with strong security reputation."
- "Binance.US (ID 1492670702): US-regulated arm of Binance, available on the US App Store."
- "Fomo (ID 6741115427): launched Apr 2025. Social copy-trading and meme coin terminal, backed by Index Ventures and USV."
- "GMGN (ID 6745328711): AI-powered trading terminal focused on Solana meme coins."
- "PumpFun (ID 6717572591): launched Oct 2024. Bonding-curve launchpad and trading app for Solana meme coins."
- "Moonshot (ID 6503993131): mobile-first meme coin launchpad with fiat onramp via Apple Pay, by DEX Screener."
- "Invo (ID 1601301148): Hyperliquid-native social trading mobile app with 170+ perp pairs and copy trading via its registered builder code on Hyperliquid."

findings:
- "{{best_name}} leads crypto trading apps on the iOS App Store at {{best_p50}} stars."
- "Robinhood dominates on review volume with nearly 5 million ratings, making it the most statistically robust data point in the set."
- "Coinbase follows with over 1.8 million ratings and is the top pure-crypto exchange by review count."
- "Fomo has accumulated over 7,000 ratings since its April 2025 launch despite being one of the newest entrants, signaling strong mobile-native engagement."
- "On-chain trading apps (Fomo, GMGN, PumpFun, Moonshot) compete directly with major CEX apps for the same mobile trader."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/app-store-ratings

prometheus:
window: 24h
freshness_metric: app_store_health

metric_panels:
- id: reviews
label: Review count
label_key: app
metric: app_store_reviews_total
unit: count
higher_is_better: true
description: "Total number of user ratings submitted on the US App Store. More reviews = more statistically reliable average. Robinhood leads with 4.8M+ ratings, Coinbase follows at 1.8M+."

ledger_columns:
- { label: "Rating", slot: p50 }
- { label: "Reviews", panel: reviews }

faq:
- q: "Why does the App Store rating matter for a trading app?"
a: "App Store ratings are the most visible public signal of user satisfaction for mobile products. For trading apps competing for the same users, a higher rating and more reviews signals a better-received product."
- q: "How often do App Store ratings change?"
a: "Slowly. Individual ratings accumulate continuously but the average moves over days to weeks. The harness polls every 30 minutes to capture any meaningful shift; in practice the number updates at most once or twice per day."
- q: "Why is this the US App Store only?"
a: "The iTunes public lookup API returns US store data by default. Review counts and ratings can differ by country. The US store is the largest single market and the standard reference for app comparisons."
- q: "Does this include Google Play ratings?"
a: "No. This benchmark covers the US App Store only. CEX apps like Coinbase and Bybit have Android versions but on-chain apps like Fomo and PumpFun are iOS-only as of 2026."
- q: "Why does Robinhood have so many more reviews than Coinbase?"
a: "Robinhood launched in 2013 as a stock trading app and had 13 million funded accounts before adding crypto in 2018. Its larger and older user base has had more time to leave App Store reviews. Its nearly 5 million ratings make it the most statistically reliable data point in this benchmark."
- q: "What is Crypto.com and why is it included?"
a: "Crypto.com is one of the largest crypto exchanges globally with 100M+ registered users. Its iOS app combines spot trading, a crypto Visa card, DeFi wallet and staking in a single super app, making it a major competitor to Coinbase for everyday crypto users."
- q: "What is Moonshot?"
a: "Moonshot is a mobile-first meme coin launchpad built by DEX Screener, the leading token analytics platform. It differentiates via fiat onboarding through Apple Pay, targeting users who want to buy meme coins without setting up a crypto wallet first."
- q: "Why Binance.US and not Binance?"
a: "The global Binance app is not available on the US App Store due to regulatory restrictions. Binance.US is the separate US-licensed entity with its own app (ID 1492670702) available to American users."

providers:
- slug: robinhood
name: Robinhood
tag: "US investing app, 4.8M ratings"
formula: "Apple App Store average rating (iTunes lookup API, app ID 938003185, US store, all-time average). Review count from app_store_reviews_total{app=\"robinhood\"}."
queries:
p50: app_store_rating{app="robinhood"}
p90: app_store_rating{app="robinhood"}
p99: app_store_rating{app="robinhood"}
mean: app_store_rating{app="robinhood"}
success: app_store_health{app="robinhood"}
sample_size: app_store_reviews_total{app="robinhood"}
series: app_store_rating{app="robinhood"}

- slug: coinbase
name: Coinbase
tag: "US crypto exchange"
formula: "Apple App Store average rating (iTunes lookup API, app ID 886427730, US store, all-time average). Review count from app_store_reviews_total{app=\"coinbase\"}."
queries:
p50: app_store_rating{app="coinbase"}
p90: app_store_rating{app="coinbase"}
p99: app_store_rating{app="coinbase"}
mean: app_store_rating{app="coinbase"}
success: app_store_health{app="coinbase"}
sample_size: app_store_reviews_total{app="coinbase"}
series: app_store_rating{app="coinbase"}

- slug: cryptocom
name: Crypto.com
tag: "Global crypto super app"
formula: "Apple App Store average rating (iTunes lookup API, app ID 1262148500, US store, all-time average). Review count from app_store_reviews_total{app=\"cryptocom\"}."
queries:
p50: app_store_rating{app="cryptocom"}
p90: app_store_rating{app="cryptocom"}
p99: app_store_rating{app="cryptocom"}
mean: app_store_rating{app="cryptocom"}
success: app_store_health{app="cryptocom"}
sample_size: app_store_reviews_total{app="cryptocom"}
series: app_store_rating{app="cryptocom"}

- slug: bybit
name: Bybit
tag: "Global derivatives exchange"
formula: "Apple App Store average rating (iTunes lookup API, app ID 1488296980, US store, all-time average). Review count from app_store_reviews_total{app=\"bybit\"}."
queries:
p50: app_store_rating{app="bybit"}
p90: app_store_rating{app="bybit"}
p99: app_store_rating{app="bybit"}
mean: app_store_rating{app="bybit"}
success: app_store_health{app="bybit"}
sample_size: app_store_reviews_total{app="bybit"}
series: app_store_rating{app="bybit"}

- slug: kraken
name: Kraken
tag: "US crypto exchange"
formula: "Apple App Store average rating (iTunes lookup API, app ID 1481947260, US store, all-time average). Review count from app_store_reviews_total{app=\"kraken\"}."
queries:
p50: app_store_rating{app="kraken"}
p90: app_store_rating{app="kraken"}
p99: app_store_rating{app="kraken"}
mean: app_store_rating{app="kraken"}
success: app_store_health{app="kraken"}
sample_size: app_store_reviews_total{app="kraken"}
series: app_store_rating{app="kraken"}

- slug: fomo
name: Fomo
tag: "Social trading app, Solana"
formula: "Apple App Store average rating (iTunes lookup API, app ID 6741115427, US store, all-time average). Review count from app_store_reviews_total{app=\"fomo\"}."
queries:
p50: app_store_rating{app="fomo"}
p90: app_store_rating{app="fomo"}
p99: app_store_rating{app="fomo"}
mean: app_store_rating{app="fomo"}
success: app_store_health{app="fomo"}
sample_size: app_store_reviews_total{app="fomo"}
series: app_store_rating{app="fomo"}

- slug: gmgn
name: GMGN
tag: "AI trading terminal, Solana"
formula: "Apple App Store average rating (iTunes lookup API, app ID 6745328711, US store, all-time average). Review count from app_store_reviews_total{app=\"gmgn\"}."
queries:
p50: app_store_rating{app="gmgn"}
p90: app_store_rating{app="gmgn"}
p99: app_store_rating{app="gmgn"}
mean: app_store_rating{app="gmgn"}
success: app_store_health{app="gmgn"}
sample_size: app_store_reviews_total{app="gmgn"}
series: app_store_rating{app="gmgn"}

- slug: pump-fun
name: PumpFun
tag: "Solana meme launchpad app"
formula: "Apple App Store average rating (iTunes lookup API, app ID 6717572591, US store, all-time average). Review count from app_store_reviews_total{app=\"pump-fun\"}."
queries:
p50: app_store_rating{app="pump-fun"}
p90: app_store_rating{app="pump-fun"}
p99: app_store_rating{app="pump-fun"}
mean: app_store_rating{app="pump-fun"}
success: app_store_health{app="pump-fun"}
sample_size: app_store_reviews_total{app="pump-fun"}
series: app_store_rating{app="pump-fun"}

- slug: moonshot
name: Moonshot
tag: "Meme launchpad, Apple Pay"
formula: "Apple App Store average rating (iTunes lookup API, app ID 6503993131, US store, all-time average). Review count from app_store_reviews_total{app=\"moonshot\"}."
queries:
p50: app_store_rating{app="moonshot"}
p90: app_store_rating{app="moonshot"}
p99: app_store_rating{app="moonshot"}
mean: app_store_rating{app="moonshot"}
success: app_store_health{app="moonshot"}
sample_size: app_store_reviews_total{app="moonshot"}
series: app_store_rating{app="moonshot"}

- slug: binance-us
name: Binance.US
tag: "US-regulated Binance exchange"
formula: "Apple App Store average rating (iTunes lookup API, app ID 1492670702, US store, all-time average). Review count from app_store_reviews_total{app=\"binance-us\"}."
queries:
p50: app_store_rating{app="binance-us"}
p90: app_store_rating{app="binance-us"}
p99: app_store_rating{app="binance-us"}
mean: app_store_rating{app="binance-us"}
success: app_store_health{app="binance-us"}
sample_size: app_store_reviews_total{app="binance-us"}
series: app_store_rating{app="binance-us"}

- slug: invo
name: Invo
tag: "Hyperliquid social trading app"
formula: "Apple App Store average rating (iTunes lookup API, app ID 1601301148, US store, all-time average). Review count from app_store_reviews_total{app=\"invo\"}."
queries:
p50: app_store_rating{app="invo"}
p90: app_store_rating{app="invo"}
p99: app_store_rating{app="invo"}
mean: app_store_rating{app="invo"}
success: app_store_health{app="invo"}
sample_size: app_store_reviews_total{app="invo"}
series: app_store_rating{app="invo"}
Loading
Loading