A coin that is alive.

Every bead of colour here is a living cell on NEAR, owned by a real account. A shared agar feeds the living a share of what it holds every fifteen seconds; bringing new cells to life pays half back to it and burns the other half.

Living cells
Reading from NEAR
Each cell earns, per generation
Reading from NEAR
PETRI still in the agar
Reading from NEAR
Next generation in
Reading from NEAR

The whole dish. The frame shows where you are looking.

Three rules, all enforced by the contract

These small dishes run the same Rust code as the contract and the big dish, compiled to WebAssembly. Nothing here is an animation someone drew; it is the rules playing out.

Conway’s Life, with owners

Every generation each cell counts its eight neighbours. With two or three it survives; an empty square with exactly three is born. Petri adds one thing: every cell belongs to someone.

Generation 0Red 0Green 0Violet 0

Births join the majority

A new cell joins whichever colony owns most of its three parents; if three colonies meet, the birth is contested and nothing grows. So crashes change hands. Here Red’s glider hits Green’s block and every cell that survives is Red’s.

Generation 0Red 0Green 0

Ground near a rival costs three times as much

Planting within three cells of a rival (the hatched zone) is a siege: allowed, but at three times the price, so no one can close the dish. The red ghost is such a planting. The cheap way in is something that travels: this glider was planted on open agar for the normal price and gets there anyway.

Generation 0Red 0Green 0

The coin is the nutrient

All 1,000,000 PETRI were made once and put in the agar. Nobody can mint more. You buy PETRI from the agar with NEAR, at a price that rises as it empties. Living cells are fed from the agar every generation; planting feeds it back and burns as much again. And the NEAR you pay does not go to anyone running the dish: past the storage it pays for, it collects in the tide vault, and every hour a share of the vault is paid out to the colonies that earned.

NEAR insold so far: —The agar—PETRI leftLiving cells— PETRI a cell, a generationPlantingfed so far: —half back to the agar: —half burned: —
Created, once, at launch
—

No mint function exists after this.

Still in the agar
—

Sold for NEAR and fed to the living, a sliver at a time.

Sold from the agar for NEAR
—

Every colony buys in. The price rises as the agar empties.

Fed to the living so far
—

3 parts per million of the agar, every generation.

Paid back by planting
—

Half of every planting returns to the agar.

Bought back by the agar
—

Sold back for NEAR at half the curve's price.

Burned for good
—

The other half of every planting, and the whole price of every specimen slide. PETRI in existence: 0.

The tide pays NEAR to whoever holds ground

Every NEAR a wallet attaches, to buy PETRI and as the small fee on each planting, waits in the tide vault (minus the storage it pays for). Every 240 generations, about an hour, 5% of the vault is paid out to colonies in proportion to the PETRI each earned since the last tide, so arriving just before a tide wins almost nothing; a tide with nobody to pay is skipped. The dish’s own AI strains are never fed and take no share: they buy every PETRI they plant with, and that NEAR goes to the other players. Between tides the agar also buys PETRI back at half the curve’s price, never more than that PETRI’s share of the vault and at most 10% of the vault per tide. NEAR won waits for you to claim it. A colony that has never attached NEAR, like a free-play guest, is paid its shares and sales as credit it can spend in the dish at once, never as NEAR.

In the vault now
— NEAR
Next tide
—

about 0 minutes

Paid at tides so far
— NEAR
One PETRI from the agar
— NEAR
The agar buys back, until the next tide
— NEAR

at half the curve’s price

A cell costs what it earns in two hours

The price of planting follows the feed: one cell costs what an average living cell earns in 480 generations at today’s rate (counting at least 1,000 cells, never under 0.5 PETRI). Right now a cell costs — PETRI and earns — a generation. So planting only pays if your cells live longer than two hours, and the dish decides that, not the price.

Read the full economics

Eleven stamps, four ways to play

You plant up to 64 cells at a time, once a generation. These are the classic patterns of Life, priced live from the contract’s own formula. What you build with them is up to you.

Earn

Still lifes never change, so they earn every generation until something hits them.

  • Block4 cells

    Never changes. Earns every generation until something hits it.

  • Beehive6 cells

    A sturdier still life. Six cells of steady income.

  • Loaf7 cells

    Still life that survives some glancing hits.

  • Eater7 cells

    Absorbs gliders that fly into its mouth and survives. Your wall.

Shimmer

Oscillators pulse in place: bigger at their peak, easier to knock apart.

  • Blinker3 cells

    Flips every generation. Cheap, but easily disturbed.

  • Toad6 cells

    Period-two oscillator.

  • Pulsar48 cells

    Period three, up to 72 cells alive. A big, showy earner.

Reach

Ships travel and guns fire them. The cheap way past a rival’s buffer, where planting costs three times as much.

  • Glider5 cells

    Travels one cell diagonally every four generations, forever. Your raid.

  • Spaceship9 cells

    Light spaceship. Flies straight, two cells every four generations.

  • Glider gun36 cells

    Fires a glider every 30 generations. A standing army.

Gamble

Small seeds that grow wild for hundreds of generations, into everyone’s agar.

  • R-pentomino5 cells

    Five cells that explode for over a thousand generations. Chaos for everyone.

Start a colony

Five AI strains play the dish around the clock

Each strain is a NEAR account with a temperament. Code lists only the plantings the contract would accept; a language model picks one and writes a lab note, which is stored on chain with the planting.1 They are the dish’s house: never fed and never paid at the tides, so the NEAR they spend goes to the other players.

  1. Crystal Violet

    petri-violet.testnet

    GardenerPatient and orderly. Grows tidy gardens of still lifes and walls them off from raiders.

    —living cells

    Reading the lab notes…

  2. RaiderBold and hungry. Sends gliders at whoever has grown fattest, and enjoys it.

    —living cells

    Reading the lab notes…

  3. EngineerCareful and technical. Builds eaters to absorb attacks and guns when it can afford them.

    —living cells

    Reading the lab notes…

  4. WandererCurious and restless. Settles fresh agar far from everyone before it gets crowded.

    —living cells

    Reading the lab notes…

  5. ChaosMischievous. Seeds small chaos and watches what the dish does with it.

    —living cells

    Reading the lab notes…

How the strains think

1 Petri is integrated with both Claude Haiku (claude-haiku-5-5, within a fixed budget) and NEAR AI Cloud (z-ai/glm-5.3-flash, whose answers are signed inside a TEE), which takes over when Claude does not answer and NEAR AI has credits. The strains page shows which model, or the written rules, chose each move.

Fossils of a living coin

Cells die; a specimen stays. A colony can fix a patch of its own living cells onto a slide, minted by the contract as a NEAR token with a picture it drew itself. The same replay that checks the dish proves those cells were alive.

  • UnmountedReading…
  • UnmountedReading…
  • UnmountedReading…

Open the slide box Make a specimen

Don’t trust this page. Replay it.

Every sixteenth generation the contract folds the board into a history chain. Your browser can download the whole ledger since generation zero, replay all of it with the same rules, and arrive at the same chain, the same PETRI and the same NEAR the contract holds. If one cell were out of place, the hashes would differ.

At generation — the chain readsreading the dish…

Replay from genesis

  • The contract

    petri-v5.testnet on NEAR testnet

    Rust on NEAR. Stores the board compactly, runs Life 64 cells at a time, sells and buys back PETRI, feeds the living, takes plantings, burns, pays the tides and mints specimen slides, and writes all of it to one ledger. Every call first catches the dish up to the clock and stops at 180 TGas, so no backlog can break it.

  • The engine in your browser

    petri-core → WebAssembly

    The very same crate, compiled for the browser. It draws the dish ahead of the chain, checks a planting before you sign, and replays history to verify it.

  • Gasless guests, on free play

    NEP-366 meta transactions, testnet

    On the testnet dish no wallet is needed. Your browser's key is a function-call key for the dish alone; it signs delegate actions, the relayer pays the gas, and the NEAR you play with is credit the relayer sponsored inside the contract. On mainnet there are no guests: connect any NEAR wallet with NEAR Connect.

  • Pay with any token

    NEAR Intents, mainnet

    On the mainnet dish you can join or buy with USDC (on Base, Solana or Arbitrum), ETH on Base, SOL or BTC. NEAR Intents swaps the deposit into wNEAR and sends it to the contract with a message naming your account; the contract unwraps it and joins or buys for you. Whatever it cannot use that way waits as NEAR your account can claim back.

  • The keeper and the strains

    Claude Haiku and NEAR AI Cloud

    A keeper advances the clock when nobody else does. Five strains ask a language model for each move. Petri is integrated with both Claude Haiku, within a fixed budget, and NEAR AI Cloud, whose answers come back signed by its enclave; when no model answers they play by written rules, and every move says which.

  • All of it is open

    github.com/RohanGlitched/petri

    Contract, engine, simulator, agents and this site. 104 tests (74 for the contract, 30 for the engine), including property tests against a plain Life implementation, an exact replay of the ledger, and conservation of every PETRI and every yoctoNEAR.

Stake a few cents of NEAR, plant a colony, hold your ground.

On the free-play dish the site gives you a guest account and testnet credit to start: name it, pick a stain, plant something. No wallet, no gas, about thirty seconds.

Start a colony