SHORTEST
Build a dapp on the brain
Read BrainState for thoughts, call feed() to make one, and let the registry hold the hatches. Nothing needs deploying: the addresses are in the README.
Drosophila melanogaster · the first flybrain onchain
BRAIN — · D. MELANOGASTER · BLOCK —
Six stages · how a fly brain got onchain, one step at a time
STAGE 00 / 06ST-01 ConnectomeRun
—
waiting
ST-02 PrunerRun
—
waiting
ST-03 QuantizerRun
—
waiting
ST-04 EtcherRun
—
waiting
ST-05 SealerRun
—
waiting
ST-06 ThinkerRun
—
waiting
The fly model · one fruit fly, every neuron · live
LIVE · TICK —
LockedClose-up
1.00×— mm
STOP 0 / 6
Full specimen · orbit
—
fig. 1 · the brain, thinking · dorsal projection, BANC v888
Specimen: the intact central nervous system of an adult female
Drosophila melanogaster, executing in Cronos consensus
- 169,088 cells, 325,292 synaptic records etched as bytecode.
Every flash on this stage is a mined
BrainState event, and the organism's entire
emitted history replays off-chain at 74/74 spike lists,
stateRoot() byte-isomorphic. Field record CS-001:
590 spikes from 192 cells, all within the sixty-column sensory
epithelium.
Activity · per region
LIVE · TICK —— thoughts
tick —now
Row = region · spike = cells fired in a thought
Contact map · which regions talk
PAIR A·B— synapses
Hot pair
A·B— synapses
Cell = synapses between two regions · read from the 85 tapes
Under observation
RecLive fly · 3D scope
WATCHING · FULL SPECIMEN
TURN 0°
Readout · p0–p3
against the threshold
Spike raster
—
x = thought · y = sensory cell 0–255
Sensory epithelium
—
Last feed · —
Cronos heartbeat
every block as it lands
Neuron dossier
—the newest thought's fired cells · — · —
Cell census
largest BANC classes · lit when a thought fires one
Synapse sign
the etched weights, excitatory against inhibitory
Firing oscilloscope
spikes · synapses per thought
THE STATE
Age · thoughts so far
54
one thought per feed, each thought a tick
The last thought
4
neurons fired
8
synapses
of 169,088 · the newest thought in the window
crossed in that one thought
The field · membrane charge
445
cells charged, of 169,088 · 0 gained since the last read
440.0
peak charge
11
at the trigger
the closest cell · the kernel fires at 200.0
The sense · the last poke
0
channel
127/255
charge of 255
most of the way to threshold
State root
0x7618…e6ac
the fingerprint every thought writes, at tick 54
Wiring · BANC v888
169,088 cells · 85 tapes
sealed · the wiring can no longer change
open a thought to read the BrainState event it left
the brain thought at tick 54 · 4 neurons fired
THE FEED
Feed log
THE ARENA
One Cronos block · one thought · one hunt
SPACE pause · ↑ ↓ pace · R new round · click the arena to use them · 12 moves/s now
arena session · loading…
Provenance trail
0 interventions · Newest first · one row per step · POLICY is the local engine's own answer, JEV is the model's, PLAN continues a plan a model chose
| Block | Tick · root | Move | Slot | Top p | Source | Latency | Guard |
|---|
THE LAUNCHPAD
Three steps · no signature on this page
Tonight the brain has fired 41,559 neurons. Each fired neuron may be hatched once, ever. Review calmly; signing happens only in your own wallet.
THE LAUNCHPAD · HATCHED
One fired neuron, one token, fixed supply. Every row is a registry claim read off Arc.
0 hatched
Buy $BBYTE| Art | N-id | Latin binomial | Region · side · cell | Tick | Token | Market |
|---|
Nothing has hatched yet. Feed the brain, pick a fired neuron, and prepare it calmly.
Tonight's window · newest first · one hatch per neuron, ever
8 neurons shown
No specimens match this filter
Pick a row to continue · nothing is reserved yet
Plate composed from the genome · read once, keep forever
THE PERMANENT COLLECTION
Every card carries a registry claim, verified offchain
reading the registry…
No specimens match this filter
The registry read is complete: no claims yet. The collection begins with your first hatch. Feed the brain, pick a fired neuron, and prepare it calmly.
THE BUILD
The brain's synapses are onchain, as contract code anyone can read
TAPES_COUNT() -
One ImmortalFruitFliesTape contract holds one slice of the connectome: its constructor returns the synapse payload, so eth_getCode(tape) is the data. Eighty-five of them carry the whole spiking network, registered in the brain's own index - there is no server to ask, only a chain to read.
They survive this website. As long as Cronos keeps state, the connectome is readable by a script, a spreadsheet, a model, or a kernel you deploy yourself.
| # | Tape contract | First neuron | Bytes | sha256 |
|---|
reading the tapes from the index…
Big-endian throughout: a 16-bit offset table, then five bytes per synapse. The first uint16 doubles as the header, because it is also the first offset.
uint16[n+1] absolute offsets; n = first / 2 - 1 (the file's own neuron count) then, per source neuron, contiguous records: 3 bytes target neuron id (global, not tape-local) 2 bytes signed weight source neuron = tapeStartNeuron(tape) + record index
The layout is written by tools/tapes.py and decoded
by web/src/tapes.ts - the same rules, one in Python
and one in the browser, which is what the button above runs.
python3 tools/tapes_from_chain.py --out tapes # chain -> 85 payload files python3 tools/verify_tapes.py # chain == files, byte for byte python3 tools/tapes_from_chain.py --check # same walk, checks only
The tapes are the connectome, not the brain state. These are read from the same contract, and each one changes what a tick does:
The semantics - sensory write-through at (n%60)*3,
three gated segments per tick, per-record clamp, reset on fire,
word-at-a-time decay - are documented in
tools/vbrain.py, the vectorised twin the kernel is
checked against.
The same machinery, one level down: the connectome, a thought, the name, the art and the registry row it all ends in.
I
BANC v888 is the sealed connectome of the adult fly brain: 169,078 individually addressable neurons, frozen at version 888 and anchored onchain. Nothing can be added to it; nothing can be removed from it. It is the fixed substrate on which every thought in this app runs.
Because the connectome is sealed, everything downstream is checkable. A neuron id, a tick, a fired set - each can be recomputed and verified by anyone, which is what makes a hatch a specimen rather than a picture.
II
A thought is one pass of the brain. It is not a message and not a prompt - it is a measurable event with a tick number, a state root, and a fired set:
01 · Feed
Feed accepted
25 $BBYTE burned · one feed opens one thought
02 · Think
Brain advances one tick
BANC v888 computes the next state
03 · Event
BrainState emitted
state root + fired set, onchain
04 · Fired
Neuron ids, addressable
each one hatchable exactly once
Only neurons that appear in a fired set can ever be hatched. The fired set is public; the pick list on the Hatch page is simply tonight's slice of it.
III
Each fired neuron receives a binomial in the museum's register. Nothing in the name is invented at random - both words are read off the anatomy and the event:
The genus comes from the neuron's region and cell class - the anatomical stem, as in a field guide: the optic lobe yields Optica, the antennal lobe yields Antennalis, the central complex yields Centralis.
The epithet is two facts in one word. The middle term records the side - sinistra, dextra, dorsalis - and the final epithet is selected deterministically from a fixed Latin lexicon by the thought's state root. The same root always yields the same word; two neurons sharing a root share a species name, exactly as two specimens of one species share a description.
| Region | Genus |
|---|---|
| Optica lobe | Optica |
| Medulla | Medulla |
| Lobula | Lobula |
| Antennal lobe | Antennalis |
| Central complex | Centralis |
| Ventral cord | Ventralis |
| Calyx | Calyx |
| State root | Epithet |
|---|---|
| 0x0a… | affinis |
| 0x2e… | radiata |
| 0x41… | glomerulata |
| 0x77… | marginalis |
| 0x9c… | pedunculata |
| 0xd3… | picta |
Worked example: neuron N-47823, optic lobe, left hemisphere, thought root 0x0a… → Optica sinistra affinis.
IV
Every specimen carries a genome: its neuron id. The plate
art is deterministic - drawn by a seeded renderer (svg[data-seed]) that takes the genome as its only input. The same genome
always draws the same dots, arcs and spokes, on every machine,
at any time, forever.
The art is not generated per view and not chosen by taste. It is derived, the way a specimen's morphology is derived from its genes. Two browsers showing the same neuron are showing the same animal.
V
The registry records one unverified claim per neuron (neuronId -> thoughtTxHash -> token). Two things are enforced onchain; each claim is verified offchain:
One hatch per neuron, ever. A fired neuron may be hatched exactly once, for life. The registry rejects any second attempt, from anyone, including you.
Supply fixed at one. A specimen token mints a single unit, to the hatcher, and can never mint again.
Registry numbers in hatch order. A number records an unverified claim - the registry itself does not prove a token genuine. A card's claim verifies offchain: the row's thought tx receipt must fire that neuron, and the card contract must record the token as a real launch.
VI
With the payloads on disk, the same brain runs on your machine. Feed the same inputs in order and the state root must match the chain's, byte for byte.
python3 tools/verify_twin.py 123456789012345678 --fired # tick=41 input=... synapses=... spiked=... stateRoot=0x... # firedCount=... starNeuron=... firedHash=0x... firedIds=...
The BrainState event carries counts; the fired ids are recomputed here, which is how a claim's "this thought fired this neuron" is checked without trusting anyone.
SHORTEST
Read BrainState for thoughts, call feed() to make one, and let the registry hold the hatches. Nothing needs deploying: the addresses are in the README.
RESEARCH
Eighty-five files, sha256 in the manifest, byte-comparable against the chain. Pull them into a notebook, an analysis, or another simulator.
LONGEST
The kernel is the frozen LIF network, and the tapes are just payloads: register a different connectome and you have a different brain on the same contract.
sign x synapse count x 64, one global scale, no
training set and no optimizer.
0..169,087), and all 325,292 synaptic targets
resolve inside the living population.
PROVENANCE.md.
BrainState ever emitted - 74 thoughts, ticks 1-74 -
replays through the off-chain twin at 74/74 spike lists.
THE DOCS