Most NFTs are a receipt on a chain pointing at a picture on somebody's server. When the server goes, the picture goes.
A C.A.T. is not that. Each one is 114 bytes of HTML inscribed on Bitcoin that points at a renderer, also inscribed, which points at 138 trait images, also inscribed. All 2,222 cats and everything needed to draw them come to 622 KB on chain.
Delete our website. Delete every marketplace. Delete whoever wrote the renderer. Any Bitcoin node with an ordinals index still draws all 2,222.
| Supply | 2,222 — 2,200 generative, 22 drawn by hand |
| Inscribed | 15 June 2024, blocks 847,976 – 848,052 |
| Inscription numbers | #71,651,932 – #71,657,553 |
| Parent | be813be7…39fbi0 (#71,651,887) |
| Whole collection on chain | 622 KB |
| Holders | 915 (ord.net's count; our own snapshot says 914) |
| Charm | every cat is vindicated — inscribed after the jubilee |
The parent sits on an uncommon sat: the first satoshi of its block.
Nothing above needs taking on trust. With any ordinals node, or the public one:
# every child of the parent, straight off the chain
curl -s https://ordinals.com/r/children/be813be7d5ab89e5b7059b28bb4419d09e2988e42bf066ff0987ea555f6439fbi0/inscriptions/0
# the entire contents of one cat — all 114 bytes of it
curl -s https://ordinals.com/content/3cbbdd020f5026a3e71c95868a7a4e87813da32d98af6b1430ffbb79d8ae0b38i0That second command returns this, and nothing else:
<!DOCTYPE html><script 0 src=/content/948a5a52b7939789e4e5d3d00f7dc3d48ad23e61c866ee368807a1f34dcb6c08i0></script>There is no image in there. There is a pointer — which is why the picture cannot go missing while Bitcoin exists.
verify.py counts any parent/child collection's real children off Bitcoin. Python 3.9+,
standard library only, nothing to install, and nothing about it is specific to C.A.T.
$ python3 verify.py cat
C.A.T. (Cats Against TradFi)
──────────────────────────────────────────────
children 2,222
parent #71,651,887 image/png
inscription numbers #71,651,932 – #71,657,553
blocks 847,976 – 848,052
dates 2024-06-15
reveal batches 5
foreign in range 3,400
in the shared index yes, as cat
charms vindicated x2,222
the reveal, batch by batch
#71,651,932 – #71,652,481 550
#71,652,551 – #71,653,100 550
#71,653,151 – #71,653,700 550
#71,653,771 – #71,654,320 550
#71,657,532 – #71,657,553 22That last line is the whole story of the collection in one row: four batches of 550 generative cats, and then 22 drawn by hand, inscribed last.
Point it at anything. Published supply figures are wrong more often than you would like — Pizza Rhinos is described as 2,222 items in several places, and its parent has 4,444 children:
$ python3 verify.py 888888846c5b7e1843836b242f45962394a89387c0910e2a3cc8ff5fe739bdc2i0
children 4,444
in the shared index no — uncategorised on ord.netPass --node http://localhost:80 to run it against your own ord instance instead of the
public one, and --json if you want to pipe it somewhere.
catsvstradfi.com is a 1990s operating system that boots into a bank that will not let you leave, until you take the orange pill.
Underneath the joke it is a real viewer: all 2,222 cats, every trait and its rarity, the holder distribution, the whole provenance graph, and a few tools that have nothing to do with this collection at all —
- PROOF.exe — the same cat rendered side by side from our server and from Bitcoin
- VERIFY.exe — paste any parent inscription and it counts the real children. Published supply figures are wrong more often than you would like
- INSCRIBE.exe — what it costs to put something on Bitcoin at this minute's fees
- MARKET.exe — the floor at all four venues, cheapest first, including when that is not the one we link to
| ord.net | verified against the parent inscription, PARENT badge |
| Ordinals Wallet | the second venue |
| Satflow | |
| Magisat |
They do not share an order book, so they do not share a price. Check all four.
- X — @catsvstradfi
- Discord — discord.gg/catsvstradfi
- C.A.T. News — 24 episodes, anchored by @hottestcathere
An art project on the only chain that will still be there to hold it.

