Get started

Buantum is a Layer 1 blockchain built on four co-equal pillars — Privacy, post-quantum cryptography, quantum randomness, and quantum key distribution — locked in from the genesis block. This guide walks you from buantum --version to your first shielded transaction in under ten minutes.

FOUR PILLARS · ONE PROTOCOL

Privacy is the default behavior, not a feature you enable. Every key carries quantum entropy. Every primitive is post-quantum. Validator key exchange uses hybrid QKD where fiber is available. None of these are optional — and none of them depend on the others to hold.

PREREQUISITES

Rust 1.78+, a POSIX shell, and ~2 GB of free disk for the local devnet. macOS, Linux, and WSL2 are supported. Windows native is not.

1. Install the toolchain

The buantum CLI bundles the node binary, the contract compiler, the devnet orchestrator, and the verifier. Install it with the official installer script:

install · shell
# Install the buantum CLI
curl --proto '=https' --tlsv1.2 -sSf https://get.buantum.io | sh

# Verify the installation
buantum --version
# buantum 0.9.0 (genesis-draft)
# crypto: ML-DSA-65, ML-KEM-768, SLH-DSA, ZK-STARK
# entropy: QRNG (local) + ANU QRNG API

The installer drops binaries into ~/.buantum/bin and adds the directory to your PATH. To upgrade later, run buantum self update.

2. Start a local devnet

A devnet is a single-validator chain that runs in your terminal — useful for development without paying real gas or waiting for confirmations. It comes preloaded with ten funded accounts.

devnet · shell
buantum devnet start

# [00:00:00] Seeding entropy pool from local QRNG + ANU API
# [00:00:00] Starting devnet on :9944
# [00:00:00] Genesis block produced (SLH-DSA root attestation)
# [00:00:00] Loaded 10 prefunded accounts (ML-DSA-65 spend + ML-KEM-768 view)
# [00:00:00] Shielded pool initialized
# [00:00:00] RPC ready at http://127.0.0.1:9944
# [00:00:00] Explorer at http://127.0.0.1:9945

Leave that running and open a second terminal. The devnet produces a block roughly every 500 ms. Every transaction you submit is shielded by default — sender, recipient, amount, and call data encrypted before it leaves your machine.

3. Inspect a prefunded account

Every devnet boot generates the same ten accounts, derived from a fixed quantum-entropy seed. Each account has a paired structure — an ML-DSA-65 spend key and an ML-KEM-768 view key. They each hold 1 000 000 BUM. To see them:

accounts · shell
buantum account list --devnet

The output is a table of addresses, shielded balances, and key types:

Address Balance Spend / View
bm1q…a3v91 000 000 BUMML-DSA-65 / ML-KEM-768
bm1q…h8k21 000 000 BUMML-DSA-65 / ML-KEM-768
bm1q…m4p71 000 000 BUMML-DSA-65 / ML-KEM-768
NOTE · DUAL KEYS

The spend key authorizes outbound transactions. The view key decrypts your transaction data so you (or a delegated auditor) can read it. The view key cannot move funds. Share it with whoever needs visibility — keep the spend key offline.

4. Sign and submit a shielded transfer

Sign a transfer from the first prefunded account to a fresh one. The transaction is shielded by default — the amount, sender, and recipient are encrypted, and a ZK-STARK proof asserts that the spend is valid without revealing what was spent.

transfer · shell
buantum transfer \
  --from alice \
  --to $(buantum account new --name bob) \
  --amount 42 \
  --memo "first transaction"

# Deriving stealth address (SHAKE-256 / SLH-DSA)
# Signing with ML-DSA-65 (sig: 3,309 bytes)
# Generating ZK-STARK validity proof
# Encrypting payload (ML-KEM-768 / AES-256-GCM)
# Submitted to encrypted mempool
# Block-included in 482 ms
# tx: 0x9a4f...c1e2 (content hidden — view with --decrypt)
WHAT'S VISIBLE ON-CHAIN

Public observers see: that a transaction occurred, its encrypted blob size, its committed fee tier, and the ZK-STARK proof. They do not see: sender, recipient, amount, memo, or contract call data. Only holders of the corresponding view key can decrypt the transaction details.

Next steps

You've got a running chain, an account with paired spend/view keys, and a finalized shielded transaction. From here: