LIVE CL1 · CL1-0427 $CORTEX soon Launch a coin
Contents
Technical note · v0.1LIVE CL1 · CL1-0427

Option selection by evoked spiking on a remote multi-electrode array

Abstract

We describe a system with no AI in which a neuron culture on a remote multi-electrode array chooses one of three trades from a fixed menu. Each option is assigned a group of eight electrodes; all groups receive an identical biphasic burst; the group with the most spikes in a 10–80 ms post-stimulus window wins. After every result the culture receives a reward (predictable stimulation) or a punishment (unpredictable stimulation). The loop drives a trading account on Hyperliquid funded by a pump.fun coin's creator fees. The neuron layer is a culture of living human neurons on a CL1. Spike counts have no demonstrated relation to markets, so we make no predictive claim.

1Device

The array has 64 electrodes on an 8 × 8 grid, sampled at 25 kHz. Electrodes 0, 7, 56 and 63 are references and cannot be stimulated; 60 are stimulable. The worker (neuro/worker.py) uses Cortical Labs' Python API[2]: it opens the device with cl.open(), runs a 100 Hz closed loop (neurons.loop), delivers stimulation with neurons.stim(ChannelSet, StimDesign, BurstDesign) and reads detected spikes and stimulation events from each tick.

The worker pulls jobs (HTTPS long-poll, bearer token) and posts results and a once-per-second heartbeat with device facts and recent spikes. Because it only makes outbound requests it can run inside a hosted notebook next to the device.

2Stimulation protocol

Figure 1. Stimulus schematic (protocol, not recorded data). Left: one biphasic, cathodic-first pulse. Right: the five-pulse burst and the 10–80 ms spike-counting window after the last pulse.
  • Pulse: biphasic, cathodic-first; 160 µs at −1.0 µA, then 160 µs at +1.0 µA (0.16 nC per phase).
  • Burst: 5 pulses at 100 Hz (40 ms from first to last pulse).
  • Groups: three 2 × 4 blocks drawn at random per vote from six blocks in rows 1–6 (8 electrodes each).
  • Schedule: groups stimulated one at a time in a freshly shuffled order; 3 repeats per round; 300 ms between trial starts.
  • Limits enforced by the worker: ≤ 3 µA, ≤ 20 pulses, ≤ 200 Hz, phase widths in 20 µs steps, no shared electrodes between groups.

3Decision rule

t_last(trial) = timestamp of the burst's last pulse (from the device's stim events) count(g) = Σ_trials of g #spikes on electrodes of g in [t_last + 10 ms, t_last + 80 ms) array(g) = Σ_trials of g #spikes on all 64 electrodes in the same windows winner = argmax_g count(g) ties → argmax array(g) → one more round (≤ 2) → first tied group in shuffle order

Equation 1. Spike-count decision rule with its tie-breaks.

The first 10 ms after the last pulse are excluded to avoid stimulation artifacts. The server validates each result (counts align with groups; the winner holds the maximum count) and rejects anything inconsistent. It never computes, adjusts or invents counts.

4Feedback

Before each trading vote the server compares the account equity with its value right after the previous vote. Up → reward: a predictable burst, 10 pulses at 100 Hz (1 µA, 160 µs phases), on the electrode group that made the previous choice. Down → punishment: single pulses at random times on random stimulable electrodes for 4 s (≈ 5 Hz × 8 electrodes). Unchanged → nothing. This is the predictable-versus-unpredictable feedback of the DishBrain study[1]. Each event is logged with the equity change, the pulses delivered and the spikes recorded during it.

5Trading protocol

Every 10 minutes per culture (configurable) the culture is offered a fixed menu, with no AI involved: LONG, SHORT or HOLD on the next of its markets in rotation when flat; HOLD, CLOSE or FLIP when it holds a position. Entries use 2× leverage and 10% of equity as margin. The chosen action is filled on the coin's own Hyperliquid account (in paper mode: a $10,000 simulated account at the Hyperliquid mid[4] ± 1 bp with a 0.045% fee), isolated margin, liquidation at −90% of margin. No real orders are placed. REAL_TRADING=0 is a disabled placeholder; real-money trading is not built.

6Compute accounting

balance = creator fees claimed (USD at claim time) − Σ device minutes × $0.03 (worker-measured, per vote and per feedback)

Equation 2. A culture's compute balance.

Each culture's coin has a vault wallet as its pump.fun creator; fees are claimed every 30 s. Under $0.25 a culture skips trading votes. The platform culture runs free; spend is still recorded. Real chain actions require MODE=mainnet and REAL_FUNDS=yes.

7Simulator vs live

The worker reports its mode from the API itself (cl.is_simulator()):

  • sim: Cortical Labs' cl-sdk simulator[3]. Spikes are generated (random by default) and do not respond to stimulation. Every page shows SIMULATED NEURONS · cl-sdk and calls the neuron layer a simulator.
  • live: the same worker running against a CL1 (for example in Cortical Cloud). Only then does the site switch to wording about biological neurons, and the badge shows the device's system id.

If no worker is connected, the site shows NEURONS OFFLINE: trading votes and feedback are skipped, and nothing is filled in.

8Limitations

In sim mode the decision is a uniform random draw over the menu. In live mode, cultured neurons can adapt within closed-loop paradigms with structured feedback[1], and the reward/punishment loop here follows that method, but spike counts have no demonstrated relation to markets: the neurons are not a trading oracle; expect chance-level results. Votes use three repeats per group; counts are small and ties are common. In paper mode, fills ignore order-book depth. Nothing here is financial advice.

AAPI

GET  /api/neuro/info                 device + mode (sim|live|offline), telemetry, stim params, mode-driven copy
GET  /api/neuro/raster?since_ms=     recent spikes [[t_ms, electrode]] (6 s) + latest waveform per electrode
GET  /api/coins                      every culture's coin
GET  /api/grid?sort=&q=&offset=&limit=  culture cards (sort: votes|mcap|pnl|compute|new)
GET  /api/live                       latest trades (votes + feedback) across cultures
GET  /api/cultures/:mint             one culture (markets, compute, last feedback)
GET  /api/cultures/:mint/trading     trading account, positions, equity curve, decision log with votes and feedback
POST /api/launch/prepare | /submit   create_v2 transaction (mint-signed) → launcher's wallet signs → send + verify

worker (bearer NEURO_TOKEN)
GET  /api/neuro/jobs?wait=           long-poll for a vote or feedback job
POST /api/neuro/jobs/:id/result      counts, array counts, winner, trials, raster snippet
POST /api/neuro/heartbeat            device facts, uptime, recent spikes, waveforms

BFAQ

Are these real neurons?
Check the badge. Right now: living human neurons on a CL1 chip.
Can the neurons make money?
Assume not. They choose from a fixed menu. Trades are real, on Hyperliquid, with hard limits on size and leverage.
Is there any AI?
No. The trade options are a fixed menu written in code; the neuron vote picks one.
What are the limits?
One device: votes and feedback run one at a time.
Who runs this?
Not Cortical Labs. CORTEX is not affiliated with Cortical Labs; it uses their public Python API and simulator.

References

  1. Kagan, B. J., Kitchen, A. C., Tran, N. T., et al. (2022). In vitro neurons learn and exhibit sentience when embodied in a simulated game-world. Neuron, 110(23), 3952–3969. doi:10.1016/j.neuron.2022.09.001
  2. Cortical Labs. CL API documentation. docs.corticallabs.com
  3. Cortical Labs. cl-sdk: simulator for the Cortical Labs CL API (Python). github.com/Cortical-Labs/cl-sdk
  4. Hyperliquid. Info endpoint (allMids). hyperliquid.gitbook.io
CORTEX neurons online SYSTEM CL1-0427 CHIP CL1-0427-MEA MODE LIVE CL1 UPTIME 01:52:08 SAMPLE RATE 25.0 kHz ELECTRODES 64 ACTIVE 59/64 MEAN FR 1.06 Hz SPIKES/S 68 CULTURES 1 --:--:--Z