Skip to content

WaveLedger

A post-quantum Layer-1 blockchain built on the current NIST PQC standards: every transaction is signed with ML-DSA-87 (NIST FIPS 204), every key exchange uses ML-KEM-1024 (FIPS 203), every hash is SHA3-512 (FIPS 202). No classical cryptography anywhere in the chain.

Designed to stay current. Post-quantum standards are young; the chain is built to evolve with them. Signature schemes are dispatched through a runtime registry, entropy sources are versioned by tag, and new PQC primitives plug in as precompiles — no hard fork, no coordinated chain halt, no rip-and-replace migration. Adding a new NIST-standardized scheme is a node release, not a chain split. See Crypto agility for what's already swappable today.

Mining requires a verifiable entropy attestation — the testnet uses the drand federated beacon, with a vendor-agnostic contract that lets us swap in QRNG hardware (or any other source) without forking the chain.

Live testnet

Install the SDK

pip install waveledger-sdk        # PyPI
npm  install waveledger-sdk        # npm

One Client class covers every messenger surface (auth, chat, wallet, explorer, playground, admin) plus the SSE event stream. Both libraries default to https://api.waveledger.net. See SDK and examples for the full API.


What's in these docs

  • Concepts


    The chain from first principles — post-quantum crypto, block structure, mining + entropy, economics, addresses, networking.

    Read the concepts

  • API Reference


    Every public REST endpoint: wallet, chat, contract playground, explorer, admin. With request/response examples for each.

    Browse the API

  • Running a node


    Run your own miner, seed, or entropy aggregator. Fly.io and bare-VPS guides. Operational runbook for production.

    Node operator guide

  • SDK and examples


    Send WAVE, deploy contracts, subscribe to events — from Python and from the browser. Working snippets, not just signatures.

    Get coding

  • Reference


    Wire formats for blocks, transactions, receipts, addresses; network parameters; the full crypto primitive list.

    Format specs

  • Fourier (smart contracts)


    The smart-contract language gets its own site — fourier.fermi.world.

    Fourier docs


Five-minute orientation

Property Value
Consensus Proof-of-Work with mandatory QRNG attestation
Block time 60s (mainnet), 5s (testnet)
Block reward 5 WAVE, halves every 2,100,000 blocks (~4 yrs)
Max supply 21,000,000 WAVE
Genesis premine 1,000,000 WAVE to foundation address
Signature scheme ML-DSA-87 (NIST FIPS 204)
Key exchange ML-KEM-1024 (NIST FIPS 203)
Hash function SHA3-512
Address length 20 bytes (hex without 0x prefix)
Smart contract VM Stack-based, EVM-flavored, post-quantum precompiles
Smart contract language Fourier

What WaveLedger is not

  • Not a fork of anything. The VM is original; the language is original; the consensus client is original Python.
  • Not "Bitcoin with PQC bolted on." Every primitive in the chain was selected for PQ safety from the start.
  • Not production-ready. This is a testnet. The mainnet design is documented, but not running.
  • Not anti-Ethereum. The smart-contract VM borrows liberally from EVM ergonomics, because EVM ergonomics work. Where we differ from EVM, it's documented.