NOXY Wiki
Reference for the NOXY post-quantum Layer 1 blockchain: ML-DSA-44 signatures, DAG consensus with checkpoint finality, accounts, and the public RPC surface.
NOXY Wiki
NOXY is a post-quantum Layer 1 blockchain implemented in Rust. The protocol uses ML-DSA-44 (FIPS 204) for account signatures and a hybrid ML-DSA-44 + Ed25519 scheme for validator consensus certificates. State is committed to a sparse Merkle tree over BLAKE3 paths; consensus is a DAG that orders transactions continuously, with checkpoint certificates providing durable finality.
This wiki describes the protocol as it runs on the Veylith testnet: chain veylith-testnet-10, protocol v4, a 250 ms block target, and four validators.
Quickstart
The fastest way to touch the chain is the public RPC:
curl https://test.noxycore.io/v0/health
curl https://test.noxycore.io/v0/node/identity
curl https://test.noxycore.io/v0/network/stats
From there:
- Claim testnet tokens from the faucet.
- Build and submit transactions with the TypeScript SDK (
@noxy/core), which shares canonical encoding with the node and is verified against the same test vectors. - Read the full endpoint reference at Developer RPC.
The node itself is not publicly distributed yet. The core goes source-available at mainnet, and a public validator program with signed binaries and a Docker image opens before that; today the validator set is a fixed group of operators. See Run a node for the current state.
Cryptography
Every consensus-critical digest is BLAKE3 with a domain prefix:
BLAKE3("NOXY-L0/v0.1/<domain>\0" || data)
Signature usage is split across two domains:
| Where | Algorithm | Purpose | |---|---|---| | Transaction envelope | ML-DSA-44 | Account authorization | | Consensus certificate | ML-DSA-44 + Ed25519 (both required) | Validator certification |
ML-DSA-44 public keys are 1 312 bytes and signatures are 2 420 bytes. Ed25519 keys are 32 bytes and signatures are 64 bytes. A certificate with only one valid signature is rejected; neither algorithm is a fallback for the other.
Consensus and finality
Transaction batches flow through a DAG: an availability layer collects and certifies batches, an ordering layer sequences them, and checkpoint certificates make the ordered prefix durably final. There are no forks to resolve and no probabilistic settlement; a committed block does not reorg.
Anti-equivocation is enforced by the availability collector as a liveness-class protection. There is no stake slashing in the protocol today.
State
A sparse Merkle tree over 256-bit BLAKE3 paths commits every state change. Any account, balance, or transaction can be proven against a committed checkpoint with a compact proof; transaction proofs are served directly by the public RPC (GET /v0/tx/{hash}/proof).
Public RPC
The public HTTP facade serves these routes; see Developer RPC for request and response shapes.
| Endpoint | Description |
|---|---|
| GET /v0/health | Facade liveness |
| GET /v0/network/stats | Chain, checkpoint, validator, and EVM-lane stats |
| GET /v0/node/identity | Chain ID, genesis hash, native asset, versions |
| GET /v0/economics/summary | Native asset ID |
| GET /v0/account/{id} | Account record (native or EVM 0x address) |
| GET /v0/account/{id}/nonce | Sequence nonce |
| GET /v0/account/{id}/balance/{asset} | Asset balance |
| GET /v0/account/{id}/activity | Paginated account activity |
| POST /v0/tx/submit | Submit a base64-encoded TransactionEnvelope |
| GET /v0/tx/{hash} | Transaction status and display receipt |
| GET /v0/tx/{hash}/proof | Merkle proof up to a signed checkpoint |
| POST /v0/evm | eth JSON-RPC facade for the EVM lane |
Operator model
Node startup is identity-bound. The node refuses to start when:
chain_idin config does not matchgenesis.chain_id.- The expected genesis hash does not match the computed genesis hash.
- An existing database was stamped by a different
chain_idor genesis hash.
The active validator set is derived from committed state, not from local config. A node that restarts with an existing database rejoins without wiping state.
Pages
- Getting started — what is public today and how to use it
- Protocol architecture — transaction envelope, block structure, consensus
- Accounts — account model, keys, addresses, names
- Run a node — validator program status and node identity rules
- Developer RPC — full endpoint reference
- Developer wallet — wallet creation and keystore format