Chain parameters
Launch values, set in app/launch_defaults.go and applied to genesis.
| Parameter | Value | Rationale |
|---|---|---|
| Total supply | 100,000,000,000 BKC | hard cap, fixed at genesis |
x/mint inflation | 0 | capped supply; staking rewards are pre-funded |
| Staking reward pool | 20,000,000,000 BKC over 15 years | decays 12% a year, from a locked module account |
| Account / validator key types | mldsa65 only | custody policy; governance cannot widen it |
| Sign mode | SIGN_MODE_DIRECT only | |
auth TxSigLimit | 4 | ~21 KiB of ML-DSA signer overhead, below the tx cap |
| ML-DSA signature verify gas | 6,000 | above the measured 5.4× ecrecover CPU ratio |
consensus block.max_bytes | 8 MiB | 1,000 average 5.5 KB transactions + commit + margin |
consensus block.max_gas | 200,000,000 | 500 transactions × 400,000 gas declared by a signed send |
| Max gas per transaction | 30,000,000 | Ethereum mainnet's block gas limit; 15% of a BKC block |
feemarket min_gas_price | 5,000,000 | also the floor of the EIP-1559 base fee |
feemarket base_fee | 5,000,000 | starts at the floor |
| EIP-1559 elasticity | 2 | target 100,000,000 gas per block |
gov min_deposit | 10 BKC | scaled for 18 decimals |
gov expedited_min_deposit | 50 BKC | |
gov min_initial_deposit_ratio | 0.25 | a proposal needs a quarter of the deposit at submission |
mempool max_tx_bytes | 256 KiB | large multi-signer and contract deployment transactions |
mempool max_txs_bytes | 256 MiB | |
| mempool size / cache | 10,000 / 20,000 | |
timeout_commit | 0.5 s | ~1 s blocks under load |
Why max_gas matters even if blocks are not full
ProcessProposal sums the gas each transaction declares, not what it uses. A signed MsgSend uses about 257,000 gas and declares 400,000, so 200,000,000 fits 500 of them. Leaving CometBFT's default -1 would disable baseapp's block gas check, stop the EIP-1559 controller from ever seeing a busy block, and report MaxUint64 to the EVM's GASLIMIT opcode.
Sizes that drive everything
| Bytes | |
|---|---|
| ML-DSA-65 public key | 1,952 |
| ML-DSA-65 signature | 3,309 |
| Average signed transaction | ~5,500 |
| Commit per validator | ~3,437 (signature + vote fields) |
Out of scope on the testnet
IBC (standard light clients cannot verify the forked consensus), hardware wallets, Amino/textual signing, ML-DSA multisig UX. The testnet has not had an external security audit.
