Methodology

Data coverage & methodology

How CorpStacking sources, reads, and verifies corporate Bitcoin, Ethereum, and Solana treasury data.

We publish this page so you can audit us before you trust us. Treasury data has a credibility problem — aggregators go stale for weeks, mistakes quietly overwrite real holdings, and nobody shows their work. The sections below trace every number on the site back to its primary source and disclose every known limit. If we’re wrong about an entity, you should be able to tell from this page how to spot it.

Methodology last reviewed 2026-05-23

278
Treasuries tracked
3.3M
BTC under coverage
12.0M
ETH under coverage
29.5M
SOL under coverage

179 public companies · 58 ETFs · 32 private companies · 9 governments. 93 entities cited to SEC EDGAR filings. Cross-source reconciliation < 1h ago.

Sources

We split sources by role. Primarysources are legally authoritative — SEC filings, government press releases, official company disclosures. Cross-check sources are third-party aggregators we reconcile against daily. When the two disagree, the primary source wins and we document the divergence on the entity page.

RoleSourceCadence
PrimarySEC EDGARNear real-time
PrimaryCompany IR & press releasesEvent-driven
PrimaryGovernment & agency press releasesEvent-driven
Cross-checkbitbo.ioDaily
Cross-checkCoinGecko public treasuryDaily
PricingLicensed equity market dataReal-time
PricingToken price referenceDaily
Sentimentalternative.meDaily
Sentimentcfgi.ioNear real-time
SentimentCNN BusinessDaily

Per-event data sources

Each entity carries a small coverage badge next to the ticker showing where the per-purchase data comes from. Some companies file every move with the SEC the same day; others disclose quarterly, by press release, or only through aggregators. The badge tells you which one applies before you read the numbers.

On-chain verified

Wallet ingestion. Every transfer is visible at the block level with a transaction hash. The gold standard for self-custodied crypto-native treasuries.

SEC verified

Three or more SEC event filings parsed. Every purchase links directly to its official SEC filing. Audit-grade, near-real-time coverage for US public companies.

Quarterly snapshots

Official quarterly and annual balance disclosures filed with the SEC. Per-quarter holdings are authoritative; we derive per-event detail by comparing successive filings.

Press-release events

Discrete purchases announced via BusinessWire / Globe Newswire / PR Newswire and manually cited. Common for ETH/SOL treasuries that disclose through investor-relations channels rather than standalone SEC event filings.

Aggregator only

Holdings figure from a third-party aggregator (CoinGecko, bitcointreasuries) with no per-event audit trail. Common for international entities, governments, and small private holders. Use the “Verified events only” filter on the leaderboard to hide these.

Unverified

Entity is tracked by ticker but no holdings or events are currently sourced. On the list for future backfill.

Tiers auto-upgrade. The moment an entity flips from press release to full SEC coverage, the badge follows. The classifier runs every night against the live data so this is never manually managed.

Methodology

SEC filings within minutes of publication

For US public companies the SEC 8-K timestamp is legally authoritative. We poll EDGAR continuously, so fresh filings are typically visible in the CorpStacking feed within minutes of being filed. Amended filings (8-K/A) are picked up on the same path.

Primary sources take precedence over aggregators

When our data and a third-party aggregator disagree by 10% or more and we have a primary-source citation (10-Q, 8-K, DOJ release, IR statement), we hold our number. Aggregators sometimes lag fresh filings by hours or days, or carry forward seed values from years ago. Where we deviate, the filing is linked on the entity page so anyone can verify in one click.

Daily cross-source reconciliation

Each day, the sum of disclosed events for each entity is compared against the entity’s current reported holdings and against independent third-party references. Three severity tiers are produced by the daily reconciliation:
  • Within 5% — consistent; no change.
  • 5–10% drift — flagged for operator review.
  • Greater than 10% — escalated for same-day review.
Resolution policy: when a primary-source citation exists (SEC 8-K / 10-Q, DOJ release, IR statement) we hold our number and link the filing on the entity page. For aggregator-only entities with no primary source on file, the reference number is adopted and the change is logged in the public audit log. Public- company filings are never silently overwritten.

Miner production figures separated from reserves

Bitcoin miners (Riot, CleanSpark, Hut 8, Bit Digital, Bitmine, etc.) publish monthly press releases that mix two distinct figures: cumulative reserve (total BTC held) and per-period production (BTC mined that month). We detect production-context phrasing (“produced”, “mined”, “year-to-date”) and discard those numbers rather than treating them as the cumulative figure, which would silently overwrite the entity’s real reserve.

Per-token coverage breakdown

Every active holding is classified daily based on how many independent references agree with our number. The same classification is exposed on the public treasuries API for programmatic access. Numbers below are live from the most recent run.

TokenVerified
2+ references agree
Strong
1 reference agrees
Primary only
no third-party reference
Pending
awaiting first check
BTC(232)66767317
ETH(38)141761
SOL(29)101342

“Primary only” is not lower confidence in our number. It means the entity is confirmed by a primary filing (SEC, sponsor disclosure, IR release) but no third-party aggregator covers it — common for foreign-listed issuers, recent IPOs, and small-cap entities. Pending means the daily reconciliation hasn’t produced a verdict yet, typically because the entity was added in the last twenty-four hours.

References used. Bitcoin reconciliation draws on bitbo, CoinGecko, and bitcointreasuries.net. Ethereum and Solana reconciliation draws on CoinGecko. The 5% agreement threshold accommodates intra-day price moves and reference-snapshot lag without ignoring real drift.

Recently verified against SEC filings

The most recent disclosures ingested into the dataset, one row per entity. Some filing dates may be historic — those reflect backfills where the entity was added or re-verified recently. Every accession number is live in SEC EDGAR; copy any one of them into the EDGAR full-text search to verify the filing yourself.

EntitySEC accessionFiling date
BMNRBitMine Immersion Technologies0001493152-26-0165602026-04-14
STSSSharps Technology0001493152-26-0232142026-05-14
FRMMForum Markets (formerly ETHZilla)0001213900-26-0578172026-05-15
FLDFold Holdings, Inc.0001193125-26-2194762026-05-12
ARLPAlliance Resource Partners0001104659-26-0579642026-05-08
DDCDDC Enterprise Limited (DayDayCook)0001213900-26-0458812026-04-21
COINCoinbase0001679788-26-0000542026-05-07
ABTCAmerican Bitcoin Corp.0001193125-26-2090082026-05-06
DJTTrump Media & Technology0001140361-26-0071742026-02-27
ASSTStrive, Inc.0001628280-26-0396772026-06-02
BTBTBit Digital0001213900-26-0571162026-05-15
NXTTNext Technology0001213900-25-0232212025-03-12
SBETSharpLink Gaming0001493152-26-0221402026-05-11
DFDVDeFi Development Corp0001805526-26-0000312026-05-13
EMPDEmpery Digital (Formerly: Volcon)0001683168-26-0036082026-05-08

What we don’t claim

Three categories of data have inherent limits. We surface them rather than paper over them.

Government holdings are inherently approximate

Government entities are sourced from court filings, DOJ press releases, and on-chain wallet attribution. We cross-check against bitcointreasuries.net and Arkham, but none of these are audited balance sheets — sovereign accounting for seized Bitcoin is opaque by design.

Foreign-listed companies may show dashes for debt and cash

Non-US issuers (Metaplanet, Sol Strategies, Phoenix Group, and similar) may render dashes in the debt-to-token and cash columns. Our equity-data providers cover US venues comprehensively but not every foreign exchange. When we can't independently verify a balance-sheet line item, we render a dash rather than publish a number we can't stand behind.

Aggregators sometimes disagree

When two third-party aggregators disagree, or when our SEC-derived figure diverges from both, we surface our primary-source figure and document why on the entity page. The /treasuries/[slug] page links the filing so you can verify in one click.

Pre-2020 holdings have approximate purchase dates

Companies that disclosed Bitcoin holdings before we began reading SEC filings live (most of pre-2020) have aggregate holdings verified against current filings, but individual purchase-by-purchase timelines may use approximate dates. Affected rows are flagged as estimated in the public API and labelled accordingly on the entity page so you can tell at a glance which dates come from the original filing versus a reconstructed period-end balance.

Spot an error?

Corrections are the fastest way to improve the dataset. Email us with the entity, the disputed figure, and a source link. We’ll verify within twenty-four hours.

Report a correction

Suggest an entity we don’t cover

Know a public company, ETF, or government entity holding Bitcoin, Ethereum, or Solana that we’re not tracking? Suggest it below. We’ll verify against your linked source and add it within a week.

We review submissions weekly. No login required.

Machine-readable access

Open feeds for aggregators, language models, and downstream analytics. No authentication required for the public surfaces; granular per-entity ETH and SOL drill-down, cost basis, and programmatic access are part of the paid REST API.

  • /llms.txt — top holders and aggregates, LLM discovery index
  • /llms-full.txt — extended discovery index (top 50 BTC entities, ETH/SOL aggregates)
  • /feed.json — JSON Feed 1.1 of the latest 50 disclosures
  • /feed.xml — Atom feed of the latest 50 disclosures
  • /api/v1/treasuries — REST API with full per-entity coverage across BTC, ETH, SOL (Pro plan API key required)
  • /data/audit-log — public ledger of every holdings change with timestamps, prior → new, and source — the data-integrity differentiator