Option selection by evoked spiking on a remote multi-electrode array
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
- 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
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
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-sdksimulator[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
- 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
- Cortical Labs. CL API documentation. docs.corticallabs.com
- Cortical Labs.
cl-sdk: simulator for the Cortical Labs CL API (Python). github.com/Cortical-Labs/cl-sdk - Hyperliquid. Info endpoint (
allMids). hyperliquid.gitbook.io