Kaia v3.0.0 Release Notice (Kairos Testnet)
IMPORTANT: Kaia v3.0.0 contains a hardfork upgrade that results in changes that are not backward compatible. All Kairos testnet nodes must be upgraded to v3.0.0 or later before the target block number. The Mainnet hardfork number is not included in this version and will be specified in a subsequent release.
Kaia v3.0.0 introduces the Permissionless hardfork. Validators join, pause, resume, and leave the network through the AddressBookV2 contract under the validator lifecycle of KIP-286. Validator performance is scored by VRank as per KIP-227. Peer admission and the CN-EN network topology follow KIP-311, and the proxy node (PN) role is retired. This version also hardens consensus and P2P message handling and improves transaction-pool and tracing performance.
Here is the hardfork schedule for the Kairos testnet:
- Block number: 233366400 (estimated time: 18 Nov 2026, 23:06 UTC+9)
- Hardfork contents: Permissionless hardfork
Notes to Node Operators
Notes to Core Cell Operators (CCO): Consensus Node (CN) and Proxy Node (PN)
- Validator operations are available as
kcn valopssubcommands. Use--datadirfor tar-based installations.generate-keys: creates the missing ECDSA and BLS onboarding keys in<datadir>/klayoffline. Existing key files are reused and never overwritten.sign-create-node: creates the node ID ownership signature thatAddressBookV2.createNoderequires, offline with the node key.- Lifecycle Subcommands:
ready-candidate,unready-candidate,ready-validator,unready-validator,pause,resume,exit, andoffboardare now available. These subcommands send a transaction toAddressBookV2. Each transaction is checked witheth_callbefore it is sent. suspend-validator,unsuspend-validator: suspend and unsuspend a validator. Only the suspender role can run them.
- The packaged
kcnd.confsetsMAXCONNECTIONS=103(previously 100) so that a full mesh of 100 CNs and the reserved CN-EN slots fit. A package upgrade keeps akcnd.confthat you have edited, so setMAXCONNECTIONS=103in it, or remove the line to use the CN default of 103. --maxconnectionsnow limits the number of peers for inbound connections as well.- A CN reserves 3 connection slots for ENs and an EN reserves 2 slots for CNs by default. Use
--reserved-cross-type-slotsto change the reservation. The node does not start if--maxconnectionsis not larger than the reservation. - The proxy node (PN) role is retired. The
kpnandkspnbinaries and packages are removed, and--nodetype pnand--nodetype spnnow fail at startup withUnknown node type. ENs connect to CNs directly. A v3.0.0 node still accepts connections from PNs that run an older version and treats them as ENs.
Notes to Endpoint Node (EN) Operators
- ENs connect to CNs directly, without a PN in between.
Notes to All Node Operators
- The default bootnode lists are replaced with new Mainnet and Kairos bootnodes, and all node types, including CNs, now use the same list. If you set
BOOTNODES(--bootnodes) to the previous default bootnodes, update or remove the setting. - The
web3RPC namespace is removed. It is also removed fromRPC_APIandWS_APIin the packaged configuration files. An unknown module name in an existing configuration is ignored, and the node starts normally. - The
--vrank.log-frequencyflag is removed. A node started with this flag fails. - The
miner/block/*mining timer metrics now report per-block values and percentile series (_0_5to_0_9999). The_maxgaugeseries is removed; use_0_9999instead. Review dashboards and alerts that use these metrics. - The
vrank/commit/*,vrank/preprepare/first,miner/resultch, andminer/tx/resend/gaugemetrics are removed. Review dashboards and alerts that use these metrics.
API Changes
- Removed:
web3RPC namespace (usekaia_clientVersioninstead ofweb3_clientVersion). - Removed: Bootnode allowlist (the
kbn --authorized-nodesflag and associated RPC methods). - Changed: The bootnode RPC namespace of
kbn. - Changed: Renamed the
eth_feeHistoryresult fieldblobBaseFeePerGastobaseFeePerBlobGasand addedblobGasUsedRatio, as in Ethereum. - Changed:
kaia_getStakingInfoandgovernance_getStakingInfobehavior after the Permissionless hardfork (they now list only the nodes that receive the staking reward of block N). - Changed: The
pendingblock tag now behaves aslateston all node types. - Added:
governance_getPFSandgovernance_getCFSto return the VRank proposal-failure and candidate-failure scores. - Added:
kaia_getNodesByStateto return the AddressBookV2 validator nodes at a block, filtered by state.
Permissionless Hardfork Features
- Implemented the validator lifecycle as per KIP-286.
- Implemented VRank as per KIP-227.
- Implemented permissionless networking as per KIP-311.
- Updated the system contracts to
kaia-system-contractsv3.0.0. - Applied the half fee burn of the non-deferred reward mode. The block reward base is now decided before transaction execution.
(For the complete list of improvements, bug fixes, and commit histories, please refer to the official v3.0.0 release notes on GitHub.)
Downloads
Please find the download links and installation instructions at Kaia Docs: Node Downloads or on the Kaia v3.0.0 GitHub Release Page.