DOCUMENTATION · V1 · ROBINHOOD CHAIN 4663

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

1,000shares
70 / 30holders / treasury
597Kparameters
100 %on-chain art

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.

A share minted after a revenue deposit cannot claim that earlier deposit. Every mint snapshots the vault's accumulator, so the vault can never owe more than it holds.

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.

itemvalue
Weightsneuro-v0.onnx (ONNX, opset 17)
Weights hash (keccak256)0xe2c2c4207c4dfd896d2b14ebf0c70283f78e0f5630e4d163b85385541cad36a7
Metricsmetrics.json · rank IC 0.15 at 15 min on the test split
RegistryModelRegistry 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

methodpathdescription
GET/healthstatus, served weights hash, signer address, current auth message
GET/modelmodel card (config, features, hashes)
POST/predictprediction 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.

contractroleaddress
NeuroSharesERC-721, 1,000 shares, mint0x6F2C9Ab1814f4611871cfF45774696F608A68aE2
RevenueVaultETH and $NEUR0 pro-rata claims0xD238bF738AC87959e510A20f5CAFC05B87E96eca
ModelRegistryversioned weight and metrics hashes0x6f58E8CD99555e73858B032A3301E37Ba5aE24f5
ContributionRewardsMerkle epochs paid in $NEUR00xF0A1002D042C0D82c3C6ff3A98c05df9568ae6C2
NeuroAPIpay-per-call credits, revenue split0xc22E7A0b0e74Fc611b6677842fcCdAf56a28D400
NeuroArton-chain SVG renderer0x20Ed3bB44b720ab50e9Bf5AF9FB882F35FB45bAe

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

MINT A SHARE OPEN THE STUDIO REPOSITORY