BTCorMSTR
LIVE
Methodology

How we get the numbers

We show live market data with an 'as of' timestamp and never invent figures. When a feed is down, we fall back to the last cached value and label it — we don't paper over gaps.

Data sources

Bitcoin price & history

CoinGecko public API. Spot price refreshes on a ~60-second cache; historical series are cached for several hours. No API key, no paywall.

MSTR & preferred prices

Yahoo Finance chart endpoints for MSTR, STRC, STRK, STRF, and STRD. Quotes are exchange-delayed and cached server-side. Preferred prices refresh on a ~5-minute cache.

Balance-sheet fundamentals

Bitcoin holdings, share count, debt, cash, and preferred liquidation value are maintained by hand from Strategy's public filings and investor dashboard.

BTC holdings
verified August 3, 2026
USD reserve (cash)
verified August 3, 2026
Share count (ADSO)
verified August 16, 2026
Debt & preferred liquidation value
verified August 3, 2026

Caching & freshness

Every page renders server-side with the numbers baked into the HTML, plus a visible timestamp. A green dot means live; a grey dot means we're showing the last cached snapshot because a provider was unreachable.

Privacy & analytics

We use our own cookieless, anonymous analytics (no personal data, no third parties, no cross-site tracking) — page views and which tools are used, stored in our own database. The portfolio analyzer runs entirely in your browser; your transactions are never sent to us.

The formulas

BTC NAV

BTC held × BTC price

The live market value of all the bitcoin on Strategy's balance sheet.

Diluted market cap

assumed-diluted (ADSO) shares × MSTR price

We use Strategy's Assumed Diluted Shares Outstanding (ADSO) — all converts, preferreds, options and RSUs — as a conservative denominator. This differs from the basic-share market cap shown on Yahoo/Google, and from the GAAP if-converted diluted count that collapses to basic in a net-loss quarter.

mNAV (market cap)

market cap ÷ BTC NAV

Dollars of equity value per dollar of bitcoin held. Above 1.0 is a premium.

mNAV (enterprise)

(mkt cap + debt + preferreds − cash) ÷ BTC NAV

Adds obligations senior to common stock for a stricter view of the premium.

BTC per share

BTC held ÷ assumed-diluted (ADSO) shares

The honest ownership metric — how much bitcoin backs each share, on the ADSO basis.

mNAV over time

basic shares(t) × MSTR(t) ÷ (BTC held(t) × BTC(t))

The historical premium chart on the MSTR page. Holdings step at disclosed 8-K purchase dates and shares use period-end basic count (stepped quarterly) — a slightly lower basis than the live diluted mNAV, so the newest chart point can sit just under the headline number. Shares are the approximate input; the mNAV = 1.0 crossing is derived from the plotted series, not hand-set.

Current yield (preferreds)

(coupon × $100) ÷ market price

Annual dividend on the $100 stated value divided by the live price.

Issuance & dilution tracking

The issuance tracker parses the ATM Update and BTC Update tables directly from Strategy's weekly Form 8-K filings (CIK 1050446) and stores every figure exactly as filed. We never estimate a missing value; a filing that fails a continuity or parse check is held for manual review rather than shown.

Worked example — STRK, week of Jul 14 2025

The 8-K reported 573,976 STRK shares sold for $71.1M in net proceeds, with $20,450.9M remaining under the program. We add that $71.1M to the week's total raise and to the running cumulative, and carry the $20,450.9M forward as STRK's remaining capacity until a later filing revises it.

Dollar precision

Most 8-Ks state dollar amounts to the dollar. A few early filings (May–June 2025) stated them to a magnitude instead — “approximately $75.1 million.” We store each value as filed and tag which precision it used, so cumulative dollar totals that include a magnitude-rounded week are shown with an approximate marker () rather than implying false to-the-dollar accuracy. Per-week figures are always exactly what the filing said.

BTC treasury activity — buys and sells

Strategy's 8-Ks report treasury activity, not just share issuance. A single filing can disclose bitcoin purchases, sales, or both — sometimes split across more than one reporting period. We parse each period's direction (bought vs. sold) straight from the filing and never infer it from a price move or a change in holdings. When a filing splits activity across periods, we sum the legs: two sale periods of 1,363 and 2,225 BTC are reported as 3,588 BTC sold, with proceeds added the same way.

Net BTC change

Each filing's net change = BTC bought − BTC sold. The continuity check verifies that a week's holdings equal the prior week's total plus that net change (for provably adjacent weeks), so a sale that reduces holdings reconciles just like a purchase that grows them.

What we don't track

The activity table covers bitcoin bought and sold only. We deliberately do not report dividends or distributions paid out — a BTC sale earmarked to fund a preferred distribution is shown as a sale, and the downstream cash payment is out of scope here.

Limitations & disclaimer

  • Calculator returns ignore dividends, fees, taxes, and slippage.
  • MSTR history before August 2020 predates the bitcoin strategy.
  • The mNAV-over-time chart steps holdings and shares between filings and uses a basic (not diluted) share count — treat it as a close approximation of the trend, not a tick-by-tick series.
  • Balance-sheet figures lag reality between filings; check the last-verified date.
  • Delayed quotes may differ from your broker's real-time price.
  • This is data and education, not financial advice.

Questions about the approach? Read about the project →

Methodology — data sources, formulas & caveats | BTCorMSTR