← Protocols
Kaia
01Description

Kaia is an Asia-focused EVM Layer 1 formed in 2024 by the merger of Klaytn and Finschia, backed by Kakao and LINE. Mainnet chain ID 8217 (legacy Cypress), 1-second block time and instant finality via Istanbul BFT, with KAIA as the unified gas + governance token. JSON-RPC, Solidity, and standard EVM tooling work unchanged; the network adds Klaytn-era features like fee delegation and account-key abstractions on top of EVM equivalence.

02Best for
  • 01Asia consumer dapps (Kakao / LINE distribution)
  • 02EVM apps that want fee-delegation / paymaster-like UX baked into the protocol
  • 03high-throughput, low-fee Solidity deployments with 1s blocks
  • 04gaming and mini-dapp surfaces inside super-apps
03Install
  • pnpm add viem wagmi
  • pnpm add @kaiachain/ethers-ext
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_KAIA_RPC_URLClientKaia RPC URL (mainnet: https://public-en.node.kaia.io, testnet Kairos: https://public-en-kairos.node.kaia.io).
NEXT_PUBLIC_KAIA_CHAIN_IDClientChain ID — 8217 for mainnet, 1001 for Kairos testnet.
05Prompt snippet
Use viem with `defineChain({ id: 8217, name: 'Kaia', nativeCurrency: { name: 'Kaia', symbol: 'KAIA', decimals: 18 }, rpcUrls: { default: { http: [process.env.NEXT_PUBLIC_KAIA_RPC_URL!] } } })` — the public mainnet RPC is `https://public-en.node.kaia.io` and testnet (Kairos) is `https://public-en-kairos.node.kaia.io`. Solidity contracts deploy unchanged with Foundry: `forge create --rpc-url $KAIA_RPC --private-key $PK src/MyContract.sol:MyContract`. The native gas token is KAIA; gas price floats inside a protocol-defined band (25–750 ston) rather than EIP-1559 base fee. To use Klaytn-style fee delegation, wrap a transaction with `@kaiachain/ethers-ext` `TxType.FeeDelegatedSmartContractExecution` so a paymaster account pays gas in KAIA on behalf of the user. Bridge canonical assets via Kaia's official bridge or Wormhole/LayerZero for cross-chain liquidity.
06Gotchas
  • Kaia is the post-merger rebrand of Klaytn (+ Finschia) — older docs, RPCs, and SDK packages still ship under `klaytn` / `caver-js` names. Prefer `kaiachain/ethers-ext` and `docs.kaia.io`; treat any `cypress.klaytn.net` references as legacy.
  • Gas pricing does not use EIP-1559 the same way as Ethereum: gas price is floated inside a protocol band and not all viem/ethers fee-estimation paths produce correct values. Test signed-tx gas before shipping, especially with wallets that hardcode `maxFeePerGas`.
  • Fee delegation is a first-class Kaia transaction type (sender signs, fee payer co-signs) — it is not EIP-4337. Standard EOA + ERC-4337 paymaster flows still work, but if you want the cheaper, native UX you must use Kaia-specific tx types via `ethers-ext` or `web3-ext`, which most cross-chain wallets do not expose.
  • Account keys can be rotated and split (multi-sig, role-based, weighted) at the protocol level via `AccountUpdate`. A signature that was valid yesterday can become invalid after a key rotation — never cache or hardcode an address-to-pubkey mapping; always resolve via `klay_getAccountKey` / Kaia RPC.
  • Block time is ~1s with instant finality (no reorgs under honest majority). Tools that assume 12s blocks for polling intervals or confirmation counts (e.g., 12-confirmation rules) will be wildly off — tune confirmations to 1 and rate-limit polling.
  • Public RPCs are aggressively rate-limited and will drop or 429 production-scale traffic. Use a paid provider (QuickNode, Chainstack, BlockPI, All That Node, dRPC) or run a Kaia node from `kaiachain/kaia` releases.
07Alternatives