Specs
The key numbers of the Neurai network: how blocks are made, how many coins will ever exist, what each kind of address looks like and how a wallet turns one set of recovery words into keys. Values are taken from the node's chain parameters.
Values that change with the POSITRONIC upgrade are marked. POSITRONIC is active on testnet and regtest only. Mainnet is unchanged and nothing is scheduled for it yet.
At a glance
| Parameter | Value |
|---|---|
| Name · ticker | Neurai · XNA |
| Consensus | Proof of work. KAWPOW on mainnet, mined with consumer GPUs. Double SHA-256 on testnet and regtest |
| Block time | 1 minute. 30 seconds on testnet with POSITRONIC |
| Block weight | 8 MB |
| Initial block reward | 50,000 XNA |
| Reward reduction | 5% every 14,400 blocks, about every 10 days |
| Maximum supply | 21,000,000,000 XNA |
| Decimals | 8 |
| Launch | 2023-04-17 08:40 UTC |
| Code base | Ravencoin, from Bitcoin |
| Native assets | Tokens and unique assets on layer 1, with no contract to deploy |
| Address types | Legacy N… on mainnet. Testnet adds strict ECDSA, post-quantum, contract and private addresses |
| Privacy | Optional privacy pool, testnet only, with test parameters |
Networks
Neurai runs three separate networks. Coins on testnet and regtest have no value and cannot move to mainnet.
| Network | P2P port | RPC port | Address prefix | Purpose |
|---|---|---|---|---|
| Mainnet | 19000 | 19001 | N… | Production |
| Testnet | 19100 | 19101 | t… | Public testing. Reset for POSITRONIC, whose features are active from block 10 |
| Regtest | 19200 | 19201 | t… | Local development on your own machine |
Consensus
Blocks are found by proof of work. The difficulty adjusts on every block, so blocks keep arriving on time whether miners join or leave.
| Parameter | Mainnet | Testnet | Regtest |
|---|---|---|---|
| Proof-of-work hash | KAWPOW (GPU) | Double SHA-256 (CPU) | Double SHA-256 (CPU) |
| Block target | 60 s | 60 s, then 30 s from block 10 | 60 s |
| Difficulty algorithm | Dark Gravity Wave, 180-block window | Same | Same |
| Minimum-difficulty blocks | Not allowed | Allowed after a stalled target | Allowed |
| Subsidy interval | 14,400 blocks | 14,400, then 28,800 blocks from block 10 | 14,400 blocks |
| Maximum reorganization depth | 60 blocks | 60, then 120 blocks from block 10 | 60 blocks |
| Coinbase maturity | 100 blocks | 100 blocks | 100 blocks |
Testnet and regtest use double SHA-256 so that anyone can mine them on a CPU. Mainnet uses KAWPOW, which keeps mining on consumer graphics cards.
Emission schedule
The block reward starts at 50,000 XNA and drops 5% every 14,400 blocks, about every 10 days. After 36 reductions it switches to fixed steps and reaches zero after 383 reductions, about 10.5 years after launch. After that, no new XNA is created.
| Interval | From block | Approx. time | Reward per block |
|---|---|---|---|
| 0 | 0 | launch | 50,000 XNA |
| 1 | 14,400 | 10 days | 47,500 XNA |
| 2 | 28,800 | 20 days | 45,125 XNA |
| … | … | … | 5% less each interval |
| 36 | 518,400 | 1 year | 5,000 XNA fixed |
| 72 | 1,036,800 | 2 years | 4,000 XNA |
| 108 | 1,555,200 | 3 years | 3,000 XNA |
| 144 | 2,073,600 | 4 years | 2,000 XNA |
| 180 | 2,592,000 | 5 years | 1,000 XNA |
| 216 | 3,110,400 | 6 years | 500 XNA |
| 383 | 5,515,200 | 10.5 years | 0 |
Total mined on mainnet at the end of the schedule: about 20,994,000,000 XNA. On testnet, blocks come twice as often, so each block pays half as much and the reward drops every 28,800 blocks. The pace over time and the total stay the same.
Addresses
The first characters of an address tell you its network and its type. Mainnet uses the legacy format today. The other types come with POSITRONIC and work on testnet and regtest.
| Type | Mainnet | Testnet | What it is for |
|---|---|---|---|
| Legacy | N… | t… | Everyday payments. Every Neurai wallet supports it |
| Strict ECDSA | nq1r… | tnq1r… | Classical keys in the new address format |
| Post-quantum | pq1z… | tpq1z… | Keys built to resist quantum computers. See Post-quantum addresses |
| Contract | nc1p… | tnc1p… | Covenants and contracts, such as the privacy pool. Wallets never hand them out |
| Private | nzk1… | tnzk1… | Receiving private XNA inside the privacy pool |
Regtest uses the testnet forms, except private addresses, which start with rnzk1….
- Private payments need a private address. A transparent address cannot receive inside the pool, and sending XNA straight to a contract address does not create a private balance.
- A new private address per payment. Wallets hand out a fresh one each time, and nobody can tell that two of them belong to the same wallet.
- Old contract addresses. Contract addresses used to be written
nq1p…/tnq1p…. That form is no longer accepted. Usenc1p…/tnc1p….
Prefixes for developers
| Encoding | Mainnet | Testnet and regtest |
|---|---|---|
| P2PKH (Base58) | 0x35 (53) → N… | 0x7f (127) → t… |
| P2SH (Base58) | 0x75 (117) | 0xc4 (196) |
| WIF private key | 0x80 (128) | 0xef (239) |
| BIP32 extended public key | 0x0488b21e → xpub | 0x043587cf → tpub |
| BIP32 extended private key | 0x0488ade4 → xprv | 0x04358394 → tprv |
| Post-quantum extended private key | 0x0488ac24 → xpqp | 0x043581d5 → tpqp |
| Bech32m strict ECDSA, witness v3 | nq | tnq |
| Bech32m strict PQ, witness v2 | pq | tpq |
| Bech32m generic AuthScript, witness v1 | nc | tnc |
| Bech32m private receiving address | nzk | tnzk on testnet, rnzk on regtest |
| Message signing magic | Neurai Signed Message:\n | Same |
Keys and recovery
Every Neurai wallet starts from one set of recovery words (BIP39) and an optional passphrase. From them a wallet builds three separate families of keys. Each family is recovered on its own from the same words, and the keys of one family reveal nothing about the others. The words are the single backup for all of them, so keep them safe.
Derivation paths
Classical and post-quantum keys follow numbered paths, like folders inside the wallet. Each use has its own path, so keys for different purposes never collide. m is the root of the classical tree and m_pq the root of the separate post-quantum tree.
| Use | Path | Notes |
|---|---|---|
| Node wallet | m/44'/0'/0'/chain/i mainnet, m/44'/1'/0'/chain/i testnet | Chain 0 receiving, 1 change |
| Hardware wallets | m/44'/1900'/0'/0/i | Coin type 1900, registered for Neurai in SLIP-44 |
| DePIN client identity | m/44'/1900'/100'/0/0 | The identity a wallet uses for DePIN messaging |
| DePIN pool key | m/44'/1900'/200'/0/0 mainnet, m/44'/1'/200'/1/0 testnet, m/44'/1'/200'/0/0 regtest | Key of a DePIN service node. It opens incoming messages and signs every reply |
| Strict ECDSA | m/84'/1900'/0'/chain/i mainnet, m/84'/1'/0'/chain/i testnet | Its own branch, separate from the legacy keys |
| Post-quantum | m_pq/100'/1900'/0'/chain'/i' mainnet, m_pq/100'/1'/0'/chain'/i' testnet | Separate tree (NIP-022). Every step is hardened. No WIF export and no xpub |
| Private pool wallet | No path | Built from the words, an optional ZK passphrase, the family, the account and the pool. See Private wallets |
A private pool wallet comes in three families, legacy, ecdsa and pq, and each family is a separate private wallet. The family only keeps wallets apart: it does not make the pool post-quantum.
What to back up
| Wallet | What you need to restore it |
|---|---|
| Legacy, strict ECDSA and post-quantum | The recovery words, plus the BIP39 passphrase if you set one |
| Private pool wallet | The words and the BIP39 passphrase, the ZK passphrase if you set one, the family, the account and the pool. Your notes are stored on chain, so nothing else is needed. The words do not record which pools you used, so write that down |
| Private wallet created at random | Its encrypted wallet file and that file's password |
| DePIN service node | The service wallet. A new wallet means a new pool key, and clients that pinned the old one will warn their users |
A wrong ZK passphrase shows no error. It opens a different private wallet, usually empty. A forgotten ZK passphrase cannot be recovered.
Genesis
| Field | Value |
|---|---|
| Timestamp | 1681720840 (2023-04-17 08:40:40 UTC) |
| Message | Fortune 16/April/2023 Elon Musk agrees A.I. will hit people like an asteroid |
| Reward | 50,000 XNA |
Raw parameters (plain text)
Network Name: Neurai
Network Abbreviation: XNA
Mining Algorithm: KAWPOW Proof-of-work (testnet/regtest: double SHA-256)
Difficulty: Dark Gravity Wave, 180-block window
Block Time: 1 minute (testnet: 30 seconds from block 10)
Block Weight: 8 MB
Block Reward Schedule: 50,000 XNA per block
Block Reward Reduction: 5% every 14,400 blocks (~10 days)
Maximum Supply: 21,000,000,000 XNA
Decimal Places: 8
Launch Date: 2023-04-17 08:40 UTC
Genesis: Fortune 16/April/2023 Elon Musk agrees A.I. will hit people like an asteroid
Main Network: 19000
Main RPC: 19001
Testnet Network: 19100
Testnet RPC: 19101
Regtest Network: 19200
Regtest RPC: 19201
MAIN NETWORK
BIP32 Derivation Path: m/44'/0'/0'/0
BIP32 private: 0x0488ade4
BIP32 public: 0x0488b21e
PQ extended private: 0x0488ac24
Bech32m HRP: nq (strict ECDSA v3), pq (strict PQ v2), nc (generic AuthScript v1), nzk (private receiving)
private: 0x80
public: 0x35
scripthash: 0x75
Hardware wallets (OneKey): m/44'/1900'/0'/0
DePIN client: m/44'/1900'/100'/0
DePIN pool key: m/44'/1900'/200'/0
Strict ECDSA: m/84'/1900'/0'/0
Post-quantum: m_pq/100'/1900'/0'/0'
Private pool wallets: NeuraiZK/v2, no BIP32 path
TESTNET / REGTEST
BIP32 Derivation Path: m/44'/1'/0'/0
BIP32 private: 0x04358394
BIP32 public: 0x043587cf
PQ extended private: 0x043581d5
Bech32m HRP: tnq (strict ECDSA v3), tpq (strict PQ v2), tnc (generic AuthScript v1), tnzk (private receiving, regtest: rnzk)
private: 0xef
public: 0x7f
scripthash: 0xc4
DePIN pool key: m/44'/1'/200'/1 (regtest: m/44'/1'/200'/0)
Strict ECDSA: m/84'/1'/0'/0
Post-quantum: m_pq/100'/1'/0'/0'
Private pool wallets: NeuraiZK/v2, no BIP32 path