Replay the Mine
2,015 people didn't mint an image.
They uploaded it.
Between April and December 2023, a progressive JPEG portrait of Vitalik Buterin was assembled on Ethereum one calldata chunk at a time: 2,015 mints, 2,015 pieces of one picture, with no image stored anywhere off-chain.
- 12.6 MB
- uploaded on-chain
- 237
- days, Apr 9 to Dec 1
- 3.4B
- gas burned mining it
Scroll to begin ↓
April 11, 2023
It started with a tweet.
Xata (🦍^🎩)
@XatarrerIt is my pleasure to release the 🃏 𝗕𝘂𝘁𝗲𝗿𝗶𝗻 𝗖𝗮𝗿𝗱𝘀 collection. 🎴 A collection of 2015 unique cards paying tribute to @VitalikButerin. Minting: buterin.cards Big thanks to the rest of my team: @tarpley_travis, @MrLivingstream & @PawelDudko
Chapter two
The reveal
Keep scrolling. Every scan the collection ever produced is one frame of what follows.
Chapter three
The mosaic
All 2,015 chunks, one cell each, colored by mining phase. Hatched cells are the 48 empty-chroma fillers: no real image data behind them. Hover a cell, or click to open that card.
The mosaic below is a canvas visualization and is not keyboard-navigable. Every card it represents can be browsed, filtered, and opened from the Explore page.
Chapter four
How it worked
From a wallet's calldata to the card on your screen: six steps, all on chain.
01
Calldata chunk
Each mint carries ~6.4 KB of the JPEG, raw, in the transaction's calldata.
02
Keccak Merkle leaf
The chunk is hashed into a leaf of the Merkle tree built at deploy time.
03
Proof vs. root
The contract checks a Merkle proof for that leaf against the root pinned into the deployment.
04
SSTORE2 data-contract
A verified chunk is written as the bytecode of a throwaway contract: a permanent, gas-cheap read forever after.
05
Progressive JPEG scan
Chunks accumulate in order into scans: each a further-refined pass over the same image.
06
HTML/SVG card
tokenURI() stitches the latest scan into the on-chain SVG card you're looking at.
Artifacts from the dig
%2F8QAFQABAQAAAAAAAAAAAAAAAAAAAAH%2F2gAIAQEAAAAKAAAAAAIsAAAAAAAA
The first 64 bytes of card #148's chunk: the first real JPEG scan data anyone ever minted (percent-encoded, exactly as it sits on chain).
%2F9k%3D
Decodes to "/9k=": bytes FF D9, the JPEG end-of-image marker. Same seven characters, every card, always last.
AAAAAAAA…AAAA (×6,427, uniform)
48 cards (100-147) carry no image data at all: a uniform filler chunk standing in for the JPEG's blue- and red-chrominance channels until real scan data catches up.
"This card will be visible when card #N is mined."
The line the on-chain SVG shows in place of new detail until the next scan-completing token is minted.
uri.slice(uri.indexOf(",") + 1) → decodeURIComponent → JSON.parse, never new URL()
The on-chain metadata contains raw ?/& characters: strict URL parsers truncate it mid-JSON. OpenSea's lenient parser silently repairs it. Bugs, immortalized on-chain, become features.
0123456789abcdefghijklmnopqrstuvwsyz
The background renderer's base-36 alphabet, read the tail: "…tuvw" then "syz". No x. Every card's ray pattern runs on this 37-symbol, x-less alphabet.
seedEffective = seedOnChain + drift × 0x6d2b79f5
card.js silently advances the on-chain seed 22-48 steps before rays.js reads it: every card's background runs on a seed its own trait never shows.
Chapter five
The day Ethereum mined a JPEG
Gas used per day, across all 237 days this collection was mintable.
At 14:44 UTC on December 1 this went out. The remaining four fifths of the collection minted in under four hours.
VonMises
@VonMises14I wanted to bring some attention to a project @Xatarrer has been working on called Buterin cards buterin.cards I've minted 5 so far (vonmises.eth wallet) and plan to mint more, it's a free mint but gas is high on these due to the interesting mechanics of the drop.
Dec 1, 2023: this collection briefly became Ethereum's #1 gas consumer, 13.1% of all gas over a 3-hour window, above Uniswap's universal router and Tether (The Block, Dec 1 2023).
Apr 7, 2023, 8:24 PM UTC
Contract deployed
block 16,998,945
Apr 9, 2023, 6:59 AM UTC
First mint
card #1
Apr 11, 2023, 3:57 PM UTC
@Xatarrer on X
Apr 12, 2023, 2:22 PM UTC
Pencil Drawing complete
99 cards minted
Sep 6, 2023, 8:46 AM UTC
Black & White complete
271 cards minted
Dec 1, 2023, 2:44 PM UTC
@VonMises14 on X
Dec 1, 2023, 3:42 PM UTC
Grey Shades complete
533 cards minted
Dec 1, 2023, 4:35 PM UTC
Blue Chroma complete
943 cards minted
Dec 1, 2023, 5:11 PM UTC
Red Chroma complete
1,319 cards minted
Dec 1, 2023, 6:18 PM UTC
Resolution complete
2,015 cards minted
Dec 1, 2023, 6:18 PM UTC
Sold out
1,606 of 2,015 cards (80%) minted this single day
On the fee numbers
Our own receipts: every mint's gasUsed × effectiveGasPrice, summed across all 2,015 mints over the full eight months, total 279.58 ETH. The press figure of 318.31 ETH ($665,670) in 24 hours covers gas from all activity touching the collection that day (trades, approvals, failed transactions), not just mint fees. The two numbers aren't measuring the same thing, which is the honest reason they don't match.
Chapter six
The artifact
Every scan you scrolled through above was a decoded preview. This is the actual file: reassembled byte-for-byte from the chain, nothing else.

8,576 × 6,897 · progressive · reassembled from 1,868 on-chain chunks · verify it yourself on any card page
sha256 70b716996354d7c0dde75c29283f2015d8a88bc78e0d56ce93b61c70eba1fff7
Lineage
Nakamoto Cards (Bitcoin) → JPEG Mining → Buterin Cards, the second collection ever mined as a JPEG, and briefly Ethereum's #1 gas consumer.
That's the mine.



