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
| Action | What it does |
|---|---|
| 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. |
| Get asset holdings overview | How much of one asset all tracked companies, funds and governments hold between them, its price, and the largest holders. |
| Get bitcoin company mNAV | mNAV for every listed company that holds bitcoin: its stock market value divided by the value of its bitcoin. |
| 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. |
| 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. |
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
- Holder
holdertextRequired - Pick a holder, or type its name, its ticker (such as MSTR) or its corpstacking.com/treasuries/... address.
- Number of recent moves
activity_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
- Asset
assettext - Which asset to summarise.One of:
BTC(Bitcoin (BTC)),ETH(Ethereum (ETH)),SOL(Solana (SOL)),XRP. Default:BTC. - Number of holders
limitnumber - 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
- Company
companytext - Only this company: a ticker such as MSTR, or part of its name.
- Trading at
valuationtext - 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 by
sorttext - The order to list companies in.One of:
holdings(Most bitcoin held),lowest_mnav(Lowest mNAV first),highest_mnav(Highest mNAV first). Default:holdings. - Limit
limitnumber - 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
- Assets
assetslist - 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 sells
directiontext - Only purchases, only sales, or both.One of:
any(Both),bought(Buys only),sold(Sells only). Default:any. - Who disclosed it
disclosure_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. - Region
regiontext - Only US holders, only holders outside the US, or both.One of:
any(Anywhere),us(United States),intl(Outside the US). Default:any. - Holder
holdertext - Only moves by this holder: pick one, or type a name (or part of one) or a ticker such as MSTR.
- From date
from_datedate - Only moves on or after this day.
- To date
to_datedate - Only moves on or before this day.
- Minimum dollar value
minimum_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.
- Limit
limitnumber - 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 news
kindslist - 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. - Containing
searchtext - Only items whose headline or summary contains this text, such as Strategy.
- From date
from_datedate - Only items published on or after this day.
- Limit
limitnumber - 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
}