Documentation

What is needed to understand, run and build against a Qanum node, copied from the v0.9.0 release.

Published on this site

In the source repository

The source tree also contains the consensus specification (docs/spec.md), the architecture overview and design provenance, the threat model, the external audit package, the CVE and BIP registers, the test suite inventory, the glossary, the governance and AIP process, end-to-end walkthroughs, the integration guide of the embedded node, and the release notes. They become available with the repository when it opens to the public.

Quick reference

Signature suites

SuiteIDPublic keySignatureUse
ML-DSA-87 (FIPS 204, level 5)0x01042,592 B4,627 BSigning suite (main path)
SLH-DSA-SHAKE-256s (FIPS 205, level 5)0x020364 B29,792 BCold / recovery path
ML-DSA-440x01011,312 B2,420 BLevel 1/2; not used on testnet
SLH-DSA-SHAKE-128s0x020132 B7,856 BLevel 1/2; not used on testnet

Testnet is level 5 from its genesis. The level-1/2 suites stay in the code so that an output committing to them remains spendable.

Native spending templates

IDNameRole
0x01P2PQKSingle-key spend
0x02P2RKPQMain path plus a delayed recovery path
0x03P2MULTIThreshold multisignature (up to 16 keys)
0x04HTLCHash lock plus timeout
0x05VAULTDelayed hot spend, immediate cold recovery
0x06VAULT_PENDINGVault after initiation, before finalize or cancel
0x07BURNValue destroyed; never enters the UTXO set

Consensus parameters

ParameterValue
Block header152 bytes, commits to the UTXO set (utxo_root)
Proof of workSHA3-256 of the header, big-endian target
Target block time75 s
Difficulty adjustmentAnchored ASERT, half-life 172,800 s
Block limits1,000,000 base bytes · 3,000,000 authorization bytes · 200,000 verify units
Coinbase maturity1,152 blocks (about 24 hours)
Block subsidy8 QAN, −10 % per yearly epoch of 420,480 blocks, permanent tail of 0.2 QAN; all fees to the miner
AddressesBech32m — prefixes qn / tqn / rqn
Chain selectionMost cumulative work; no checkpoints

The normative source of every value above is the code of the release (src/constants.rs and related modules) and the tests that lock it.