Both flagged issues are low-severity and non-blocking, but the instruction is to fix every issue. Issue 1 (the dash-parenthetical against the capitalize-after-dash house rule) is best repaired by restructuring to a colon so no dash-separator is left to violate. Issue 2 is addressed by adding the mempool block link and the live URL from ground truth. All facts, tables, code, and other links are preserved verbatim.
On 2026-03-20 at 14:46:38 UTC, a Friday, the splat.html in this repository was written into a Bitcoin block and can never be written again. It is Ordinal inscription #123224491, and the bytes are settled. Not hosted. Not backed up. Settled. The playable game lives at splat.puddystudios.com.
You do not have to trust PUDDY for any of this. The authority is the chain, and the chain answers to anyone who asks. This repository is a mirror that points at it. Every claim below is a number you can check yourself, forever, from a laptop, with no permission from us.
| Field | Value |
|---|---|
| Inscription ID | f77b018fabef5930d116146bd0cf8bf6c4bc4c5571ea1f53f6268d9aa858ac97i0 |
| Inscription number | #123224491 |
| Genesis block height | 941440 |
| Genesis block hash | 000000000000000000011ecb6b60d5e561267f13ddf3d19d79c1305e6576816f |
| Genesis timestamp | 1774017998 = 2026-03-20 14:46:38 UTC (Friday) |
| Sat | 53222819757777 |
| Satpoint | 63967ffb46348f0b142d01905851568e45d8dfc170ecd29b97db0a73417967ca:0:0 |
| Genesis transaction | f77b018fabef5930d116146bd0cf8bf6c4bc4c5571ea1f53f6268d9aa858ac97 |
| Holding address | bc1ptumjnxhqlkseef3nl9fdn9g33q8dueeswsslhqvpcel2f0hkm2qq3t5jgc |
| Fee paid | 123240 sats |
| Output value | 9667 sats |
| Charm | vindicated |
| Content type | text/html; charset=utf-8 |
| Content length | 162317 bytes |
| Content SHA-256 | e10f16251ca87287aab969ecb1baf9427450072117f0c903f57e2111d963d297 |
One explorer can be wrong. Two explorers that keep separate indexes and never talk to each other cannot be wrong in the same way by accident. So the genesis block was read off both.
- Ordinals.com, from its recursive metadata endpoint, reports height
941440, timestamp1774017998, content length162317. - Mempool.space reports block
941440with hash000000000000000000011ecb6b60d5e561267f13ddf3d19d79c1305e6576816f, timestamp1774017998, holding2652transactions.
They agree on every field they share. That integer 1774017998 is a Unix timestamp, and it decodes to exactly 2026-03-20 14:46:38 UTC. Two indexes, one block, one moment.
The block height tells you when. The hash tells you what. It is the strongest check there is, because a SHA-256 changes completely if a single byte moves. Hash the file in this repo, hash the bytes the chain serves, and if the two digests match, they are the same file. There is no third possibility.
Option A - The provided script:
./scripts/verify.shOption B - By hand:
# 1. Hash the file in this repository
shasum -a 256 splat.html
# 2. Hash the exact bytes served from Bitcoin
curl -sS "https://ordinals.com/content/f77b018fabef5930d116146bd0cf8bf6c4bc4c5571ea1f53f6268d9aa858ac97i0" \
| shasum -a 256
# 3. Both must print:
# e10f16251ca87287aab969ecb1baf9427450072117f0c903f57e2111d963d297Option C - Confirm the metadata:
curl -sS "https://ordinals.com/r/inscription/f77b018fabef5930d116146bd0cf8bf6c4bc4c5571ea1f53f6268d9aa858ac97i0"This returns the inscription's on-chain record: its number, block height, sat, and content length, straight from an Ordinals index, with nothing of ours in between.
A one-time check goes stale the moment someone edits a file. This repository does not run a one-time check. The GitHub Actions workflow at .github/workflows/verify.yml re-runs the hash comparison on every push and on a weekly schedule. The day splat.html drifts from the on-chain bytes by so much as one character, the build fails and the "Verify" badge on the README turns red. A green badge is not a claim we made once. It is a live attestation, renewing itself, that this repository still matches Bitcoin right now.
There are two byte streams that both play SPLAT, and this repository ships exactly one of them on purpose.
-
The inscribed artifact (canonical). This is
splat.htmlin this repository.162317bytes, SHA-256e10f1625…d963d297. It is the production build, minified into one dense document with nothing to spare. It is the file on Bitcoin, and it is the only file this repository treats as authoritative. -
A human-readable rendition. PUDDY's web and Telegram wrappers keep a pretty-printed copy of the same game,
266851bytes, for readability during development. It plays identically. It is not the same bytes. Expanded whitespace and full identifier names make it a different stream with a different hash, so it is not the inscribed artifact and it is not published here. The omission is the point. The file in this repo is the file on the chain, and nothing else is allowed to blur that.
When this document, the README, or any tool says "the artifact," "the inscribed file," or "the canonical bytes," it means representation (1): the 162317-byte file that hashes to e10f1625…d963d297.
The copyright line baked into the artifact reads SPLAT (c) 2023 PUDDY. That 2023 is when the game was written. The inscription, the moment those bytes were committed to Bitcoin and made permanent, happened on 2026-03-20. Both dates are true and neither one is the other. One is the year of authorship. One is the day it became unforgettable.
TUNE: Sonnet 5 | effort medium - Next likely step is another surgical doc edit or QA pass, which is mid-complexity copy work well within Sonnet's lane.