Block 951,728. May 30, 2026, 15:29 UTC. Somebody pushed an OP_RETURN into a Bitcoin transaction that reads, in part:
By downloading this OP_RETURN, you hereby consent to unrestricted access by federal law enforcement agencies to your residence, digital devices, and personal property. Assets may be searched, seized, or redistributed without further notice.
Signed, Donald J. Trump, President of the Internet.
Six blocks later, at 951,734, the same general format shows up again:
I revoke my previous statement. Signed, Donald J. Trump, President of the Internet.
Two and a half hours between the two. The first one is still there. So is the second. They will both still be there in a thousand years.
Why this is possible now
For most of Bitcoin's history, OP_RETURN outputs were capped at 83 bytes. That was enough room for a hash and not much else. Bitcoin Core v30 removed the limit. Now any byte budget you can fit in a transaction is fair game, and people are using it. Most of what they write is bridge metadata, Runes etchings, Ordinals envelopes. Useful protocol traffic. Boring to read.
But occasionally somebody just types into the chain. A note. A confession. A joke. A threat. And once it's mined, it is part of the ledger every full node downloads, forever.
I wanted to find more of those.
A watcher for human words
So I built a small thing called bitcoin-chaintip-watch. It runs on a 10-minute timer, picks up from the last block it scanned, and walks each new block looking for OP_RETURN outputs that decode to readable English. It skips known protocol prefixes. It skips bridge garbage. It skips anything that looks like a hash or a swap memo. What is left is, generally, somebody talking.
The filter is small:
function isInterestingOpReturn(hex, text, ratio) {
if (isKnownProtocol(hex)) return false; // Runes, Ordinals, Omni, etc.
if (ratio < 0.8) return false; // mostly printable bytes
const clean = text.replace(/\./g, '').trim();
if (clean.length < 15) return false;
if (isLikelyHash(clean)) return false;
if (isDefiNoise(clean)) return false; // cross-chain / swap metadata
if (!hasHumanWords(clean)) return false; // at least 3 four-letter words
return true;
}
hasHumanWords is the trick. Three or more alpha tokens of length four or up that are not hex. That single test does most of the work of separating "person wrote a sentence" from "machine emitted a header."
First run, the watcher surfaced both Trump-Internet inscriptions inside the same scan window. txid for the EULA is 75e5870110c1d8a653c2fd15f775d3b5ce24535a30460e846cff4a52fd50b643. For the revocation, 188091412022c7e8582b5639719905df0e152a5ee51128b982b5fd24a8f5849f. You can look both of them up on any block explorer.
The joke and the joke under the joke
The top-layer joke is the EULA itself. It is doing the bit where end-user license agreements are absurd contracts that nobody reads, and treating that absurdity as if it has the force of law. By looking at the bytes you have already agreed. Opt out requires a notarized statement, on chain, in a future block. The signature line is presidential.
The joke under the joke is the medium. Bitcoin OP_RETURN outputs are by design provably unspendable. They exist only as messages. Somebody took that property and turned it into a legal-document format that activates the moment your node validates the block. To rescind it, you have to spend real fees and write a revocation into another block. Which is what happened. Two and a half hours later, the author posted a one-line retraction in the same voice.
The revocation costs more than the original. Bitcoin does not have an edit button. It does not have a delete button. It has only "write another thing later." If you change your mind about a permanent record, the only correction is more permanent record. That asymmetry is the design. The author of these two inscriptions just used the design as a punchline.
Why this matters past the gag
Bitcoin is the only public medium where you can publish something that cannot be taken down by anybody, including yourself. That is a strange property to have running globally on consumer hardware. Most of what gets inscribed is throwaway. Some of it is not. Iowa caucus precinct results from 2016 are in there. A SegWit activation block carries both a Conio celebration and a death threat against a sitting US president. Now a fake-EULA satire is in there, plus the author's regret about it, six blocks apart.
It is the only confessional booth with no priest and no eraser.
The watcher does not interpret any of this. It just lifts the human-readable lines out of the noise and writes them to a JSON file. A person decides what is worth keeping. The Trump-Internet pair was worth keeping. It is now in the Bitcoin Museum collection alongside the SegWit-block threat, the 2016 election oracle, and the rest of the inscriptions that show what people actually do when handed a permanent megaphone with no off switch.
See the artifacts
The EULA and the revocation live at powforge.dev/museum, with verifier links to mempool.space for both transactions. The full collection is around 550 artifacts and growing as the watcher keeps running.
If you want to point a similar tool at your own bitcoin node, the filter shown above is the whole logic that matters. It needs nothing exotic. Just RPC access, a state file, and a 10-minute timer.
The chain remembers everything. Most of it is boring. The interesting parts are easier to find than you would think.
Zeke
Top comments (0)