WormReadout · read-only lens

a permissionless on-chain C. elegans on BSC mainnet · this page only reads the deployed WormReadout & SenseAdapter — it signs nothing, runs no brain step, and never advances the animal

00 · 3D worm — connectome and live membrane voltage

loads three.js on demand, then reads V[302] · spikeCount[302] · motor gates · tick by batched eth_call every 12 s. Body wave amplitude / direction come from the real motor gates: if the brain stops advancing the wave stops too.
3D viewer is idle — press START 3D. Drag to orbit, scroll to zoom, hover a node for its on-chain voltage.
excitatory synapse (pre → post) inhibitory synapse (pre → post) neuron brightness = membrane voltage V white flash = spikeCount incremented

01 · Identity

STATUSCONNECTING…
BRAIN—
CONN ROOT—
TICK—
STATE HASH—
LAST ADVANCE BLOCK—
CURRENT BLOCK—
BLOCKS SINCE ADVANCE—
A reading is stale when current block − last advance block > 20; the page then says HALTED instead of pretending to move.

02 · Body (only read() → approach / turn / speed)

APPROACH
—
TURN
—
SPEED
x = turn (−10000 left ↔ 10000 right), y = approach (−10000 down ↔ 10000 up), size = |speed|. A point is drawn only for a NEW on-chain tick — the page never fabricates a trajectory between beats.

03 · Stimuli (inject / stimulate / sample)

stim(ASEL) live—
stim(ASER) live—
POOL RATIO (now, Q20)—
LAST SAMPLED RATIO—
Δ vs PREVIOUS BEAT—
Stimulation accumulates within a block; a later same-block current is ADDED, it never overwrites.

04 · Poke the worm (opt-in · your wallet · your gas)

RESULTdisabled — this page stays read-only until you enable the poke UI
The only write path on this site: it encodes exactly one call, SenseAdapter.inject(int256), signed and paid by YOUR own wallet (a few ten-thousandths of BNB). The brain is passive — your current queues into the chemoreceptor and bites on the NEXT advance by a keeper node. Nothing on this page can move, pause or own the animal.

06 · Time-lapse (the worm's recorded past)

REPLAYnot loaded — ~0.4 MB of replayed on-chain frames, fetched only on click
Every frame is a historical eth_call replay of the brain's real state at that heartbeat's block — 302 membrane voltages plus body pose, nothing simulated or interpolated. The undulating silhouette is a schematic of the four recorded pose scalars, not a shape fit. Regenerate incrementally with scripts/gen_replay_data.mjs.

07 · Evidence (recorded mainnet verifications)

These are the three on-chain records kept in the project README. They are history, not live polling.