bLighT Museum

Every artefact below is read from chain when this page loads. The argument is not that on-chain art is better — it is that "on-chain" names at least six different things, and the difference decides what survives.

Exhibit 1 · The score and the picture

Autoglyphs (2019) is usually called the first fully on-chain generative art on Ethereum, and the founding object of this lineage. What its contract actually returns is 4,318 bytes of plain text. From the artists' own source header:
"The output of the tokenURI function is a set of instructions to make a drawing… The drawing can be any size, and the pen's stroke width should be between 1/5th to 1/10th the size of a cell."
Size and stroke width are left free, and no renderer is committed on-chain — not even a hash of one. So the picture everyone knows is one interpretation among many. The drawing on the right is this page's interpretation, made just now in your browser. It is not the Autoglyph. There isn't one.
reading chain…
What the chain returnstokenURI(1) on 0xd4e4078c…, live. Plain text, . Complete, deterministic, self-contained.
rendering…
One valid drawing of it — rendered here from the legend in the source (O circle, + cross, # fill). Stroke width and size were chosen by this page, because the chain does not say.

Exhibit 2 · The picture itself

ERC-20i (2024) returns the artwork, not instructions for it. getSvg emits a complete SVG — no legend, no interpretation, no renderer to lose. The image below came from one eth_call with no choices made by anyone.
reading chain…
PEPi 0x28a5e71B… on Base, frozen record at the burn address. of SVG. Zero external references.
reading chain…
FROGGi 0x88A78C50…, the same call on a different contract. — an order of magnitude larger than its peers.
So the ancestor is more on-chain than most people think in one sense — the text is complete and permanent — and less in another: the image you recognise depends on software the chain never named. ERC-20i closes that gap. That is a real advance, and it is the reason this museum exists as running code rather than a wall of JPEGs.

Exhibit 3 · Six meanings of "on-chain"

Most disputes about whether something is "really on-chain" are two people using different rows.
classwhat it meanssurvives its author?
agenerated by contract code at read timeyes — nothing else required
bdata on-chain, rendered off-chainonly if a renderer is rebuilt
cscript on-chain, executed by your browserdepends on the runtime lasting
dpointer to IPFS or Arweaveonly while someone pins or endows it
epointer to a web serverno
fno image reference at allthe asset outlives any picture of it

Exhibit 4 · The chronology

Dates read from creation transactions and block headers, not from write-ups. The story starts on Bitcoin, three years before Ethereum's art history.
dateobjectclassnote
2014-01-02Counterparty genesislayerBTC 278270 — an interpretation of ordinary Bitcoin transactions
2015-03-11Spells of Genesis FDCARDfBTC 347172 — bare 1-of-3 multisig, still unspent in 2026
2017Curio Cardsd~30 hand-rolled ERC-20s, decimals: 0a fungible token that is one picture
2019-04-05Autoglyphsa/cblock 7,510,386 — depends whether the artwork is the text or the image
2024-03-03the 3.99 MB inscriptionb/cblock 832,947 — 99.8% of a block's weight budget in one transaction, riding the witness discount
2026-08-18The hidden family revealedathe FUNGI crown leaderboard: eleven strangers each holding over 1% of a website-dead economy — the conviction whale (bajohn, FUNGI-monogamous at 2.8M, verified on-chain to the token), the entropy-max wallet (the founder, #12, the only known wallet holding five family tokens at once), and the suspect seat right under the LP. the variety hunt begins: wallets holding many ERC-20i at once are the makers’ fingerprints.
2024-04-20Runes launchablock 840,000 — the halving; runestones in OP_RETURN outputs, commodities without a VM
2024ERC-20i (FUNGI)aseed-derived art on a fungible balance; getSvg returns the SVG itself

Exhibit 5 · What it cost to be here

The Autoglyph comparison — generative art inside the mint itself
The Autoglyph comparison — generative art inside the mint itself
Every Autoglyph ran its full generative loop inside the mint transaction: median 2,874,700 gas — 35.9% of the entire block gas limit, per artwork. 512 works were minted by 59 distinct addresses, and the collection sold out in 43.66 hours with a hard TOKEN_LIMIT and no admin surface to raise it.

So anyone who found this later and felt priced out was right about the machine and wrong about the wall: the barrier was supply, not gas. Both facts belong on the label.

Exhibit 6 · The process wall — 1,408 bytes

Two PEPi deployments share a symbol and a lineage. Their bytecode sizes are read from chain when this page loads, and the difference is computed here, not quoted. What the bytes bought is on the label below the table.
contractaddresscode size
PEPI v1 (Base)0x1970…a8e2reading…
PEPI v2 (Base)0x28a5…de9Freading…
FUNGI (Base)0x7d9C…D15Freading…
FROGGI (Base)0x88A7…22FEreading…
v2 − v1
What the 1,408 extra bytes bought — measured from the verified ABIs
The v2 deployment is larger by bytes, and the verified ABIs say precisely what that bought: one new external function, getHolderIndex — a holder-enumeration view (37 functions → 38). v2 adds nothing else to the surface. Measured 2026-08-16 from eth_getCode and Sourcify-v2 verified ABIs; if the table above says "reading…" the chain is unreachable and no number is invented.

Exhibit 7 · The process wall — a revert, performed live

How the seed is drawn — nothing up the sleeve
How the seed is drawn — nothing up the sleeve
ERC-20i derives its seed from the balance, and the draw is seed + nonce − 1. At seed = 0 that underflows: Solidity panics 0x11. Harmless to a holder — nobody holds zero and renders — but a live trap for any explorer that iterates addresses. This page performs the trap now: it reads the burn-address record from chain, renders it as the control, then replays the same record with only the seed zeroed.
reading chain…
Control — the record as stored. getSvg(seed, second, extra) with the burn address's own words. .
reading chain…
The trap — same record, seed forced to 0. The exact revert, unedited:
Everything else about the call is identical. The panic selector 0x4e487b71 with code 0x11 is the arithmetic underflow, arriving through a call any marketplace might make.

Exhibit 8 · The process wall — a layer that shipped empty

Not every error performs. earsLevelCounts shipped [0,0,0,0,0,0] — a declared layer, empty forever — and no getter on the token exposes it, so this panel is lineage, not live data, and says so.
mechanismconsequence
counts[lvl] is increment-only and is the selection modulusupload files 1, 2, 5 → count = 3 → file 3 is an empty array that renders as ""silently, no revert
one out-of-order batchpermanently poisons a level. This is how earsLevelCounts shipped all zeros: the ears gate (3%) selects from an empty file list forever
setFile replaces, never appendsa second call for the same (lvl,file) wipes the first; there is no append-mode setter on any of the seven reference contracts
The rehearsal gate — why upload order is checked on deploy day
Hence the rehearsal gate: upload order is a deploy-day check (evmcheck.py exists; the testnet rehearsal does not, and the exSat testnet lane is frozen). And still open on the wall, founder testimony 2026-08-15: "fungi and pepi v1 both had the same over under bug" — recorded as testimony, precise defect under verification (SPEC-ERC20I-MECHANICS-1 §10). The museum shows the question, not a settled answer.

Exhibit 9 · Bitcoin's answer — a whole-block inscription, and the asymmetry

The museum's lineage starts on Bitcoin (Counterparty, 2014) and its classes were built without Bitcoin's modern era. The founder's inclusivity ruling (2026-08-16) closes that: below, the record inscription transaction — read live from Bitcoin — the two mechanisms from the Ordinal Theory Handbook, and the asymmetry that separates Bitcoin art from Ethereum art more than any mechanism does.
reading Bitcoin…
The record inscription, fetched at page load. txid ed76bf35…72a0. The article that sent us here called it "3.97 MB" and dated it April 2026; the chain says 3,991,238 bytes, confirmed 2024-03-03 — the 2026 "Relic" is new generative art about the old record, one 1/1 derived from the transaction itself. Both facts on the label.
One transaction against one block. Bitcoin blocks cap at 4,000,000 weight units. This transaction is nearly the entire budget by itself — possible because inscription data rides the witness, which counts ¼ toward weight. The bar is drawn from the live numbers, not quoted.
protocolwhere the data livesmechanism (per the Ordinal Theory Handbook)
Inscriptions
Ordinal sats, unique artifacts
taproot script-path spend scripts — the witness of a transaction commit/reveal two-phase; envelope OP_FALSE OP_IF … OP_ENDIF; data pushes capped at 520 bytes; the witness discount is what makes a 3.99 MB inscription physically fit
Runes
fungible commodities — the ERC-20i parallel
transaction outputs: OP_RETURN OP_13 + data pushes one runestone per transaction; edict integers (128-bit); cenotaphs — malformed runestones that burn their runes; the Handbook's own example rune is UNCOMMONGOODS
How these two sit against the museum’s six classes
How these two sit against the museum’s six classes
Against the museum's six classes: both sit inside existing rows — inscription content is data-on-chain (b/c hybrid: the envelope is an ordinary Bitcoin transaction), runes are commodities like ERC-20i but carried by outputs, not contract state. What Bitcoin adds is not a class — it is the asymmetry: Ethereum art answers a keyless eth_call from any browser; Bitcoin has no browser-direct read at all. This page reads Bitcoin through Esplora — a public third-party indexer API (blockstream.info, CORS-open, keyless) — and says so on the label. Runes launched at the 2024 halving: block 840,000, 2024-04-20 00:09 UTC (hash verified via the same API while building this exhibit).

Exhibit 10 · A name that went with the phone

The recording of the first pieces — one device, both chains
bqueenbee.base.eth · recorded 2026-08-26

One device carried both the phone and the wallet, and the device is gone. The name is still out there, pointing at a door nobody can open.

Correction, on the wall, 2026-08-27: the name itself was renewed by its founder from a new account and re-pointed at his garden — the second line above is now history, not news. The door nobody can open is the address 0x100fd362…5479, nameless now and pinned as an exhibit on the explorer wall. It still holds her FROGGI egg (52.24, seed 52 — egg level), and it still waits.

An identity with exactly one key is a countdown, not a design.
Corrections are part of the exhibit. "Random art maker" is backwards — Autoglyphs takes a caller-chosen seed and is fully deterministic and grindable. The randomness everyone remembers belongs to MoonCatRescue, which seeds from a blockhash. This museum keeps its own errors on the wall, because the lineage it documents is made of them.

SOURCES & DOORS — the ERC-20i wing, receipted

Where ERC-20i came from — the chain’s own record
The origin, from the chain rather than from memory: ERC-20i — fungible tokens whose balances deterministically seed fully on-chain, dynamically rendered art — began on Base, with Fungi, 2024-03-31 (contract deployed 16:17 UTC; its FUNGI/WETH pool opened 45 minutes later; creator the pseudonymous ToddStool, per the project's own credits). Pepi followed on Base 2024-04-24, and expanded to Ethereum on 2026-03-03 — the same operator wallet, byte-identical generator source (proven against Sourcify's verified-contract corpus, which holds the code of record regardless of any website's fate). Every link below was fetched from this host on 2026-08-21 before earning its place; a site we could not verify says so instead of pretending. Two cautionary exhibits: Fungi's original domain is lost to a squatter (it now serves an unrelated blog — deliberately not linked), and Jelli's domain redirects to an unrelated shop. On-chain art outlives its websites; that asymmetry is this wing's whole lesson.
familycontract — the work itselfalive outsideour doors
PEPI eth 0x3103cD16… · etherscan · sourcify pepi.sh · its marketplace · official source (linked from pepi.sh itself) the gallery
the Apiary
the catalog
the explorer
PEPI v2 · base 0x28a5e71B… · basescan pepi.sh · inscriptions.market
FUNGI — the first ERC-20i 0x7d9CE55D… · basescan inscriptions.market — canonical today; the original domain is lost to a squatter and stays unlinked
audit: SourceHat, April 2024 — the family's only published audit. Read it with two caveats. It scopes contracts/token/Fungi.sol at commit 3ac81ec and contains no marketplace, escrow or listing content whatsoever, so it is not assurance for any venue that displays its badge. And the live contract was deployed 2024-03-31, eight days before the audit began, matching pre-remediation commit 4581acb: its High and Medium findings are marked resolved in the repository, not at this address. receipt
$FROGGI 0x88A78C50… · basescan inscriptions.market · Inscript (ecosystem tooling, not Froggi-owned)
JELLI 0xA1b9d812… · basescan inscriptions.market — its own domain now redirects elsewhere; the art answers eth_call regardless
JEDI · TRUFFI · MiDi JEDI · TRUFFI · MiDi inscriptions.market — truffi.xyz could not be verified from this host and is not listed as live
NTNT (Neutants) 0xceb9d288… · basescan inscriptions.market
⌂ hub