DOCS / PROTOCOL / SPECS
Protocol specs
Concrete numeric values, signature schemes, and address formats.
Every parameter shown here is the production default; per-chain
overrides flow through the genesis JSON.
Token
| Name | ShardoCoin |
| Symbol | $SHARD |
| Decimals | 18 |
| Total supply | 1 000 000 000 SHARD (fixed) |
| Smallest unit | shardoshi (1 SHARD = 10^18 shardoshi) |
| Min fee | 0.0001 SHARD = 10^14 shardoshi |
| Fee split | 100 % validator · 0 % burn |
| Inflation rewards | 400 M SHARD over 10 years (linear) |
Consensus
| Parameter | Testnet | Mainnet |
| Slot duration | 700 ms | 800 ms |
| Theoretical max throughput | 1.43 b/s | 1.25 b/s |
| Max TX per block | 6 000 | 6 000 |
| Max active validators | 21 | 21 |
| Bootstrap warmup blocks | 50 | 50 |
| View timeout | 800 ms | 2 100 ms |
| Quorum wait | 500 ms | 1 500 ms |
| NewView accept-ahead | 32 | 32 |
| Strict justify_qc | true | true |
| View-change enabled | true | true |
Cryptography
| Signatures | Ed25519 (32-byte pk, 64-byte sig) |
| Chain hashing | BLAKE3 (32-byte digest) |
| PoH hashing | SHA-256 (CPU SHA-NI accelerated) |
| Address derivation | BLAKE3(pubkey)[..20] |
| Address encoding | bech32m, prefix shard1 |
| Tx serialization | borsh (canonical, deterministic) |
| API serialization | JSON via serde |
Storage
| Backend | RocksDB |
| Column families | 25 |
| Pruning mode (default) | Archive (no pruning) |
| Block retention (Fast mode) | 10 000 blocks (off by default) |
| State root algorithm | XOR aggregate over BLAKE3 leaves |
| Snapshot interval | 10 000 blocks |
| Recent blockhash window | 150 blocks |
Networking
| Transport | libp2p QUIC (UDP) |
| Default port | 30303 |
| Discovery | Kademlia DHT + PEX + DNS seeds + persistent peer-cache |
| Gossip protocol | gossipsub |
| Sync protocol | request-response (block + state checkpoint) |
| Default max peers | 50 |
| Compact block size (6K TX) | ~192 KB |
| Mempool hit rate (compact) | ~95 % |
Staking & slashing
| Min stake | 100 000 SHARD (mainnet) / 1 000 (testnet) |
| Unbonding period | 7 governance epochs (~3.5 h) |
| Governance epoch | 2 160 blocks (~30 min) |
| Reward epoch | 43 200 blocks (~10 h) |
| Equivocation slash | 5 % of stake |
| Downtime slash | up to 5 % (capped, per-permille per epoch) |
| Jail threshold | 3 consecutive offline epochs |
| Auto-removal | 7 consecutive offline epochs |
| Unjail cooldown | 10 epochs |
Smart contracts (WASM)
| Runtime | wasmtime 42 |
| Module memory cap | 16 MB |
| Block gas limit | 200 000 000 |
| Transfer gas baseline | 21 000 |
| SDK | shardo-sdk with storage! / entry! macros |
| Determinism | Storage writes sorted by (contract_addr, key) |
Recovery hardening (v5.1.x)
| Wipe cooldown | 60 s (after a fork-recovery wipe) |
| Recovery action debounce | 10 s (across all recovery paths) |
| Post-wipe peer-discovery retry | 5 s cadence until tip > 0 |
| Auto-fork-recovery | Enabled by default (genesis flag) |
| Vote registry persistence | ~5 s heartbeat snapshot |
| Vote guard fsync | Per-vote (file + parent dir) |