Skip to content
Degrees of SatoshiFollow the connections.

How Degrees of Satoshi works

Methodology 1.0.0-draft.2 · computed at block height 960,000 · last built 2026-08-08

This page exists so you can check our work. If you think we've got something wrong, we'd rather know.

The short version

We follow directed transaction-graph edges, not people. Starting from a published set of early coinbase outputs, we follow each permitted spend-and-pay step and count the hops needed to reach the address you typed.

A degree of 4 means the selected shortest eligible graph path contains four input-to-output transaction steps after the early-mining anchor set. It does not identify ownership or literal ancestry of particular coins.

What a degree is not

It is not ownership, and it is not a claim about you. An eligible path from an early transaction output says nothing about who mined it, who later used an address on the path, or who controls the checked address today.

It is not literal descent of a specific coin. Bitcoin transactions mix inputs and outputs; there is no protocol-level notion of "this satoshi came from that one". We trace the transaction graph, which is a real structure, not a fiction — but it is proximity, not parentage.

It scores one address, not a wallet. A modern wallet controls hundreds or thousands of addresses. We score exactly the address you give us. Two addresses in the same wallet can score very differently.

The rules, precisely

Direction matters. An address reaches a transaction only by being one of its inputs — by spending. A transaction reaches an address by paying it. So the only permitted step is:

address --(spends)--> transaction --(pays)--> address
Permitted graph stepDirection is part of the evidence.A path advances only when an address spends into a transaction and that transaction pays an address.
Addressspends a UTXOTransactionvalidates inputsAddressreceives an output

This is the single most important rule, and we got it wrong at first. An earlier version treated any two addresses in the same transaction as neighbours. That put 55% of address records at one degree and allowed later payments to the genesis address to create reverse paths. The genesis block's original coinbase output is unspendable under Bitcoin's consensus rules, so it seeds no outgoing directed path. Under the corrected rule it adds no reachable records.

The starting point. Our anchor set is the coinbase outputs of blocks matching the Patoshi pattern — a distinctive fingerprint in the nonce field of the earliest blocks, first described by Sergio Demian Lerner. We use his 2020 boundaries on the byte-reversed nonce, gated to blocks 0–54,316:

inner_nonce < 163,840,000  OR  327,680,000 <= inner_nonce < 983,040,000

That selects 28,583 blocks. We call these Patoshi-consistent, never "Satoshi's". The pattern identifies a single dominant early miner; equating that miner with Satoshi Nakamoto is a widely-held inference, not a proven fact, and published block counts for this set range from about 19,000 to 28,700 depending on which definition is used.

Hubs are terminal. Some addresses occur in hundreds of thousands of input and output endpoint rows — exchange wallets, mostly. Without a rule, everything on Bitcoin would be a few hops from everything else through them. Addresses with more than 50,000 endpoint occurrences, plus a frozen set of 54 curated exchange addresses, can be reached but paths may not pass through them. The curated set is the union of 41 addresses in active hub records and 13 retained hub_only_addresses; removing a public dossier does not silently change the graph.

Connected since is the most recent transaction date along the traced path — the point at which this address's connection was actually established. When several paths have the same minimum degree, we choose the one with the earliest connected-since date. Remaining exact ties use stable transaction and address IDs, so rebuilding the same snapshot produces the same path.

The earlier parallel build stored whichever equal-length transaction won a thread race, and its parent resolver could also retain a terminal hub as an intermediate parent. We rebuilt every path and audited all 1.53 billion rows: degrees changed zero times, 506,285,603 dates changed, 505,294,457 dates became earlier, no valid earlier path was displaced, and every corrected parent/date invariant passed.

What we measured

The block-960,000 snapshot contains 1,530,808,114 distinct normalized address records after excluding null and unsupported endpoint rows. Of those records:

Measured distributionWhere scored addresses sit by degreeLogarithmic bars preserve the shape across very different populations. Exact counts remain in the table.
degree and addresses
degreeaddresses
11,205
216,722
31,166,228
433,783,666
5161,841,436
6262,704,782
7213,696,746
8140,855,386

The unnamed tier bands are calculated from this post-Patoshi population:

band and degrees and addresses and share of scored
banddegreesaddressesshare of scored
1≤246,5100.0034%
231,166,2280.0854%
3433,783,6662.4751%
45161,841,43611.8571%
56262,704,78219.2467%
67–8354,552,13225.9757%
79+550,841,49840.3566%

The cutoffs preserve the cumulative population shape selected in the earlier directional gate by choosing the closest cutoffs in the histogram actually served. An earlier table incorrectly reused the pre-Patoshi degree cutoffs: under live data its ≤6 band held 33.6677%, not the documented 0.01%. Tier names remain deliberately unset until they are judged against these corrected bands.

89.16% of address records have an eligible path under the published directional and terminal-hub rules. The remaining 10.84% have no eligible path under those rules. This is not proof of unconditional graph disconnection: the 50,000-endpoint terminal threshold materially affects reachability. Replacing the two-address directional baseline with 28,583 anchor addresses added only 9,962 reached records, or 0.000651 percentage points, which supports anchor-set saturation under the selected terminal rule.

The maximum recorded degree is 25,349. We display anything past 100 as 100+, because a five-digit degree is noise rather than a score. We do not interpret the maximum path until its complete route has been separately inspected and published.

Where this could be wrong

We would rather list these than have you find them.

Reproducing this

Everything is derived from the public bigquery-public-data.crypto_bitcoin dataset at a pinned block height. The extraction SQL, the graph builder, the anchor-set predicate and the labelled entity catalog — with a source for every address — are all in the repository. The gate reports, including the run that failed, are published alongside the one that passed.

Versioning

Every score, card and page is stamped with a methodology version. If any rule here changes — the anchor set, the direction rule, the hub threshold, or the hub list — the version changes with it, and old results stay reproducible.