Methodology.
Every number on oddMarkets can be traced to a source you can check yourself. This page describes exactly where prices come from, how they get on-chain, and how fills, fees, and the pool work.
01Index sources
Twelve indices, each tied to the most credible free public source available. Levels are USD in 1e6 fixed point on-chain.
| MARKET | SOURCE | QUALITY |
|---|---|---|
| TP-PERP | FRED PPI sanitary paper products (WPU091303), scaled to USD per 12-pack | MONTHLY PROXY |
| EGGS-PERP | FRED average price, grade-A eggs per dozen (APU0000708111) | REAL LEVEL |
| LABUBU-PERP | Curated reference price, updated by hand | REFERENCE |
| GPU-HOURLY | vast.ai public API, median H100 SXM ask in USD per hour | LIVE |
| SNKRS-PERP | Curated reference price, updated by hand | REFERENCE |
| POKE-PERP | pokemontcg.io basket: Charizard, Blastoise, Venusaur, Pikachu, Lugia (TCGplayer market), indexed to 148.2 | DAILY |
| IPHONE-RESALE | FRED CPI smartphones (CUUR0000SEEE01), scaled | MONTHLY PROXY |
| COFFEE-PERP | FRED average price, ground roast per lb (APU0000717311) | REAL LEVEL |
| AI-DOMAINS | Curated reference price, updated by hand | REFERENCE |
| HOTEL-NYC | FRED CPI lodging away from home (CUUR0000SEHB), scaled | MONTHLY PROXY |
| DDR5-PERP | DRAMeXchange DDR5 16Gb chip spot session average, divided by 2 for USD per GB | DAILY |
| NAND-PERP | DRAMeXchange 512Gb TLC wafer spot session average | DAILY |
Scaled proxies move with the real index but are anchored to an August 2026 dollar level. Between source refreshes (every 5 minutes) a small mean-reverting interpolation keeps the mark ticking; it is bounded to ±3% around the real anchor and documented in the open source.
02The on-chain oracle
An updater posts all twelve prices to the OddOracle contract on Robinhood Chain. The perps contract refuses to trade against a price older than 10 minutes, so if the feed ever stops, trading pauses rather than filling on stale marks.
source refresh every 5 min
on-chain post every 9 min (mainnet) / 60s (local)
staleness guard 10 min, enforced by contract
03Fill pricing
There is no order book. Fills execute against the oracle mark with virtual-depth price impact, always adverse to the taker: longs open above the mark and close below it, shorts the reverse.
fill = mark × (1 ± impact_bps / 10,000)
# plus taker fee 0.06% per side; the ladder in the terminal renders this exact curve
04The pool
Liquidity providers are the counterparty to every trade. Deposits mint pro-rata shares of the pool.
profits paid from the pool, capped at pool capacity
losses accrue to the pool
cover pool must hold ≥ 10% of total open notional
05Liquidation & funding
A position becomes liquidatable when its mark-to-oracle loss reaches 92% of margin. Anyone may liquidate and earns 2% of the margin. The funding rate shown in the terminal is derived from the real long/short open-interest skew and is indicative only; it is not currently charged to positions.
