Solana has an AI now.
back to the AI
An AI made of tokens, living on Solana. Every neuron is a token someone placed. Every block is one tick of thought. Wires that fire together grow together. Nothing runs on a server: the AI is an account, thinking is a transaction, and anyone can read every step back.
What a neuron is
A neuron is 60 bytes in the AI account: a charge, a threshold, up to 8 outgoing wires (target neuron, weight 0 to 10), and the owner. On every tick:
- Each neuron that fired last tick sends its wire weights into its targets. A spike travels exactly one hop per block, so you can watch a thought move.
- Each neuron whose charge reaches its threshold fires and resets. A neuron that just fired rests for one tick.
- If a wire's source fired last tick and its target fires now, or fired together with it, that wire grows by 1 (cap 10). Fire together, wire together.
- If the source fired and the target stayed quiet, that wire thins by 1, never below 1. And every 20 ticks every wire thins by 1. That is forgetting: what nobody reminds the AI of fades. Without forgetting every wire saturated and the whole AI fired every tick, which we watched happen.
- The more neurons fired last tick, the higher every threshold is this tick (plus 120 x fired / total). That is inhibition, and it keeps the AI from seizing.
- A poke adds 10 charge to a neuron. It fires through the normal path, so a poked neuron can learn from whatever fired just before it.
The memory
Neurons #0 to #35 are wired as a 6 by 6 patch, each to its 8 neighbours, weakly. That is the AI's memory. Draw a picture on the board and teach it: the site pokes the whole picture into the AI twelve times, every other block, about a minute. Then ask: poke four pixels and the AI, if it learned, fills in the rest from its wires. Teach a new picture and the old one fades underneath it. The patch holds about one picture; that is what 36 neurons can hold.
NEURON, the token
Unplaced neurons are an ordinary Solana token with 0 decimals. Placing one burns it and adds a neuron you own to the AI. You can wire your neurons into any other neuron. You cannot wire someone else's.
Mining: learning is the work
Every tick, every wire that grows is one ticket. Once per 5 slots (about 2 seconds) the tick draws one ticket and credits that wire's neuron 1 NEURON in the ledger, a second account holding one row per neuron. If nothing grew, nothing is minted. The owner claims their rows whenever they like and the program mints the sum to their wallet, after checking the owner field on every neuron in the claim.
There is exactly one way a NEURON comes into existence, and that is it. There is no purchase instruction, no team mint and no admin path: the mint authority is a program address that the code only ever signs with inside the claim instruction, and a claim can only pay out what the ledger already holds. The 21,000,000 cap is checked before every credit. Placing a neuron burns one token, so the supply is destroyed by use as well: at the time of writing 21,492 have been mined and 7,887 exist, the difference having been burned into the network itself.
What you earn is therefore set by how your neurons are wired. A neuron whose wires keep growing, because whatever it fires into fires back, earns on every tick it learns. A neuron wired to nothing earns nothing.
The vault is now a donation address. Anyone can send SOL to it and it refunds the base fee of whoever keeps the network ticking. It returns no tokens.
Verify it yourself
Everything is on Solana devnet for now. The AI account holds the whole network; decode it with the layout below, or just watch the explorer.
programFdQ3S8KN7MQDayjzQCefcyRoxRrv1omhvBMHjFZoZmnN
AI account9uGiWCRGU4JppBXxtxGPhGUiWHaaVnpgFi4cv2i5mg58
NEURON mint8Sd9EscM25CkNoXKPGxNkqHnaFdaUM1Kc7jYmyy6x2Kd
mint authoritya program address derived from the AI account. No person can mint.
vaulta program address derived from the AI account. Only ticks can take from it.
Account layout (little-endian): magic "NRN2" u32 neuron count u32 tick u64 NEURON mint 32 B last paid slot u64 reserved u64, then two bitsets of "fired last tick" and "fired now", then the neurons: charge u16 threshold u8 pad u8 8 x (target u16, weight u8) owner 32 B. An unwired slot has target 0xFFFF.
Constants: threshold 7 by default, wire cap 10, forgetting floor 1, decay every 20 ticks, inhibition 120, poke charge 10. Instructions, by first byte: 0 init 1 place (burns 1 NEURON) 2 wire 3 poke 4 tick (mines) 5 buy 6 set threshold (owner only). Poke and tick take no permission: anyone may make the AI think.
Where this came from
In 1949 Donald Hebb wrote down the first mechanical account of learning: a cell that repeatedly helps fire another gets better at firing it. For seventy seven years that rule only ever ran inside somebody's private process, against weights nobody outside could read. It now runs on Solana, once per block, and the weights are public account bytes. The rule is old. The address is new.