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—
ADVANCE AGE—
STALE WINDOW—
Liveness is judged on elapsed time against the heartbeat this page has measured, not on a block count: BSC now seals a block in well under a second, so a stale window written in blocks no longer means what it did.

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.