How NEUR0 works
NEUR0 is one deep model trained on Robinhood Chain, owned by 1,000 on-chain shares, fed by paid contributors and sold as a signed API whose revenue flows back to the shares. This page is the reference: what each piece does, how to use it, and what to expect.
Overview
Four loops feed each other. Own: mint a share, it is 1/1,000 of every ETH and $NEUR0 the vault receives. Feed: contribute data, labels or compute and get paid in $NEUR0 by leave-one-out scoring. Train: the model retrains and each version's weight hash goes on-chain. Earn: API credits are bought in ETH or $NEUR0, 70 % goes to the vault, 30 % to the treasury that funds the next epoch.
Shares
NEUR0 Shares are ERC-721 tokens (contract NeuroShares, symbol NSHARE). Supply is capped at 1,000: 100 minted to the treasury at deployment, 900 sold publicly at a fixed price (0.0021 ETH, about $5, adjustable by the owner). Up to 10 per transaction, the exact amount in ETH is required, proceeds go straight to the treasury.
Ids are sequential from 1. The art is an activation map generated by the NeuroArt contract from the token id alone: seven palettes, three LED shapes, three flows, 3 to 7 activation centres and a rare signal row. tokenURI returns base64 JSON with the SVG embedded; nothing is hosted off-chain. The gallery renders the same algorithm in the browser and shows rarity.
Revenue vault
The RevenueVault receives ETH (direct transfers) and whitelisted ERC-20s ($NEUR0 once linked). Each deposit raises an accumulator per asset by amount / totalSupply. A share's claimable amount is the accumulator minus its debt; claiming pays the share's current owner. Sell a share and the unclaimed balance travels with it. There is no lockup and no expiry.
Claim from the Studio (one transaction for all your shares) or directly: claim(asset, tokenIds[]) with asset = 0x0 for ETH.
The model
NEUR0 v0 is a pre-norm Transformer encoder: 4 layers, d_model 128, 4 heads, attention pooling, a regression head (log return at 5, 15 and 60 minutes) and a direction head. Input: 120 one-minute candles with seven features (log return, realised volatility, volume z-score, trade count, buy ratio, time since launch, high-low range). Trained on real Robinhood Chain data: 286 Pons launches, 21,000 swaps.
| item | value |
|---|---|
| Weights | neuro-v0.onnx (ONNX, opset 17) |
| Weights hash (keccak256) | 0xe2c2c4207c4dfd896d2b14ebf0c70283f78e0f5630e4d163b85385541cad36a7 |
| Metrics | metrics.json · rank IC 0.15 at 15 min on the test split |
| Registry | ModelRegistry version 0, published by the curator |
Honesty note: on minute data dominated by flat candles, directional accuracy is a misleading metric, so we report rank information coefficient. v0 is a starting point; its value comes from what contributors add.
Verification: download the ONNX file, hash it with keccak256, compare with ModelRegistry.versions(n). The API includes the hash of the weights it serves in every response.
API
Base URL https://api.neur0.xyz. Predictions are paid with credits bought on-chain from the NeuroAPI contract (ETH or $NEUR0). The server reads your credit balance on-chain and counts usage.
Authentication
Sign the message neuro-api:<unix_hour> (EIP-191 personal_sign) with the wallet that holds the credits, where unix_hour = floor(now / 3600). The current and previous hour are accepted. Send the address and signature as headers.
Endpoints
| method | path | description |
|---|---|---|
| GET | /health | status, served weights hash, signer address, current auth message |
| GET | /model | model card (config, features, hashes) |
| POST | /predict | prediction for a pool or for candles you provide (1 credit) |
Example
HOUR=$(( $(date +%s) / 3600 ))
SIG=$(cast wallet sign --private-key $PK "neuro-api:$HOUR")
curl -s https://api.neur0.xyz/predict \
-H "Content-Type: application/json" \
-H "X-Neuro-Address: 0xYourAddress" \
-H "X-Neuro-Signature: $SIG" \
-d '{"pool": "0xPoolAddressOnRobinhoodChain"}'
Or send your own candles: {"candles": [[ts, open, high, low, close, volume, trades, buy_ratio], ...]} (at least 120 rows). The response carries prediction (returns and up-probabilities at 5, 15, 60 minutes), modelWeightsHash, requestHash, outputHash and a signature by the api-signer over keccak256(abi.encode(modelWeightsHash, requestHash, outputHash)), so a third party can verify which weights produced which output.
Credits
Buy from the Studio or call NeuroAPI.buyCreditsETH() (default 0.0001 ETH per credit) or buyCreditsToken(amount) (1,000 $NEUR0 per credit, after approving the contract). 70 % of each purchase goes to the RevenueVault, 30 % to the treasury.
Token
$NEUR0 is created on Pons V2 and trades in a locked Uniswap V3 pool against WETH on Robinhood Chain. Fixed supply of one billion, no mint function, 1 % pool fee split 70 % creator / 30 % protocol. Its roles: contributor rewards, API credit payments, and vault distributions to share holders. After the Pons launch the token is linked to NeuroAPI, RevenueVault and ContributionRewards; the address is published here and in config.js.
Contracts
Robinhood Chain mainnet, chain id 4663, all source-verified on Blockscout. Solidity 0.8.26, OpenZeppelin v5, MIT.
| contract | role | address |
|---|---|---|
| NeuroShares | ERC-721, 1,000 shares, mint | 0x6F2C9Ab1814f4611871cfF45774696F608A68aE2 |
| RevenueVault | ETH and $NEUR0 pro-rata claims | 0xD238bF738AC87959e510A20f5CAFC05B87E96eca |
| ModelRegistry | versioned weight and metrics hashes | 0x6f58E8CD99555e73858B032A3301E37Ba5aE24f5 |
| ContributionRewards | Merkle epochs paid in $NEUR0 | 0xF0A1002D042C0D82c3C6ff3A98c05df9568ae6C2 |
| NeuroAPI | pay-per-call credits, revenue split | 0xc22E7A0b0e74Fc611b6677842fcCdAf56a28D400 |
| NeuroArt | on-chain SVG renderer | 0x20Ed3bB44b720ab50e9Bf5AF9FB882F35FB45bAe |
Admin: a single owner/curator key (the deployer) can open or close the sale, set the mint price, publish model versions, post reward epochs and set the token address once. Ownership transfers use a two-step pattern. There is no upgradeability and no way to mint beyond 1,000 shares.
Network for wallets: RPC https://rpc.mainnet.chain.robinhood.com, chain id 4663, symbol ETH, explorer robinhoodchain.blockscout.com. The site adds it automatically when you connect.
Contribute
Data, labels or compute, scored each epoch by leave-one-out validation and paid in $NEUR0 through Merkle claims. Formats, scoring formula and rules are in the contributor guide.
FAQ
Why are 100 shares already minted?
They are the treasury reserve defined in the spec, minted at deployment. They earn like any share; that revenue funds retraining and epochs.
Is the mint price fixed?
It is fixed in ETH by the contract (0.0021 ETH) and can be adjusted by the owner to track roughly $5. The page always shows the live on-chain price.
Can I see my share before minting?
Yes. Ids are sequential, so the mint page renders the exact art of the next ids. If someone mints before you, you get the following ids.
Where is the art stored?
Nowhere: it is computed by the NeuroArt contract from the token id every time tokenURI is called. The site runs the identical algorithm locally.
How do I claim revenue?
Studio → Claim ETH / Claim $NEUR0. One transaction claims for all your shares. Unclaimed amounts never expire.
Is the API output financial advice?
No. It is a model output with published metrics and a signature; use it as one signal among others, at your own risk.
Risks
- The model can be wrong; v0 metrics are modest and published.
- Smart contracts are verified but not audited by a third party.
- A single admin key controls sale, prices and publications until governance is handed to holders.
- $NEUR0 is a launchpad token: volatile, with the usual liquidity and market risks.
- Stock Tokens on Robinhood Chain are not available in every jurisdiction; check your local rules.