RADEOSTOCK

Laboratory handbook

Methodology

RadeoStock is transparent, not mysterious. Every test below states what it reads, how it calculates, which instrument provides the data, and what happens when the instrument fails. There is no hidden score.

01

Liquidity Test

Data read
factory.getPair(TOKEN, USDG) and factory.getPair(TOKEN, WETH) on the UNISWAP-V2 FACTORY (0x8bceaa40b9acdfaedf85adf4ff01f5ad6517937f), then pair.getReserves() and pair.token0() at the pinned observation block.
Calculation
Quote-side reserves are formatted with real token decimals. USDG is counted as $1 (it is the USD-pegged quote asset); WETH depth converts through the canonical WETH/USDG pool read at the same block. Depths across pools are summed.
Provider
On-chain RPC (eth_call), no intermediary.
Fallback
If no pool exists the report states MARKET SOURCE NOT FOUND. If USD conversion cannot be established the report shows native quote units and states USD REFERENCE UNAVAILABLE. TVL is never invented.
Limitations
  • Only the calibrated V2 factory is scanned; liquidity on other venues is invisible to this instrument.
  • Reserves can change or be withdrawn in the next block.
02

Depth Test

Data read
The same pinned-block reserves as the liquidity test.
Calculation
Exact UniswapV2 constant-product mathematics (x·y=k with a 0.30% fee): amountOut = (in·997·Rout)/(Rin·1000 + in·997), simulated for buys of 0.1%, 0.5%, 1% and 2% of the quote reserve. Price impact is the shortfall of execution price versus spot.
Provider
Deterministic local computation over on-chain reserves.
Fallback
If pool mathematics cannot safely be reproduced for a market type, the report states DEPTH TEST UNAVAILABLE FOR THIS MARKET TYPE rather than approximating.
Limitations
  • Single-pool simulation; multi-hop routing is not modeled.
03

Price Integrity Test

Data read
The pool reserve ratio at the pinned block; the Blockscout indexer’s published exchange_rate for the token when one exists; the spot price of every discovered pool.
Calculation
Pool price = quote reserve / token reserve (decimals-adjusted). When a reference exists, deviation = |pool − reference| / reference; above 2% the price is stamped DIVERGENT, otherwise ALIGNED. When two pools exist their cross-route deviation is also printed.
Provider
On-chain RPC + Blockscout indexer.
Fallback
Without any reference the stamp is NO EXTERNAL REFERENCE — the absence of a reference is never treated as evidence of a wrong price.
Limitations
  • The reference is an indexer-published rate, not an oracle attestation.
04

Concentration Test

Data read
https://robinhoodchain.blockscout.com/api/v2/tokens/{address} and /holders — the indexer’s real holder table and total supply.
Calculation
Top-1/5/10 shares of visible supply, with known burn addresses (0x0, 0xdead) excluded from both numerator and denominator. CONCENTRATED is flagged above 30% for the largest holder or 75% for the top ten.
Provider
Blockscout indexer.
Fallback
If the indexer is unreachable the report states HOLDER INSTRUMENT UNAVAILABLE. No distribution is ever claimed without it.
Limitations
  • Shares are computed from the first indexer page (top 10 addresses).
  • Contract-held balances (lockers, LPs) are not classified.
05

Freshness Test

Data read
The head block number and timestamp from the RPC; the observation time of every other instrument.
Calculation
Age = laboratory clock − source timestamp. FRESH ≤ 30s, AGING ≤ 120s, STALE beyond that. Old data is printed with its age — never hidden.
Provider
On-chain RPC.
Fallback
A stale chain head marks the whole sheet STALE SAMPLE.
Limitations
  • Clock skew between the laboratory and the chain is not corrected.
06

Drift (Volatility) Sample

Data read
pair.getReserves() at the pinned block and again 2,000 blocks earlier via archive eth_call.
Calculation
Two-point price drift over the window; above 5% the specimen is flagged VOLATILE.
Provider
On-chain RPC (archive state).
Fallback
If the RPC does not serve archive state, the test reports itself SKIPPED.
Limitations
  • A two-point window cannot capture intra-window swings.

The Verdict Engine

Verdicts are categorical, never a 0–100 score. Flags raised by the tests above combine in a fixed priority: no market evidence → INSUFFICIENT EVIDENCE; two or more serious flags → CONTAMINATED SAMPLE; thin liquidity (< $25,000 quote-side) or 1% depth impact above 5% → THIN SAMPLE; then CONCENTRATED, VOLATILE (drift or divergent price), STALE — and STABLE SAMPLE only when every instrument that could run returned readings within these published thresholds. The report prints the exact evidence and reason behind each verdict.

Sources

  • RPC: https://rpc.mainnet.chain.robinhood.comRobinhood Chain (chain id 4663)
  • Indexer: https://robinhoodchain.blockscout.com
  • DEX: UNISWAP-V2 FACTORY at 0x8bceaa40b9acdfaedf85adf4ff01f5ad6517937f
  • Quote assets: USDG 0x5fc5360d0400a0fd4f2af552add042d716f1d168 · WETH 0x0bd7d308f8e1639fab988df18a8011f41eacad73