Bitcoin Weigh-In Dataset

Daily commodity prices denominated in Bitcoin, 2013-present. CC-BY-4.0. Updated daily at 02:00 UTC.

Version
v1.0.1
Last updated (UTC)
2026-05-21 06:01:51
Rows
4,883
Coverage
2013-01-02 → 2026-05-20
License
CC-BY-4.0
DOI
Zenodo archive pending Issued at first release tag. See changelog for release notes.

Downloads

FormatFileSizeSHA-256
CSVprices.csv797.2 KB
3637bf663994… 3637bf663994d75936434051b1a051580829b5982de006b6578041deb6fa56d6
JSONprices.json1.87 MB
3074ba26cb37… 3074ba26cb378e91c614948898bdf3baeb8544efc8c81d6251dbd03e48ebcb9e
NDJSONprices.ndjson1.90 MB
f1e9d2bfe0bf… f1e9d2bfe0bfdb27e1acc6995a8cc1721147cf7a4cb1e1094260648188c89b3d
Parquetprices.parquet706.9 KB
b30f5a085b01… b30f5a085b0148516045eea0c4cb644ac1da081b79f58f2c1b7d6e945df94c75

All sums also published in SHA256SUMS. Verify with shasum -a 256 -c SHA256SUMS.

Sample preview

datebtc_usdbtc_supplyxau_usdxag_usdxpt_usdcopper_usdbrent_usdwheat_usdcoffee_usdxau_per_btcxag_per_btcxpt_per_btccopper_per_btcbrent_per_btcwheat_per_btccoffee_per_btcforward_filled
2013-01-0213.28105060001685.4831.071562.93.7245112.98744.51.64010.007879060.427421950.008497023.565579270.117542930.017837478.09706725
2013-01-0313.398105096001663.5230.1431560.23.7015113.03760.51.68210.008054010.444481310.008587363.619613670.11853490.017617367.9650437
2013-01-0413.5105132001655.730.321555.83.6785112.58756.51.65790.008153650.445250660.008677213.669974170.119914730.017845348.14283129
2013-01-0513.529333105168001652.830.251554.83.673333112.55758.51.65930.00818570.447250680.008701653.683121840.120207310.017836968.15363888
2013-01-0613.558667105204001649.930.181553.83.668167112.52760.51.66070.008217870.449260010.008726133.696305810.120500060.017828628.16442886

Schema

NameTypeUnitSourceNotes
datestringISO 8601 (YYYY-MM-DD)internalTrading day. Every calendar date from coverage start to last update has a row.
btc_usdnumberUSD per BTCStooq btcusd daily closeContinuous BTC-USD spot aggregate. Required field; rows without a btc_usd value are not emitted.
btc_supplyintegerBTCDerived (Bitcoin halving schedule)Deterministic function of days-since-genesis (2009-01-03) at 144 blocks/day target, halving every 210,000 blocks. No API dependency.
xau_usdnumberUSD per troy ounceStooq xauusd daily closeSpot gold, London close.
xag_usdnumberUSD per troy ounceStooq xagusd daily closeSpot silver, London close.
xpt_usdnumberUSD per troy ounceStooq xptusd daily closeSpot platinum, London close.
copper_usdnumberUSD per poundStooq hg.c daily closeCOMEX copper continuous front-month.
brent_usdnumberUSD per barrelFRED DCOILBRENTEU dailyEurope Brent spot FOB, sourced from EIA via FRED. Typically lags one business day.
wheat_usdnumberUSD per bushelStooq zw.c daily closeCBOT wheat continuous front-month.
coffee_usdnumberUSD per poundStooq kc.c daily closeICE Arabica coffee continuous front-month. Stooq quotes in cents/lb; this column is normalised to dollars/lb at build time.
xau_per_btcnumbertroy ounces of gold per BTCDerived (btc_usd / xau_usd)How many troy ounces of gold 1 BTC could purchase at the day's close.
xag_per_btcnumbertroy ounces of silver per BTCDerived (btc_usd / xag_usd)How many troy ounces of silver 1 BTC could purchase at the day's close.
xpt_per_btcnumbertroy ounces of platinum per BTCDerived (btc_usd / xpt_usd)How many troy ounces of platinum 1 BTC could purchase at the day's close.
copper_per_btcnumberpounds of copper per BTCDerived (btc_usd / copper_usd)How many pounds of copper 1 BTC could purchase at the day's close.
brent_per_btcnumberbarrels of Brent crude per BTCDerived (btc_usd / brent_usd)How many barrels of Brent crude 1 BTC could purchase at the day's close.
wheat_per_btcnumberbushels of wheat per BTCDerived (btc_usd / wheat_usd)How many bushels of CBOT wheat 1 BTC could purchase at the day's close.
coffee_per_btcnumberpounds of Arabica coffee per BTCDerived (btc_usd / coffee_usd)How many pounds of ICE Arabica coffee 1 BTC could purchase at the day's close.
forward_filledstringpipe-delimited column namesinternalEmpty string when no fields were forward-filled, or a pipe-delimited list of field names (e.g. "xpt_usd|brent_usd") when some were. Per-row tracking begins 2026-05-17; historical rows carry an empty string regardless of their true fill state.

Provenance

CommodityOriginal sourceQualityCadenceUnderlying licence
Bitcoin
BTC-USD
StooqliveDaily (close)Stooq terms of service (free for non-commercial use; API key required)
Gold
XAU-USD
StooqliveDaily (London close)Stooq terms of service
Silver
XAG-USD
StooqliveDaily (London close)Stooq terms of service
Platinum
XPT-USD
StooqliveDaily (London close)Stooq terms of service
Copper
HG (continuous)
StooqliveDaily (COMEX close)Stooq terms of service
Brent crude
DCOILBRENTEU
U.S. Federal Reserve Economic Data (FRED)liveDaily (EIA, lagged ~1 business day)Public domain (EIA primary; FRED redistribution)
Wheat
ZW (continuous)
StooqliveDaily (CBOT close)Stooq terms of service
Coffee
KC (continuous)
StooqliveDaily (ICE close)Stooq terms of service
BTC circulating supply
btc_supply
Derived from Bitcoin halving schedulederivedDeterministic (no API)Public protocol
Plutonium-238
pu238
DOE Office of Nuclear Energy / NASA Planetary Science / Cassini OIG (1997) escalated to 2024illustrativeComposite, as-of 2024-12-31Government public-domain sources
Cocaine
cocaine
UNODC World Drug Report / DEA NDTA / EMCDDAillustrativeAnnual reports, as-of 2024-12-31Government public-domain sources

Citation

Bitcoin Weigh-In (2026). Bitcoin Weigh-In Daily Commodity Price Dataset (Version 1.0.1) [Data set]. Retrieved from https://bitcoinweighin.com/data.

Citation File Format also available at CITATION.cff.

API access

The current keyed-by-date JSON is also served at /api/prices.json with permissive CORS, suitable for use from any browser-based notebook or third-party tool. Cache window: 5 minutes.

curl
curl https://bitcoinweighin.com/api/prices.json
Python
import requests
r = requests.get("https://bitcoinweighin.com/api/prices.json")
prices = r.json()
JavaScript
const res = await fetch("https://bitcoinweighin.com/api/prices.json");
const prices = await res.json();

For reproducible analysis pinned to a specific dataset version, use the versioned path: https://bitcoinweighin.com/data/v1.0.1/prices.json. The /api/prices.json endpoint always points at the latest; versioned paths never change.

Versions and changelog

Changelog

All notable changes to the Bitcoin Weigh-In dataset are documented here.

This dataset follows semantic versioning for breaking column changes

(major: removed or renamed columns; minor: added columns or sources;

patch: bug fixes that do not change schema).

v1.0.1 — 2026-05-17

  • Coffee unit normalisation (data correction). coffee_usd is now

expressed in US dollars per pound (previously: cents per pound, the

raw Stooq unit). coffee_per_btc is now correctly denominated in

pounds of Arabica coffee per BTC. Users of v1.0 should re-derive any

coffee-based analysis: previous values were 100× the correct figure.

  • Coverage start shifted to 2013-01-02. The 2013-01-01 row carried

only the BTC price (every other commodity column was empty, with no

prior close to forward-fill from). Removed for cleanliness; the

dataset now begins at the first complete row. Row count: 4,879.

  • SHA-256 sums updated to reflect regenerated artifacts.

v1.0 - 2026-05-17

Initial public release.

  • Raw daily USD closes for BTC, gold (XAU), silver (XAG), platinum (XPT),

copper (HG continuous), wheat (ZW continuous), coffee (KC continuous),

and Brent crude (FRED DCOILBRENTEU).

  • Derived per-BTC columns: xau_per_btc, xag_per_btc, xpt_per_btc,

copper_per_btc, brent_per_btc, wheat_per_btc, coffee_per_btc.

  • Deterministic BTC circulating supply computed from the halving schedule

(no API dependency).

  • Coverage: 2013-01-01 to present, daily.
  • Forward-fill: per-row provenance is not reconstructable from existing

data; the forward_filled column is present but populated as empty

string for all v1.0 rows. Prospective tracking will begin in v1.1.

Historical versions remain downloadable under /data/v1.0.1/ and any prior version directories.

Known limitations

Commodity values are forward-filled on market-closed days (weekends, public holidays, and source outages). v1.0 ships a forward_filled column populated as empty string for every row because per-row fill provenance is not reconstructable from the existing historical data; prospective per-row tracking begins in v1.1.

Pricing for Plutonium-238 and cocaine on the main visualisation is illustrative — engineering composites described on the methodology page — and is not included in this dataset, which holds only live market closes.

Pre-2013 data is unavailable across the commodity set at acceptable quality, so coverage begins 2013-01-02. Source outages and cross-validation flags from the secondary feed are logged at health.json.

License

You can use this dataset for anything — commercial, academic, derivative — as long as you credit Bitcoin Weigh-In as the source. Distributed under Creative Commons Attribution 4.0 International. Full text at LICENSE.txt.