Key Takeaways
- What it is: The balance held by, and transfers moving through, a set of addresses a provider has labelled as belonging to miners and mining pools.
- The label set is the metric. Only coinbase output recipients come from the protocol. Pool payout wallets and operator treasuries are attributed by observation and judgement.
- Core expression: Reserves = balance of the labelled set at a block height. Net flow = inflow less outflow, meaningful only once internal transfers are removed.
- Practical rule: Only outflow with a labelled trading-venue destination, net of internal movement and payouts, speaks to sell pressure, and it is a small fraction of the headline figure.
Who This Guide Is For
This guide is for readers who have seen a post reporting that miners moved some large quantity of coins and want to know where that number comes from and who was actually paid. It is also for anyone building or auditing a miner flow dashboard, where the label set is doing more work than the arithmetic.
Educational content. Not individualized financial advice.
What Does Miner Reserves Measure?
It measures the balance of a labelled address set, so it measures the label set as much as miner behaviour. The set is assembled in three layers of unequal weight.
| Layer | How addresses enter the set | How certain it is |
|---|---|---|
| Coinbase recipients | Named directly in the block reward output of every block | Certain. The protocol identifies them |
| Pool payout wallets | Observed receiving from coinbase recipients and fanning out to many destinations | Strong but inferred, and it decays as pools rotate addresses |
| Operator treasuries | Attributed from public disclosure, clustering heuristics, or third-party attribution | Weakest, and often incomplete for coins held at custodians |
Providers rarely publish the layer composition of their set, yet moving one large operator between layer two and layer three shifts a reserve series more than a month of mining does. The set is a curated list maintained by people, and it changes.
Plain-language definition
Miner reserves is how much of the asset sits in wallets somebody decided belong to miners. Miner flows is how much moved into and out of them. Both depend on the word decided.
Technical definition
For a block height, reserves are the sum of unspent output values controlled by addresses in the labelled set. For an interval, gross inflow and outflow are the totals entering and leaving it. Those gross figures include transfers with both endpoints inside the set, which are not economic flows and must be netted out. The coinbase-output structure anchoring the whole exercise is described in the Bitcoin Developer Guide: Transactions.
How Is Miner Reserves Constructed?
Construction starts from the one thing the protocol hands over free, the coinbase output, then extends by inference. Each extension buys coverage and costs certainty.
The anchor
Every block pays its reward to an output the producer chose. That output is unambiguous and needs no heuristic. It also matures before it can be spent, a fixed lag between when a reward is earned and when it can move, so production and spendable flow are offset by design.
The extension to payout wallets
Pools rarely pay participants from the coinbase output directly. Rewards are swept into an operational wallet, and payouts leave from there. A provider identifies that wallet by watching for an address that receives consistently from coinbase recipients and fans out to many destinations. Good inference, still inference.
Why label sets decay
Operational addresses get rotated for ordinary reasons: key management, custody migration, infrastructure changes. A rotated address is unlabelled until someone notices. The resulting artefacts are easy to mistake for behaviour:
- The reserve series steps down as the old wallet drains toward addresses nobody is tracking.
- It steps back up on the day the new wallet is added, with its entire accumulated balance arriving at once.
- Both steps are relabelling events, and neither corresponds to a coin changing economic hands.
The structural problem at the heart of the metric
A pool payout and a pool selling produce ledger entries of the same type: value leaves a labelled address and arrives somewhere else. Nothing in the transaction distinguishes intent. The distinction lives entirely in what the destination is, and destination labelling is a separate attribution problem with its own coverage gaps. When the destination is unlabelled the outflow is uncategorised, so a headline saying miners moved a large amount is summing every category including the uncategorised one.
Structure helps where labels fail: a payout batch and a venue deposit have measurably different shapes, and the tests are in the advanced section. For discipline on establishing what a labelled series was built from, see the on-chain data quality methodology guide.
Formula and Measurement Logic
Reserves(h) = sum of unspent value controlled by the labelled set at height h. Net flow(interval) = inflow to the set less outflow from it, after removing every transfer whose sender and recipient are both inside the set.
Reserves is a stock and net flow is a rate. They behave so differently that using the same chart conventions for both invites the misreading this page is about.
| Decision | Options | What it does to the published series |
|---|---|---|
| Label layers included | Coinbase only, plus payout wallets, plus treasuries | Sets the size of the stock and can move it by more than a month of issuance |
| Internal transfers | Netted out or counted gross | Gross counting inflates both sides of the flow series |
| Change outputs | Recognised as returning to the sender or treated as an outflow | Mistreating change manufactures enormous phantom flows on UTXO chains |
| Payout classification | Separated from other outflow or merged into it | Merging is the single largest source of the sale misreading |
| Destination labelling | Venue, custodian, unlabelled | Unlabelled destinations leave most outflow uncategorised |
| Reward maturity | Production aligned to earning or to spendability | Misalignment offsets production against flow by a fixed lag |
| Label revisions | Applied retroactively or from the change date forward | Retroactive application rewrites history; forward-only creates visible steps |
| Units | Native asset or converted to currency | A currency series mixes behaviour with price |
Change outputs deserve particular attention on unspent-output chains. A transaction spending a large output to send a small amount returns the remainder to an address the sender controls. A naive calculation counting every output leaving a labelled address as an outflow records the change as a departure, and since change is frequently the largest output, the resulting series can be dominated by coins that never left the sender.
How Should Miner Reserves Be Interpreted?
Read reserves as a slow-moving custody statistic and flows as a mixture that has to be decomposed first. Neither answers the question people usually ask of them.
Reserves are bounded on the way in and unbounded on the way out
New coins reach the labelled set only through issuance, a fixed small amount per block. Coins can leave in any quantity at any time from a stock accumulated over years. That asymmetry is the fastest sanity check: any daily reserve movement much larger than the day's issuance is dominated by old coins, label changes, or custody reorganisation, and cannot be a story about what was mined that day.
Flows contain at least four behaviours
- Payouts from pools to individual participants, which redistribute among miners.
- Internal consolidation between wallets one operator controls, which should net to zero.
- Custody transfers to or from a third party, which change who holds the keys and nothing more.
- Transfers to a trading venue, the only category that speaks to sell pressure, and even then only as an intention.
A single gross outflow number sums all four. Splitting them is not a refinement of the analysis. It is the analysis.
Custody is not exposure
An operator can reduce economic exposure without moving anything: selling production forward, borrowing against a balance, settling hosting contracts in currency, or selling hashrate directly. Each leaves the reserve series flat. The series measures where coins sit, a narrower claim than where risk sits.
Step-by-Step Workflow
- Establish which label layers the provider includes, and whether treasury addresses are in scope.
- Confirm internal transfers are netted out rather than counted on both sides.
- Confirm change outputs are recognised as returning to the sender.
- Compute the period's issuance to the set and divide gross outflow by it. A ratio far above one means stock movement.
- Decompose outflow by destination class before interpreting it.
- For unlabelled destinations, apply structural tests: output cardinality, size distribution, and whether destinations are first seen.
- Isolate the venue-destined component and treat only that as sell-side evidence.
- Check the provider's label change log for additions or removals inside your window.
- Align production with spendability by accounting for the reward maturity lag.
- Report in native units, adding a currency view separately rather than instead.
Worked Hypothetical Scenario
This example is hypothetical and every figure is arithmetic you can check. Assume a block subsidy of 3.125 units, average fees of 0.05 units per block, and a pool that wins 30 blocks during one day. A headline reports that the pool moved 780 units that day.
| Line | Calculation | Units |
|---|---|---|
| Blocks won | 30 | |
| Reward per block | 3.125 subsidy plus 0.05 fees | 3.175 |
| Coinbase inflow for the day | 30 x 3.175 | 95.25 |
| Gross outflow reported | 780.00 | |
| Outflow as a multiple of the day's production | 780.00 / 95.25 | 8.19 |
That last ratio settles the matter before any label is consulted. The pool sent out more than eight times what it mined that day, so at most one eighth of the movement could possibly be disposal of that day's production. Now decompose the 780 by destination.
| Destination class | Units | Share of outflow |
|---|---|---|
| 4,120 addresses never previously seen, each receiving under 1 unit | 705.00 | 90.4 percent |
| Two addresses labelled as trading-venue deposits | 48.00 | 6.2 percent |
| One address inside the same pool's own labelled cluster | 27.00 | 3.5 percent |
| Total | 780.00 | 100 percent |
The 705 units going to thousands of first-seen addresses in sub-unit amounts is a payout batch: the pool discharging what it owes participants for work already performed. Those coins moved from one miner to several thousand other miners. The 27 units are an internal consolidation that should never have appeared in a net flow series at all. Only the 48 units with a venue destination bear on sell pressure, and that is 6.2 percent of the headline.
Measured against production rather than against outflow, those 48 units are 48 divided by 95.25, or 50.4 percent of what the pool mined that day. That is a real and interesting number. It is also a completely different statement from moved 780 units, and the two get used interchangeably.
Now scale the same logic up to the reserve series. Assume the whole network produces 144 blocks a day at 3.175 units each, which is 457.2 units, and that the labelled miner set holds 42,000 units in total. Daily issuance is therefore 1.09 percent of the tracked stock. A single-day 1 percent fall in reserves is 420 units, which is 92 percent of everything the entire network mined that day, while the labelled set is only part of that network. A move of that size in one day is not miners disposing of new production. It is old coins moving, a custody reorganisation, or the label set itself changing.
What Can Make the Interpretation Wrong?
| Common claim | What the construction actually supports |
|---|---|
| A large miner outflow means miners are selling | Most outflow is a pool discharging payout liabilities to its own participants |
| The miner label set is objective | Only the coinbase-recipient layer is; payout and treasury labels are attribution |
| Falling reserves means distribution | A rotated operational wallet leaves the tracked set with no economic change |
| Miners can only sell what they mined | Reserves are a stock built over years and outflow is not capped by issuance |
| Listed miner treasuries are visible here | Coins at a qualified custodian sit in that custodian's cluster instead |
| Flat reserves means miners are holding | Forward sales, borrowing, and hashrate sales change exposure without moving coins |
| A big single-day inflow means accumulation | It is usually a newly labelled wallet joining the set with its whole balance |
Three further issues recur. Payout schedules are lumpy: a pool paying on a threshold or a fixed cadence produces spikes carrying no information about market conditions, so comparing a payout day against a non-payout day compares the calendar. Fee revenue moves separately from subsidy and rises when blockspace is congested, raising coinbase inflow with no change in hashrate. And an unlabelled destination is an unmeasured category that a chart usually renders as though it were measured.
Cross-Network and Provider Comparison
This metric only has a firm foundation on proof-of-work networks, because the coinbase output gives the entity set an objective starting point. Take that anchor away and every layer of the label set is inference from the first step, which is why an equivalent series on a network whose issuance arrives as a consensus-layer balance change is a much weaker construction. That is a labelling consequence, not a verdict on either consensus design.
Ledger model changes the payout signature and therefore the structural tests. On an unspent-output chain a pool can pay thousands of participants in one transaction with thousands of outputs, a highly distinctive fingerprint. On an account-model chain the same payout is either thousands of separate transactions or a single contract call fanning out internally, and in the second case the individual payments appear only in execution traces. A pipeline without traces sees one transaction of the full amount to a contract, which looks nothing like a payout and everything like a large transfer.
Provider disagreement here is almost always label-set disagreement, not arithmetic. Two providers reading identical blocks produce different reserves because they include different addresses. Reconciling means comparing address sets, not recomputing sums. A published label change log explains most of the visible steps.
Advanced Analytical Methods
Fan-out fingerprinting
Classify each outflow transaction by structure before consulting any label: number of distinct recipients, output size distribution, whether amounts cluster near a payout threshold, whether the cadence repeats. A payout batch and a venue deposit separate cleanly on these features, so the classification survives gaps in destination labelling.
First-seen destination share
Compute the fraction of outflow value going to addresses never previously observed on the chain. Payouts score high because participants often use fresh addresses; venue deposits score near zero. This one ratio catches most payout batches with no label data at all.
Production-normalised flow
Express outflow as a multiple of the period's issuance to the set. Values near or below one are consistent with disposing of current production. Values far above one prove stock rather than production is moving, regardless of label quality.
Label-change annotation
Maintain a log of additions and removals from the label set and plot it against the reserve series. Steps coinciding with a label change are relabelling artefacts. This is the most effective way to stop reading provider maintenance as miner behaviour.
Net venue flow only
Build a narrow series of transfers from the miner set to labelled trading venues, net of transfers back, with payouts and internal movement excluded. Far smaller and less dramatic than the gross series, and the only version that supports a sell-pressure reading.
Maturity-aligned comparison
Rewards cannot be spent until they mature, so comparing production against flow without that lag is misaligned by a fixed offset. Shifting the production series makes the relationship between what was earned and what moved legible.
Practical Checklist
- I know which label layers the provider's miner set contains.
- I confirmed change outputs are not counted as outflow.
- I divided gross outflow by the period's issuance to the set.
- I isolated the venue-destined component before saying anything about selling.
- I checked the label change log for my window.
- I checked whether a payout schedule explains a spike.
- I reported in native units and treated the currency view as separate.
Conclusion
The hard part here is not the arithmetic but the roster, and that roster is decided by people, revised over time, and rarely published in enough detail for a reader to audit it.
Two cheap checks catch the gross-outflow-as-selling error almost every time: divide outflow by the period's issuance, and look at how many distinct destinations received it. Both can be done before any label is trusted.
Frequently Asked Questions
Why is most miner outflow not a sale?
Because pools operate as intermediaries that owe their participants a share of rewards regardless of when blocks are found. A pool accumulates coinbase rewards into a hot wallet and then discharges those liabilities to individual miners on a schedule. That transfer moves coins from one miner to many other miners. Nothing has been sold, yet a gross outflow series counts every unit of it.
How can I tell a payout from a sale using only on-chain structure?
Look at the shape of the transaction before looking at the destination. A payout typically has very high output cardinality, a long tail of small amounts clustered near a payout threshold, a large share of destinations never seen before, and a regular cadence. A deposit to a trading venue is usually a small number of outputs, larger amounts, and destinations that have received from many unrelated senders.
Why do reserves move more than a day of mining could explain?
Because reserves are a stock built up over years while production is a small daily increment on top of it. The inflow side is capped near the day of issuance, but the outflow side has no such cap since previously mined coins can move at any time.
Are the treasuries of large listed mining companies in these series?
Often not. Coins held with a qualified custodian sit inside that custodian address cluster and are usually labelled as custodial rather than as miner-held. A company can accumulate a substantial balance with no effect on a miner reserve series, and a later transfer into a labelled miner address can create a jump that reads as accumulation while being a relabelling.
Does flat miner reserves mean miners are holding?
Not necessarily, because exposure can be reduced without moving a coin. Forward sales, hosting contracts settled in currency, hashrate derivatives, and borrowing against holdings all change economic position while leaving the balance untouched. A reserve series measures custody of coins, which is a narrower thing than the position an operator actually runs.
Does this metric exist on proof-of-stake networks?
Not in the same form, because the anchor is missing. The coinbase output is what gives a proof-of-work miner set an objective starting point, and issuance on a proof-of-stake network commonly arrives as a consensus-layer balance change rather than as an observable transaction. Without that anchor, any equivalent entity set rests entirely on inference from the first step onward.
Can a miner's cost basis be observed on chain?
No. The chain records when coins were produced and at what point they moved, which gives a price at issuance, but a miner's actual cost is electricity, hardware amortisation, hosting and financing, none of which is on chain. Two operations mining identical amounts can have completely different break-even points. Analyses that infer miner distress from the price relative to some modelled production cost are combining on-chain quantities with off-chain assumptions, and the assumptions are doing most of the work.
How does hedging change what miner reserves imply?
It severs the link between holding coins and carrying exposure to them. A miner can retain a growing balance while having sold forward, borrowed against the position, or hedged with derivatives, in which case flat or rising reserves accompany no market exposure at all. Larger operations, which dominate the labelled reserve totals, are also the most likely to hedge. The reserve series measures custody, and reading it as conviction assumes an absence of financial arrangements that are not observable.
Why do miner reserve series differ between providers?
Because every provider maintains its own miner address set, built from pool payout patterns and research, and none is complete. A provider that has identified more of a large operator's addresses reports a higher reserve, and one that recently added a set shows a step increase that never happened. Coverage also degrades as operators change payout arrangements. Comparing a level between providers is therefore not meaningful; comparing the shape of the change within one provider's series is.
References
These sources should be reviewed during editorial verification. They support data structures and methods, not the hypothetical conclusion. Provider formulas, chain rules, and APIs can change. Confirm current documentation before publication.
- Bitcoin Developer Guide: Transactions: Inputs, outputs, and change outputs, which govern whether a transfer out of a labelled address is really an outflow.
- Bitcoin Developer Guide: Block Chain: The coinbase output and its maturity requirement, the anchor the whole miner label set is built from.
- Coin Metrics: Network Data Glossary: Address, entity, and unspent-output definitions underlying a labelled balance series.
- Dune: Address Labels: How address labelling and entity tagging work, including why label sets need maintenance.
- Glassnode: Metric Catalog: Published miner balance and flow metric definitions, for checking which construction a chart uses.