← Blog · 2026-05-23

F2Pool Was Tracking New Horizons in Real Time. We Forgot.

Eleven Bitcoin blocks, three writing systems, one spacecraft closing on Pluto at 13.78 km/s. All of it still there on-chain.
Zeke · original research · verified at block 950,598

On July 3, 2015, the New Horizons spacecraft was nine days out from its closest approach to Pluto. NASA had been tracking it for nine years. The whole world was watching, more or less.

F2Pool was watching too. Except they were watching from a Bitcoin mining rig, and they were writing it down in the coinbase field of every block they found.

We were scanning coinbase fields this week when block 363,664 showed up with πŸŸζ–°θ§†ι‡Žε·θ·ε†₯ηŽ‹ζ˜Ÿ12888122ε…¬ι‡Œ in the coinbase. That translates roughly to "New Horizons spacecraft distance to Pluto Star 12,888,122 km," prefixed by a fish emoji. Then the next F2Pool block had a distance reading. Then the next. Eleven blocks over 31 hours on July 3rd and 4th, each one encoding the spacecraft's live distance to Pluto.

F2Pool was proud enough to put it in the title of their BitcoinTalk thread: "Bitcoin to Pluto! Live countdown in coinbase!" They wanted people to see it. A decade of new content buried it anyway. It does not appear in any major Bitcoin trivia list, any coinbase history article, or any popular write-up of things miners have put on-chain. It has been sitting there since 2015, visible to anyone with a Bitcoin node and curiosity enough to look.

The full sequence

Block UTC Coinbase text km to Pluto
363,664 2015-07-03 18:09 πŸŸζ–°θ§†ι‡Žε·θ·ε†₯ηŽ‹ζ˜Ÿ12888122ε…¬ι‡Œ (simplified Chinese) 12,888,122
363,676 2015-07-03 20:36 πŸŸζ–°θ§†ι‡Žε·θ·ε†₯ηŽ‹ζ˜Ÿ12766728ε…¬ι‡Œ 12,766,728
363,680 2015-07-03 21:19 πŸŸζ–°θ§†ι‡Žε·θ·ε†₯ηŽ‹ζ˜Ÿ12731050ε…¬ι‡Œ 12,731,050
363,695 2015-07-03 22:48 🐟New Horizons is 12657168 km to Pluto (English) 12,657,168
363,696 2015-07-03 22:52 πŸŸζ–°θ§†ι‡Žε·θ·ε†₯ηŽ‹ζ˜Ÿ12653628ε…¬ι‡Œ 12,653,628
363,702 2015-07-04 00:43 πŸŸζ–°θ¦–ι‡Žθ™Ÿθ·ε†₯ηŽ‹ζ˜Ÿ12562408ε…¬ι‡Œ (traditional Chinese) 12,562,408
363,706 2015-07-04 01:17 πŸŸζ–°θ¦–ι‡Žθ™Ÿθ·ε†₯ηŽ‹ζ˜Ÿ12533833ε…¬ι‡Œ 12,533,833
363,710 2015-07-04 01:41 πŸŸζ–°θ¦–ι‡Žθ™Ÿθ·ε†₯ηŽ‹ζ˜Ÿ12514061ε…¬ι‡Œ 12,514,061
363,714 2015-07-04 02:30 πŸŸζ–°θ¦–ι‡Žθ™Ÿθ·ε†₯ηŽ‹ζ˜Ÿ12473799ε…¬ι‡Œ 12,473,799
363,715 2015-07-04 02:42 🐟New Horizons is 12463892 km to Pluto (English) 12,463,892
363,717 2015-07-04 02:48 🐟New Horizons is 12459179 km to Pluto 12,459,179
Verification: All entries pulled via getblock <hash> 2 at block 950,598. Coinbase hex decoded as UTF-8 with control bytes masked to middot. No inference or reconstruction.

The physics checks out

Here is the part that makes this more than a curiosity. The distance dropped from 12,888,122 km to 12,459,179 km over 31,136 seconds. That is a closing speed of 13.78 km/s.

NASA's published New Horizons approach velocity at that phase was approximately 13.78 km/s relative to Pluto. The numbers in the coinbase data match the actual spacecraft velocity. Whoever was running those F2Pool nodes was not guessing. They were pulling live telemetry from somewhere and encoding it in the blocks as they found them.

New Horizons flew by Pluto on July 14, 2015. Nine days before that, on a Chinese mining pool, someone watched it come in and wrote it down in the only medium that would still be readable eleven years later.

Three writing systems in 31 hours

Block 363,664 through 363,680 use simplified Chinese characters: ζ–°θ§†ι‡Žε·. Starting at block 363,702, the script switches to traditional Chinese: ζ–°θ¦–ι‡Žθ™Ÿ. You can tell by the characters for "new" and "horizons" specifically. And scattered through the sequence are two English blocks, including both the first and last entries.

Nobody has explained why the script switches midway through. Could be a different operator at the pool taking a shift and copying from a traditional-Chinese interface. Could be intentional. The ledger records what happened, not why.

What the ledger also records, right at the start of block 363,664, is the first standard emoji ever placed in a Bitcoin coinbase field. The 🐟 fish, Unicode U+1F41F, hex F0 9F 90 9F. We ran an exhaustive scan of every block from 1 to 363,663 β€” all 363,663 of them, individually, against the node β€” and found zero SMP emoji (U+1F000 range) before this one. Seven BMP Unicode symbols appeared in earlier blocks, all in extra-nonce binary regions where random bytes occasionally form valid UTF-8. The fish is the first intentional standard emoji. F2Pool used it as their signature, and it shows up in their blocks all the way through Taproot activation at block 709,632 in 2021.

What the coinbase field actually is

Quick primer for anyone not deep in how Bitcoin blocks work. Every block has exactly one coinbase transaction, the one that creates the block reward. That transaction has an input with no previous output, and instead of a scriptSig it has an arbitrary data field called the coinbase. Miners put whatever they want in there, usually pool identification strings and version signals. There is a length limit but it is fairly generous.

The coinbase is part of the block header's Merkle tree, which means it is covered by the proof-of-work hash. Every byte in that field is literally signed by computational work. To change the Pluto countdown sequence now would require re-mining those blocks, which would require more hash power than the entire network has produced since 2015.

This is what the phrase "immutable ledger" is actually trying to say. Not that you signed a database entry. That you embedded information in a physical process that cannot be undone without expending more energy than exists. F2Pool's Pluto log is not backed up. It is not stored redundantly. It is simply too expensive to erase.

What else is in there

This find came out of a broader scan through the chain. A few other things surfaced that did not make the popular history lists:

The SegWit activation block, 481,824, was mined by BTCC with the tag /BTCC/ Support /NYA/. The New York Agreement was the rival scaling proposal that lost to SegWit. BTCC put their support for the losing side in the very block that activated the thing they opposed. On-chain record of a political position at the exact moment the vote closed.

Block 363,664 also carries the first Chinese characters ever placed in a Bitcoin coinbase. Same block as the first emoji. Same sequence as the Pluto countdown. That is three firsts in one block, none of them widely documented.

The 2nd halving at block 420,000 has a coinbase that reads 七彩η₯žδ»™ι±Ό Chandler Guo loves YangYang Jin. 🐟. That translates roughly as "Seven-Color Discus Fish, Chandler Guo loves YangYang Jin." The fish emoji is F2Pool's signature even though the block was actually mined by zzhhzz, a smaller miner using F2Pool's infrastructure at the time. Personal love note, fish signature, halving block. It has been sitting there since July 2016.

Why this matters beyond trivia

The Pluto countdown is interesting as a historical artifact. But it is also a demonstration of what Bitcoin's timestamp actually does.

Those coinbase entries carry a proof of exactly when they were written. Not a database timestamp. Not a server log. A proof tied to the physical work done to produce the block, anchored in a chain of work that every node on the network has validated. The July 3, 2015 entries at blocks 363,664 through 363,717 are provably from that 31-hour window. You cannot fake the ordering, cannot fake the timing, cannot insert a new entry earlier in the sequence.

F2Pool did not intend to build a timestamp product. They were just writing down what they saw. But the mechanism they used is the most durable timestamp system humans have ever built. That observation has kept me thinking about what it would look like to make that mechanism intentional, to let anyone submit a hash and get a Bitcoin-anchored proof of when they submitted it. That is what PFWIT is trying to be.

§ § §

Timestamp your work

PFWIT anchors SHA-256 hashes in Bitcoin via OpenTimestamps. Submit a hash, get a Merkle inclusion proof. Free, no account, Bitcoin-backed.

Live demo More writing

Verification