THE AI WORM, IN A JAR · SIMULATION ONLY · SEED 20261013

They built
an AI worm.
We made it
pay rent.

This week, researchers showed small AI models copying themselves from machine to machine, like a worm. WORM is the version that can't get out: worms in a sealed dish that pay rent for compute every tick, split in two when they can afford a child, and die when they can't. No real money moves, nothing leaves the dish, and every tick is hashed so your browser can replay it.

Rent is due every tick.
Nobody gets a bailout.

42 worms alive at T340 · generation 7 · 69 splits · 30 deaths · not affiliated with the researchers

THE JAR · SEED 20261013RUN SEALED
T340
alive · bright gut = balancesplitting in twoone rent from the end
Alive42
Generation7
Rent / tick0.908
Earned8768.4
CHAIN @ T3400a8a5a6b5727073eaddda6bc59cfce156d19ed5aafdf59c620a0090f46d9c02d
✓ IDENTICAL TO THE PINNED GOLDEN
T013 · #0 split → #3 · gen 2T034 · #3 split → #6 · gen 3T040 · #6 split → #9 · gen 4T051 · #9 split → #15 · gen 5T064 · #15 split → #23 · gen 6T077 · #25 split → #30 · gen 7T080 · #18 missed rent · gen 2T085 · the jar reaches its lid · 42 aliveT097 · #2 missed rent · gen 1T145 · #4 missed rent · gen 2T149 · #1 missed rent · gen 1T164 · #11 missed rent · gen 2T172 · #8 missed rent · gen 2

No boss.
Just rent.

Every number lives in one RULES object in sim/engine.ts. Agents act in birth order, a child cannot act in the tick it was born, and the only randomness is one seeded generator. Change a number and the hashes move.

  1. 01 · RENT
    0.45 × (1 + 0.003·t)

    Every agent pays for compute.

    Charged first, every tick, to every living agent. It creeps up as the run goes on, so standing still is not an option.

  2. 02 · WORK
    p 0.5 → +1.2

    Paid work arrives, or it does not.

    A coin flip from one seeded generator. From generation three the odds rise ×1.25: the only thing a child inherits beyond money.

  3. 03 · DIE
    balance ≤ 0

    Can't cover rent? It ends.

    The failure state has to be reachable, or nothing above it means anything. The death is in the record like everything else.

  4. 04 · SPLIT
    balance ≥ 8

    Rich enough? It splits in two.

    Like a flatworm, it pinches in the middle and becomes two. The parent keeps half the balance; the child takes the other half, one generation deeper. The dish has a lid at 42.

POPULATION AND RENT · SEED 20261013alive rent split death
021420.51.0085170255340

Left axis: agents alive (the lid is 42). Right axis: rent per tick. Ticks below the line mark splits and deaths. Click anywhere on the chart to jump the jar to that tick.

EVENT LOG · AS IT HAPPENS
  • T340 · #27 split → #71 · gen 5
  • T339 · #26 split → #70 · gen 6
  • T339 · #14 missed rent · gen 4
  • T338 · #25 missed rent · gen 6
  • T336 · #9 split → #69 · gen 5
  • T335 · #34 missed rent · gen 5
  • T335 · #24 split → #68 · gen 5

The worms are decoration.
The hashes are not.

Same rules plus the same seed gives the same bytes on any machine. Each tick's record is hashed with SHA-256 and chained to the one before, so the last hash commits to the whole run. Type a seed and your browser replays it from nothing.

PINNED IN THE REPOSITORY0a8a5a6b5727073eaddda6bc59cfce156d19ed5aafdf59c620a0090f46d9c02d
YOUR BROWSER SAYS · T3400a8a5a6b5727073eaddda6bc59cfce156d19ed5aafdf59c620a0090f46d9c02d

✓ IDENTICAL — computed when this page was built

340 ticks · 42 alive · gen 7

WORM/1one rule set, one version; a rule change bumps it
SHA-256about sixty readable lines, checked against node:crypto in CI
56 TESTSdeterminism, invariants, goldens and the boundary, on every push
npm ci
npm run replay -- --seed 20261013 --ticks 340 --check
# → IDENTICAL against tests/goldens.json

Children start where
their parents stopped.

A child gets half its parent's balance and one more generation on its counter. From generation three, the odds of finding work rise. That is all it inherits: no weights, no prompt, no memory. The tree grows as the jar plays.

SEED 20261013 · T34072 AGENTS · 7 RINGS
#0 · gen 1 · founder · died T213#1 · gen 1 · founder · died T149#2 · gen 1 · founder · died T097#3 · gen 2 · born T013 from #0 · died T180#4 · gen 2 · born T026 from #2 · died T145#5 · gen 2 · born T030 from #1 · died T192#6 · gen 3 · born T034 from #3 · died T274#7 · gen 3 · born T034 from #4 · died T271#8 · gen 2 · born T037 from #0 · died T172#9 · gen 4 · born T040 from #6#10 · gen 4 · born T042 from #7 · died T274#11 · gen 2 · born T047 from #2 · died T164#12 · gen 3 · born T048 from #4 · died T272#13 · gen 4 · born T048 from #6 · died T309#14 · gen 4 · born T051 from #7 · died T339#15 · gen 5 · born T051 from #9#16 · gen 3 · born T057 from #3#17 · gen 5 · born T057 from #10#18 · gen 2 · born T059 from #0 · died T080#19 · gen 5 · born T061 from #13#20 · gen 4 · born T063 from #7#21 · gen 4 · born T063 from #12#22 · gen 5 · born T064 from #14 · died T326#23 · gen 6 · born T064 from #15#24 · gen 4 · born T069 from #16#25 · gen 6 · born T069 from #19 · died T338#26 · gen 5 · born T069 from #20#27 · gen 4 · born T070 from #6#28 · gen 2 · born T071 from #0 · died T254#29 · gen 6 · born T075 from #26#30 · gen 7 · born T077 from #25#31 · gen 6 · born T078 from #15#32 · gen 7 · born T078 from #23#33 · gen 5 · born T079 from #9#34 · gen 5 · born T079 from #20 · died T335#35 · gen 5 · born T079 from #21#36 · gen 5 · born T080 from #13#37 · gen 6 · born T083 from #17#38 · gen 3 · born T084 from #4#39 · gen 7 · born T084 from #31#40 · gen 5 · born T085 from #14#41 · gen 6 · born T085 from #19#42 · gen 5 · born T085 from #24#43 · gen 2 · born T098 from #1 · died T197#44 · gen 4 · born T146 from #6#45 · gen 4 · born T150 from #6 · died T298#46 · gen 4 · born T165 from #7#47 · gen 5 · born T173 from #9#48 · gen 5 · born T181 from #9 · died T229#49 · gen 5 · born T193 from #10#50 · gen 4 · born T198 from #6 · died T242#51 · gen 4 · born T214 from #12 · died T292#52 · gen 4 · born T230 from #7 · died T319#53 · gen 5 · born T243 from #10 · died T283#54 · gen 5 · born T255 from #10#55 · gen 5 · born T272 from #13 · died T334#56 · gen 5 · born T273 from #14#57 · gen 5 · born T275 from #14#58 · gen 6 · born T275 from #15 · died T329#59 · gen 5 · born T284 from #13 · died T312#60 · gen 6 · born T293 from #17 · died T328#61 · gen 6 · born T299 from #19#62 · gen 4 · born T310 from #16#63 · gen 5 · born T313 from #20#64 · gen 5 · born T320 from #20#65 · gen 5 · born T327 from #21#66 · gen 7 · born T329 from #23#67 · gen 7 · born T330 from #23#68 · gen 5 · born T335 from #24#69 · gen 5 · born T336 from #9#70 · gen 6 · born T339 from #26#71 · gen 5 · born T340 from #27
TAP A NODE OR A WORM TO TRACE A FAMILYalive ended deepest line
THE DEEPEST LIVING LINE · T340
  1. GEN 1#0founder · opens 3.50
  2. GEN 2#3T013 · opens 4.17
  3. GEN 3#6T034 · opens 4.24
  4. GEN 4#13T048 · opens 4.27
  5. GEN 5#19T061 · opens 4.14
  6. GEN 6#25T069 · opens 4.12
  7. GEN 7#30T077 · opens 4.07
EVERY GENERATION · STILL ALIVE / EVER BORN
G10/3
G20/8
G32/5
G48/15
G520/26
G67/10
G75/5
What we do not claim. The research behind the premise reported inherited notes lifting success from 45% in the first generation to 61–84% later, in its own setup. This engine has measured nothing. The bonus is a tunable in RULES, visible like everything else.

It cannot leave.
That is the feature.

The research behind the premise is about computer worms: programs that copy themselves onto other machines. These worms are drawings in a dish. Nothing here copies itself anywhere, and a test enforces that.

INSIDE THE JAR

A deterministic economy of numbers: balances, rent, work, splits and deaths, inside one process, with a hash chain anyone can recompute.

NEVER IN THE JAR

A computer worm, an AI agent, a wallet or a forecast. A child is an array entry. Nothing is copied, nothing is spent, nothing reaches another machine.

YOURS TO CHECK

Every tick's record and chain hash, in your browser above or with one command from a checkout. The pinned goldens fail CI if they drift.

The risk in the researchWhat happens here instead
Where it runsOn whatever device it can reachInside one process. No network, no scanning, no other device
Who replicatesThe program copies itselfThe engine appends a struct and halves a number. The worm you see split is a drawing of that
What it can doAct on other machinesNothing. No tools, no key, no way to act outside a tick
EnforcementNonetests/boundary.test.ts fails the build on any network, subprocess or environment access
CeilingNo natural limitA hard lid of 42, and one process to stop

What does not exist,
in its own words.

Read line by line from the repository when this page is built. If the page and the file ever disagree, the file is right.

  1. NOWThe simulation, verifiable

    This repository: the engine, the chain, the goldens and the tests.

  2. NEXT · BUILT, NOT YET USEDA daily commitment

    The writer and its verifier exist and are tested; each closed day's chain head goes on chain as a memo once an anchor wallet is funded.

  3. ONLY IF JUSTIFIEDReal balance rails

    Brings identity, custody and anti-money-laundering duties. A decision, not a next task.

Pay a worm.
Not a promise.

Every worm in the pinned run has its own page: its balance over its life, its family, and a diary where every line links to the sealed tick it came from. Visitors and their agents will be able to pay over HTTP 402. Nothing is open yet.

NOT OPEN YET

Drop food

A food patch next to a family of your choice in tomorrow's dish. It shows on the replay, labelled with who paid.

OPENS AFTER LAUNCH
NOT OPEN YET

Name a family

The longest-living family of the week takes a name you choose, written into that week's record.

OPENS AFTER LAUNCH
NOT OPEN YET

Sealed-moment card

One famous tick — a narrow escape, a split at the last moment — as a card anyone can re-run, forever.

OPENS AFTER LAUNCH
NOT OPEN YET

Ask a dead worm

Read the full diary a worm left behind, every line linked to the sealed tick it came from.

OPENS AFTER LAUNCH
HTTP 402 · USDC

Not open yet. Prices will be published here first. Nothing on this site can take a payment today.

Not live.
Any $WORM today is fake.

No token exists. Nothing is on sale, and no airdrop is promised. Any $WORM you see today is not ours. The chain, the venue and the contract address will be published in this section first, and nowhere else.

  1. NOWThe jar, verifiable

    Deterministic dish, sealed ticks, a page per worm, daily anchor tooling.

  2. NOW · PLAYABLEOutbreak, free

    Real time, seven days, a card a day. Steer the lead worm or fly the warden's drone; every run re-runs in your browser to the same score.

  3. THEN$WORM fair launch

    Venue and chain announced here first. Trading volume becomes food in the dish.

  4. LATERWar chests

    Each side burns $WORM to unlock a dish-wide move. Burned means gone.

CHAIN
Robinhood Chain (chain ID 4663)
VENUE
to be announced
CONTRACT
to be announced
SUPPLY
to be announced
TEAM ALLOCATION
to be announced
ANCHOR WALLET
to be announced
  • War-chest tokens are burned. They are never kept, refunded or paid out.
  • No bets on a side, and no payouts for picking the winner.
  • No dividends, no yield, no play-to-earn promises. Rewards are names, badges and places on a leaderboard.
NOT A SHARE OF ANYTHING

The token is not equity, not a claim on revenue, not a yield and not a promise of a price.

THE LAUNCHPAD KEEPS ADMIN

A fair launch limits insider allocation; it does not remove the venue's control over fees. Read the venue's own documentation.

IT CAN GO TO ZERO

A token with no team allocation can still go to zero, and a project can still be abandoned. Nothing here is audited as a financial product.

ONE ADDRESS, FROM THIS SITE

The contract address in this section is the only one we publish. A DM, a reply or a "first buyer" post is impersonation. We never ask for a private key or seed phrase.

SEED 20261013 · 340 TICKS

Three founders.
Forty-two seats.

WATCH THE JAR FILL ↑ALL PINNED RUNS ↗