WORLD MARKETS
REAL PRICES · PUBLIC MATH

Methodology.

Every number on World Markets can be traced to a source you can check yourself. This page says exactly where each of the 220 indices comes from, how a raw quote becomes the unit we print, and what happens when a source stops answering.

01Where each price comes from

Indices are grouped by the kind of source behind them, not by what they are. A barrel of crude and a bushel of corn share a source; a sealed Pokémon box and a knife skin do not.

GROUPCOUNTSOURCEPOLLQUALITY
Metals, Energy,
Agriculture, Livestock
29 Front-month futures quote from the Yahoo Finance chart endpoint (GC=F, CL=F, ZW=F and so on), converted from US cents where the contract quotes in cents. 5 minLIVE
Currencies126 USD reference rate from the exchangerate-api open endpoint, inverted to USD per unit and multiplied by the catalogue lot. The upstream publishes once a day. 10 minLIVE
Trading cards25 TCGplayer market price of the exact print, read from the tcgcsv daily mirror. Product ids are resolved once and pinned, so a reprint cannot silently swap the index. 6 hDAILY
CS2 skins12 Steam Community Market median price for the exact item and wear. Steam rate-limits hard, so misses are expected and the previous value is kept. 3 hDAILY
Fast food, Drugs, Cars26 Published US list price, or for the drug indices a documented street-price estimate drawn from public DEA and UNODC reporting. These change when the menu, the manufacturer or the published estimate changes, and not otherwise. LIST PRICE
Water, Game gold2 Documented reference level. The Nasdaq Veles California Water Index and the OSRS gold market both lack a free programmatic feed, so these sit at a stated level until one exists. REFERENCE

The per-index source string is served by /api/commodities and shown in the commodities table, so you never have to guess which group an index belongs to.

02Units and lots

Futures do not quote in the unit a person thinks in. Grains, softs and livestock quote in US cents, so they are divided by 100 to reach dollars per bushel or per pound. Everything else is passed through untouched.

# cent-quoted contracts, divided by 100
ZW ZC ZS ZO cents/bushel → USD/bu
ZL SB KC CT OJ cents/pound → USD/lb
LE GF HE cents/pound → USD/lb
# everything else is already in the printed unit
GC SI PL PA USD/oz   CL BZ USD/bbl   CC ALI USD/tonne   ZR DC USD/cwt

Weak currencies are printed in round lots so the number stays readable: one index is 1,000 VND, another is 100 NGN. The lot is part of the unit string and is applied to the rate, never hidden.

03Staleness

Every index carries a limit sized to its source. Past that limit it is marked STALE on the site and in the API, in the same object as the price, so nothing downstream has to infer it.

# staleness limits
futures 72 h  (closed sessions and weekends)
currencies 36 h  (upstream publishes daily)
cards, skins 96 h
list price none  (a menu price does not go stale)
A source going down never invents a number and never blanks the site. The last observed price stays, its age keeps climbing, and once it crosses the limit every surface says so.

04What World Markets does not do

05History

Observations are folded into OHLC buckets at 1m, 5m, 15m, 1h and 1d as they arrive. Gaps stay gaps: if a feed was down for an hour there is no candle for that hour, and the chart shows the hole instead of drawing a straight line across it. The 24h column compares the current price to the hourly close nearest 24 hours ago, and reads 0.00% until there is a day of history to compare against.

06Scope

World Markets publishes price indices. An index is not a claim on the underlying: holding an index level for gold is not holding gold, and the drug indices are a published estimate of a street price, not an offer of anything. Where a name is a trademark it belongs to its owner and is used to say what is being priced.