CorpStacking

App · 5 actions

Follow the Bitcoin, Ethereum, Solana and XRP that public companies, ETFs and governments hold: the latest buys and sells as they are disclosed, the largest holders of each asset, one holder's position and filings, bitcoin companies' mNAV, and treasury news.

Actions

ActionWhat it does
Get a holderOne company's, fund's or government's position in its main treasury asset: coins held, their value, cost basis and unrealized profit where published, share of supply, and, for Bitcoin holders, its recent buys and sells with links to the filings.
Get asset holdings overviewHow much of one asset all tracked companies, funds and governments hold between them, its price, and the largest holders.
Get bitcoin company mNAVmNAV for every listed company that holds bitcoin: its stock market value divided by the value of its bitcoin.
List latest treasury movesThe most recent bitcoin, ether, solana and XRP buys and sells disclosed by companies, funds and governments, newest first, each with the amount, the dollar value where one was stated, the holdings after it and a link to the source document.
List treasury newsCorpStacking's latest crypto treasury news items, newest first: purchases and sales, capital raises, earnings, executive changes, wire news and commentary, each with a one-line summary and a link.

Get a holder

One company's, fund's or government's position in its main treasury asset: coins held, their value, cost basis and unrealized profit where published, share of supply, and, for Bitcoin holders, its recent buys and sells with links to the filings. CorpStacking shows Ethereum, Solana and XRP cost basis and per-move history to paying subscribers only.

Inputs

HolderholdertextRequired
Pick a holder, or type its name, its ticker (such as MSTR) or its corpstacking.com/treasuries/... address.
Number of recent movesactivity_limitnumber
How many of its latest moves to include (10 unless set).From 1 to 50. Default: 10.

Outputs

activitylist
Recent moves, newest first (Bitcoin holders).
activity_countnumber
Moves returned.
activity_notetext
Why no moves are listed, when none are.
amountnumber
Coins held.
assettext
Its main asset: BTC, ETH, SOL or XRP.
asset_nametext
That asset's name.
attributiontext
CorpStacking's attribution and licence terms for these figures.
average_buy_price_usdnumber
Average price paid per coin, when published.
balance_as_oftext
XRP funds: the day the balance is from.
balance_source_urltext
XRP funds: where the balance was published.
cost_basis_notetext
Why no cost basis is shown, when it isn't.
countrytext
Two-letter country code.
last_purchasetext
Day of its last purchase.
nametext
Company, fund or government.
percent_of_supplynumber
Bitcoin only: percent of circulating supply held.
price_usdnumber
Coin price used.
profile_urltext
Its CorpStacking page.
sec_ciktext
Its SEC registrant number.
slugtext
Its CorpStacking ID.
tickertext
Its ticker.
total_cost_usdnumber
What it paid in total, when published.
unrealized_profit_usdnumber
Paper profit (negative for a loss), when published.
usd_valuenumber
Value in dollars.
websitetext
Its website.
Example output
{
  "activity": [
    {
      "amount": 250,
      "asset": "BTC",
      "date": "2026-10-13",
      "holdings_after": 848250,
      "price_per_unit_usd": 86194,
      "source": "SEC filing",
      "source_url": "https://www.sec.gov/Archives/edgar/data/1050446/000119312526419726/mstr-ex99_1.htm",
      "type": "bought",
      "usd_value": 21500000
    }
  ],
  "activity_count": 1,
  "activity_note": null,
  "amount": 848250,
  "asset": "BTC",
  "asset_name": "Bitcoin",
  "attribution": "Data: CorpStacking (corpstacking.com). Cite any figure with a link to corpstacking.com; bulk copying, resale or training a model on it needs a licence from CorpStacking.",
  "average_buy_price_usd": 75444,
  "balance_as_of": null,
  "balance_source_url": null,
  "cost_basis_note": null,
  "country": "US",
  "last_purchase": "2026-10-13",
  "name": "Strategy",
  "percent_of_supply": 4.0393,
  "price_usd": 82371,
  "profile_url": "https://www.corpstacking.com/treasuries/strategy",
  "sec_cik": "0001050446",
  "slug": "strategy",
  "ticker": "MSTR",
  "total_cost_usd": 63995373000,
  "unrealized_profit_usd": 5875827750,
  "usd_value": 69871200750,
  "website": "https://strategy.com"
}

Get asset holdings overview

How much of one asset all tracked companies, funds and governments hold between them, its price, and the largest holders. CorpStacking publishes the top 50 Bitcoin holders, the top 15 Ethereum and Solana holders and all XRP funds for free; Bitcoin also comes with combined cost basis and unrealized profit.

Inputs

Assetassettext
Which asset to summarise.One of: BTC (Bitcoin (BTC)), ETH (Ethereum (ETH)), SOL (Solana (SOL)), XRP. Default: BTC.
Number of holderslimitnumber
How many of the largest holders to list (10 unless set).From 1 to 50. Default: 10.

Outputs

assettext
BTC, ETH, SOL or XRP.
asset_nametext
The asset's name.
attributiontext
CorpStacking's attribution and licence terms for these figures.
cost_basis_notetext
How many holders the cost basis covers.
holders_trackednumber
Holders CorpStacking tracks for this asset.
most_recent_purchasetext
Day of the latest purchase by any holder.
notetext
XRP only: how fund balances are dated.
page_urltext
CorpStacking's page for the asset.
price_usdnumber
Price in dollars.
top_holderslist
Largest holders, biggest first.
top_holders_publishednumber
How many holders CorpStacking lists for free.
total_cost_basis_usdnumber
Bitcoin only: what holders with a known cost paid.
total_heldnumber
Coins held by all of them together.
total_value_usdnumber
That holding's value in dollars.
unrealized_profit_usdnumber
Bitcoin only: paper profit on those holdings.
Example output
{
  "asset": "BTC",
  "asset_name": "Bitcoin",
  "attribution": "Data: CorpStacking (corpstacking.com). Cite any figure with a link to corpstacking.com; bulk copying, resale or training a model on it needs a licence from CorpStacking.",
  "cost_basis_note": "Cost known for 71 of 178 companies.",
  "holders_tracked": 235,
  "most_recent_purchase": "2026-10-14",
  "note": null,
  "page_url": "https://www.corpstacking.com/treasuries/by-token/bitcoin",
  "price_usd": 82371,
  "top_holders": [
    {
      "amount": 848250,
      "country": "US",
      "last_buy_date": "2026-10-13",
      "name": "Strategy",
      "profile_url": "https://www.corpstacking.com/treasuries/strategy",
      "rank": 1,
      "slug": "strategy",
      "ticker": "MSTR",
      "usd_value": 69871200750
    }
  ],
  "top_holders_published": 50,
  "total_cost_basis_usd": 85917562882,
  "total_held": 3075951.8,
  "total_value_usd": 253369225790,
  "unrealized_profit_usd": 7680893321
}

Get bitcoin company mNAV

mNAV for every listed company that holds bitcoin: its stock market value divided by the value of its bitcoin. Below 1 the shares trade at a discount to the bitcoin behind them, above 1 at a premium. Updated daily.

Inputs

Companycompanytext
Only this company: a ticker such as MSTR, or part of its name.
Trading atvaluationtext
Only companies valued below, or above, their bitcoin.One of: any (Any value), discount (A discount (mNAV below 1)), premium (A premium (mNAV 1 or more)). Default: any.
Sort bysorttext
The order to list companies in.One of: holdings (Most bitcoin held), lowest_mnav (Lowest mNAV first), highest_mnav (Highest mNAV first). Default: holdings.
Limitlimitnumber
Most companies to return (25 unless set).From 1 to 200. Default: 25.

Outputs

attributiontext
CorpStacking's attribution and licence terms for these figures.
bitcoin_price_usdnumber
Bitcoin price the table uses.
companieslist
Matching companies.
countnumber
Companies returned.
messagetext
Why nothing matched, when nothing did.
page_urltext
CorpStacking's mNAV page.
total_matchingnumber
Companies that matched before the limit.
Example output
{
  "attribution": "Data: CorpStacking (corpstacking.com). Cite any figure with a link to corpstacking.com; bulk copying, resale or training a model on it needs a licence from CorpStacking.",
  "bitcoin_price_usd": 82371,
  "companies": [
    {
      "bitcoin_held": 848250,
      "bitcoin_value_usd": 69871200750,
      "company": "Strategy",
      "market_value_as_of": "2026-10-15",
      "market_value_usd": 62672158896,
      "mnav": 0.897,
      "premium_or_discount_percent": -10.3,
      "rank": 1,
      "ticker": "MSTR",
      "valuation": "discount"
    }
  ],
  "count": 1,
  "message": null,
  "page_url": "https://www.corpstacking.com/treasuries/mnav",
  "total_matching": 54
}

List latest treasury moves

The most recent bitcoin, ether, solana and XRP buys and sells disclosed by companies, funds and governments, newest first, each with the amount, the dollar value where one was stated, the holdings after it and a link to the source document. CorpStacking's free feed holds the latest 50 moves (about the last week), and the filters here narrow those down. Also totals what was bought and sold per asset.

Inputs

Assetsassetslist
Only moves in these assets. Leave empty for all.One or more of: BTC (Bitcoin (BTC)), ETH (Ethereum (ETH)), SOL (Solana (SOL)), XRP.
Buys or sellsdirectiontext
Only purchases, only sales, or both.One of: any (Both), bought (Buys only), sold (Sells only). Default: any.
Who disclosed itdisclosure_typetext
Funds: an ETF's or trust's daily flow or published holdings. Companies: a filing or announcement by a company or other holder.One of: any (Anyone), funds (Funds and ETFs), companies (Companies and others). Default: any.
Regionregiontext
Only US holders, only holders outside the US, or both.One of: any (Anywhere), us (United States), intl (Outside the US). Default: any.
Holderholdertext
Only moves by this holder: pick one, or type a name (or part of one) or a ticker such as MSTR.
From datefrom_datedate
Only moves on or after this day.
To dateto_datedate
Only moves on or before this day.
Minimum dollar valueminimum_usd_valuenumber
Only moves worth at least this many US dollars. Moves with no disclosed dollar value are left out when set.At least 0.
Limitlimitnumber
Most moves to return (20 unless set, 50 at most).From 1 to 50. Default: 20.

Outputs

attributiontext
CorpStacking's attribution and licence terms for these figures.
countnumber
Moves returned.
feed_sizenumber
Moves in the feed before filtering.
feed_windowobject
oldest and newest day in the feed.
messagetext
Why nothing matched, when nothing did.
moveslist
Matching moves, newest first.
source_urltext
The feed's address.
total_matchingnumber
Moves that matched before the limit.
totalslist
Per asset across all matching moves: moves, bought, sold, net_change (coins), and usd_bought / usd_sold (only moves with a stated dollar value count).
Example output
{
  "attribution": "Data: CorpStacking (corpstacking.com). Cite any figure with a link to corpstacking.com; bulk copying, resale or training a model on it needs a licence from CorpStacking.",
  "count": 1,
  "feed_size": 50,
  "feed_window": {
    "newest": "2026-10-14",
    "oldest": "2026-10-08"
  },
  "message": null,
  "moves": [
    {
      "amount": 2822,
      "asset": "BTC",
      "change": 2822,
      "date": "2026-10-14",
      "direction": "bought",
      "disclosure_type": "companies",
      "holder_name": "Strive, Inc.",
      "holder_slug": "strive",
      "holdings_after": 35595,
      "price_per_unit_usd": 83266,
      "profile_url": "https://www.corpstacking.com/treasuries/strive",
      "published_at": "2026-10-14T00:00:00.000Z",
      "region": "United States",
      "source": "SEC filing",
      "source_url": "https://www.sec.gov/Archives/edgar/data/1920406/000192040626000071/ex99-1.htm",
      "summary": "Strive, Inc. increased its holdings by 2,822 BTC to 35,595 BTC as of 2026-10-14.",
      "ticker": "ASST",
      "title": "Strive, Inc. (ASST) bought 2,822 BTC for $234,976,652",
      "usd_value": 234976652
    }
  ],
  "source_url": "https://www.corpstacking.com/feed.json",
  "total_matching": 1,
  "totals": [
    {
      "asset": "BTC",
      "bought": 2822,
      "moves": 1,
      "net_change": 2822,
      "sold": 0,
      "usd_bought": 234976652,
      "usd_sold": 0
    }
  ]
}

List treasury news

CorpStacking's latest crypto treasury news items, newest first: purchases and sales, capital raises, earnings, executive changes, wire news and commentary, each with a one-line summary and a link. The free feed holds the latest 50 items, and the filters here narrow those down.

Inputs

Kinds of newskindslist
Only these kinds. Leave empty for all.One or more of: purchase (Purchase or sale), capital_raise (Capital raise), earnings_release (Earnings release), exec_change (Executive change), wire_news (News), commentary.
Containingsearchtext
Only items whose headline or summary contains this text, such as Strategy.
From datefrom_datedate
Only items published on or after this day.
Limitlimitnumber
Most items to return (20 unless set, 50 at most).From 1 to 50. Default: 20.

Outputs

attributiontext
CorpStacking's attribution and licence terms for these figures.
countnumber
Items returned.
messagetext
Why nothing matched, when nothing did.
newslist
Matching items, newest first.
source_urltext
The feed's address.
total_matchingnumber
Items that matched before the limit.
Example output
{
  "attribution": "Data: CorpStacking (corpstacking.com). Cite any figure with a link to corpstacking.com; bulk copying, resale or training a model on it needs a licence from CorpStacking.",
  "count": 1,
  "message": null,
  "news": [
    {
      "date": "2026-10-14",
      "headline": "Strive acquires 2,822 BTC, surpasses Marathon in holdings",
      "kind": "wire_news",
      "kind_label": "News",
      "published_at": "2026-10-14T14:20:38Z",
      "summary": "Strive acquired an additional 2,822 BTC. The purchase positions Strive ahead of Marathon Digital in corporate Bitcoin treasury rankings.",
      "url": "https://www.corpstacking.com/signals/strive-wire-news-2026-10-14-9ff162b8"
    }
  ],
  "source_url": "https://www.corpstacking.com/signals.rss",
  "total_matching": 32
}

On this page