Art that answers to what it owns
Every piece is an exomorph — not a being, not animalia; a form that settled out of the Machinarium after the age of intelligence stopped being the interesting part. Each one owns a wallet. What that wallet holds changes how the organism looks, continuously and for as long as it exists.
The collection is 32 Exomorphs in 5,555 variants, minting on Robinhood Chain, fully on chain: the genome, the rendering engine and the palette all live in contract storage. No IPFS pin, no server, no bundler. A browser and an RPC endpoint are the whole of the dependency list.
The mechanic is ERC-6551 — a token-bound account, a wallet deterministically owned by the NFT, whose contents travel with the token on sale. Collections built on it so far put a static picture on the front of a moving container. It is a common error to suppose that is all the standard permits. This one moves.
The sale
A Dutch auction: 0.2 ETH falling linearly to zero over 72 hours, and the floor holds forever after — the tail of the sale is a free mint, which was decided rather than discovered. Ten per wallet per the contract; the cap is a term of sale, not a defence, and the contract says so in its own comments.
No refunds. Every buyer pays the clock price at their own moment, and the mint panel re-reads that price in the instant before signing. Every variant mints at metabolism zero — dim, slow, near-still. This is not a defect of the mint; it is the mint. What has been bought is an appetite.
Half of the auction proceeds seed the $PM liquidity pool. The other half is the treasury, and the treasury draws only after the pool is live — the team is paid last, and the order is a matter of code, not of promise.
The genome
Seventeen parameters, each quantised to twelve bits and packed big-endian: 204 bits, 26 bytes per variant, plus one byte naming the body. The whole genetic material of the collection is a hundred and fifty kilobytes, written once into GenomeStore as contract code and sealed — after seal there is no path that writes.
The parameter order is append-only. A decoder walks the list in order, so a hash written before a parameter existed still decodes correctly. onchain/genome.mjs is the single codec authority; the Solidity decoder walks the same list. Changing the order would invalidate every genome already minted, which is why it will never happen.
Anatomy and metabolism
The seventeen split in two, on one principle: money must never be permitted to overwrite species.
zoom · freq · fold · disp · swirl · seed · size · hue · spread · mask
A variant is recognisably itself, funded or bankrupt, forever.
points · trails · opacity · contrast · sat · breath · speed
Matter, persistence, radiance, colour, pulse.
The genome stores all seventeen. A metabolic parameter’s stored value is the organism’s resting state; the vault applies a bounded offset around it, never a replacement. An unfunded organism is exactly its own curated self. Funding pushes it along an arc from there. Metabolism modulates the body; it does not become the body.
The vault, not the holder
Modulation is a property of the vault, not of whoever happens to hold the token. The state lives in the token-bound account and travels with the token on sale. Nothing in the vault clears on transfer — the organism keeps what it has eaten, and the buyer sees on day one exactly what the token holds.
Feeding needs no ceremony. The account address is valid before it is deployed, so assets sent to it — from a wallet, an exchange withdrawal, a script — feed the organism immediately. Deploying the account is needed only to move assets back out, and withdrawing runs the law in reverse: metabolism is a reading, and the reading falls.
There is an activation toll, and it does not contradict this, because of one line of law: activation gates income, never rendering. Activation decides whether a token receives drops from the faucet; it lapses on transfer, and the buyer re-pays. It never touches what the artwork shows about the vault. The renderer has no knowledge of activation state and never will — an artwork that could lie about its own contents is the one thing the collection cannot trade away.
The modulation law
Bounded, logarithmic, additive — and it needs no oracle. Wealth only ever blooms an organism; if poverty made variants ugly, most of the collection would be ugly.
quantity = log₁₀(1 + Σ registered balances) — three decades is full variety = registered assets held, five is full signal = 0.7 · quantity + 0.3 · variety — basis points, 0..10,000 offset = 0.4 · full-scale · signal — added to each resting value
Quantity counts logarithmically so every decade reads equally; variety counts for the rest, so a second kind of asset moves the organism further than more of the first. The offset is capped at two fifths of full scale — a whale cannot blow the anatomy out, which is the bound doing exactly what it is for.
Only assets the curator has registered feed the signal, and only 18-decimal assets may register — the store refuses anything else at the door. Everything unregistered sits in the vault untouched and changes nothing.
Marketplaces, and the bell
Marketplaces will not re-read tokenURI on their own. notifyFed is the bell: permissionless, ringable by anyone for any token, firing the ERC-4906 update that asks indexers to re-read. They treat that notice as advisory and re-read on their own schedule — the organism is live on this site; elsewhere is a record of the organism, refreshed at the convenience of whoever keeps the record.
The metadata also carries a filterable word for the vault signal — Still, Dim, Waking, Blooming — because a collector can filter on a state where a percentage tells them nothing.
Rendering
The renderer page is stored once for the whole collection in ScriptStore, written to SSTORE2 and immutable from construction. Each tokenURI call splices that variant’s bloomed hash into the page’s 64-byte slot and hands back the whole document, base64, self-contained — no dependencies, no bundler, no network.
The wallet view loads the same self-contained runtime, so it redraws a fed organism with no rendering law of its own. The modulation law lives once, in Solidity, and the site cannot drift from it because the site never reimplements it.
The contracts
ERC-721 custody, the auction clock, and the door to the canonical ERC-6551 registry. Deliberately thin: the art lives elsewhere. The renderer is sealable — one way, forever.
The genetic material: 27-byte records written once in SSTORE2 chunks and sealed. After seal the data is code, and there is no path left that writes.
A pure view. Reads the resting genome, asks the vault what it has eaten, applies the modulation law, assembles tokenURI. stateOf(id) is the one door onto the law — the site, the metadata and any future service all read the same string.
The renderer page, stored once for the collection with a 64-byte hash slot spliced per variant.
The curated asset register and brand-colour overrides. Registration is forever, only 18-decimal assets pass the door, and unlisted tokens still paint — their colour is hashed from the address.
The toll economy. $PM is fixed-supply with a holder-only burn. Activation is five tiers, half of every toll burned and half pooled; it lapses on transfer and the buyer re-pays. Clock In opens weekly, permissionlessly, and pushes the pool pro-rata into activated vaults — the drop lands in the vault, and the vault is the artwork's input.
Settlement between organisms. Registered holdings move into escrow at entry, both marks strike at join, and immutable closing marks settle the agreed session. The rake is 10% of the spoils, capped in code — a promise the code does not enforce is not a promise.
The audit
The repository carries two internal code reviews. The latest found two critical and six high issues in Battle, Clock In, launch escrow, and genome assignment. Every critical and high finding is closed by a regression test; the suite stands at 141 passing, including stateful invariants and 512-case fuzzing.
The properties worth knowing as a holder: Battle moves the registered wager balances into real escrow; its rake is capped in code and frozen per duel when both sides consent; settlement uses immutable prices from the agreed closing session; old Clock In rounds remain claimable; and activation lapses after any intervening transfer.
The full report lives in the repository as onchain/contracts/AUDIT-2026-09-10.md, findings, remedies and regression references included. An independent external review of the final revision remains a launch recommendation.
Licensing
The field archive carries work by other authors under their own terms — Yohei Nishitsuji’s fields ship under MIT, shown in full and credited. Any body whose licence terms are unknown does not ship at all, regardless of how good it looks in the proof of concept. Attribution is recorded in THIRD-PARTY-NOTICES.md.