Summary
Klaytn, now rebranded as Kaia, is an EVM-compatible Layer 1 blockchain. Developers interact with it through JSON-RPC endpoints, the Klaytn API Service (KAS) for higher-level REST APIs, or dedicated node infrastructure. This guide covers the differences, how to connect, and what to evaluate when choosing an API provider.
Klaytn, now rebranded as Kaia, is an EVM-compatible Layer 1 blockchain designed for high throughput and immediate finality. If you are building a dApp, indexer, or backend service on Kaia, you need a reliable way to send transactions, read contract state, and subscribe to events. The term "Klaytn API" can mean several things: the JSON-RPC endpoint, the official Klaytn API Service (KAS), or a third-party RPC provider. This guide breaks down the options, shows you how to connect, and helps you decide which approach fits your workload.
Quick recommendation: which Klaytn API path should you use?
Your choice depends on what you are building and how much infrastructure you want to manage.
- For simple dApp frontends or quick prototyping, a public RPC endpoint like
https://klaytn.api.onfinality.io/publicis enough. It lets you read chain data and send transactions without any setup. - For production backends that need high availability and scalability, use a managed RPC provider like OnFinality. You get a dedicated endpoint, higher rate limits, and access to archive data without running your own node.
- For teams that want higher-level abstractions like token history, wallet management, or fee delegation, KAS offers REST APIs that wrap common blockchain operations. However, KAS is a separate service with its own pricing and may not be necessary if you only need standard JSON-RPC.
- For teams with strict data residency or custom requirements, running your own endpoint node gives you full control but requires ongoing maintenance, monitoring, and scaling.
If you are unsure, start with a managed RPC provider. It gives you the flexibility to switch to a dedicated node later without changing your application code.
What is the Klaytn API? Understanding the ecosystem
Klaytn's mainnet, Cypress, launched in 2019 and was designed for enterprise use cases. In 2024, Klaytn merged with Finschia to form Kaia, and the network now operates under the Kaia brand. The chain is EVM-compatible, so it supports Solidity contracts and standard Ethereum tooling like ethers.js and viem.
When developers search for "Klaytn API," they usually mean one of three things:
- JSON-RPC API: The standard interface for interacting with the blockchain. You send HTTP or WebSocket requests to an endpoint node, which processes them and returns data. Methods like
eth_blockNumber,klay_getBalance, andeth_callare part of this API. - Klaytn API Service (KAS): A managed service by the Klaytn Foundation that provides REST APIs for common operations like sending transactions, managing wallets, and querying token history. It also includes a Node API that wraps JSON-RPC.
- Third-party RPC providers: Services like OnFinality that offer public and private JSON-RPC endpoints, often with additional features like archive data, WebSocket support, and analytics.
Understanding the difference is crucial because KAS and a standard RPC provider serve different purposes. KAS is more like a backend service, while an RPC provider is the raw data access layer.
Klaytn chain settings at a glance
Before you connect, you need the correct network parameters. Here are the key details for the Kaia mainnet:
| Parameter | Value |
|---|---|
| Chain ID | 8217 |
| Network name | Kaia Mainnet (formerly Klaytn Cypress) |
| Native currency | KAIA (18 decimals) |
| Block explorer | Kaiascope |
| Public RPC endpoint | https://klaytn.api.onfinality.io/public |
For testnet, the Baobab testnet uses chain ID 1001, but this guide focuses on mainnet. Always verify the latest chain settings from the official Kaia docs or your RPC provider's network page.
Connecting to Klaytn with JSON-RPC
Once you have an endpoint, you can interact with the chain using standard JSON-RPC. Here is a simple curl example to get the latest block number:
curl -X POST https://klaytn.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
The response will look like:
{"jsonrpc":"2.0","id":1,"result":"0x1234"}
For JavaScript developers, you can use ethers.js or viem. Here is an example with ethers.js:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://klaytn.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block:", blockNumber);
}
getBlockNumber();
If you are using viem, the setup is similar:
import { createPublicClient, http } from "viem";
const client = createPublicClient({
chain: {
id: 8217,
name: "Kaia Mainnet",
nativeCurrency: { name: "KAIA", symbol: "KAIA", decimals: 18 },
rpcUrls: { default: { http: ["https://klaytn.api.onfinality.io/public"] } },
},
transport: http(),
});
const blockNumber = await client.getBlockNumber();
console.log("Current block:", blockNumber);
For wallet configuration, you can add Kaia as a custom network in MetaMask or any EVM-compatible wallet:
{
"chainId": "0x2015",
"chainName": "Kaia Mainnet",
"nativeCurrency": {
"name": "KAIA",
"symbol": "KAIA",
"decimals": 18
},
"rpcUrls": ["https://klaytn.api.onfinality.io/public"],
"blockExplorerUrls": ["https://kaiascope.com"]
}
Klaytn-specific RPC methods
While Klaytn is EVM-compatible, it also has its own set of RPC methods prefixed with klay_. These are useful for accessing Klaytn-specific features like fee delegation and account types.
Some common methods include:
klay_getBalance– Get the balance of an account.klay_sendTransaction– Send a transaction (similar toeth_sendTransaction).klay_call– Execute a contract call without sending a transaction.klay_getTransactionReceipt– Get the receipt of a transaction.klay_getBlockByNumber– Get block information.
You can use these methods just like Ethereum methods. For example:
curl -X POST https://klaytn.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"klay_getBalance","params":["0x..."],"id":1}'
Most Ethereum libraries will work with Klaytn, but if you need Klaytn-specific features, you may need to use the klay_ methods directly.
KAS vs. RPC providers: what's the difference?
KAS is a managed API service that offers more than just JSON-RPC. It provides REST endpoints for token history, wallet management, and fee delegation. This can be convenient if you want to avoid dealing with raw transactions and key management.
However, KAS is a separate service with its own pricing and rate limits. For many developers, a standard RPC provider is sufficient and more flexible. Here's a comparison:
| Feature | KAS | Standard RPC Provider (e.g., OnFinality) |
|---|---|---|
| Interface | REST + JSON-RPC | JSON-RPC (HTTP/WebSocket) |
| Token history | Built-in | Requires custom indexing |
| Wallet management | Yes | No |
| Fee delegation | Yes | No |
| Archive data | Limited | Available on request |
| Pricing | Per API call | Subscription or pay-as-you-go |
| Flexibility | High-level, opinionated | Low-level, full control |
If you need token history or wallet management, KAS might be worth the cost. But if you just need to read and write blockchain data, a standard RPC provider is simpler and often cheaper.
How to choose a Klaytn RPC provider
When evaluating RPC providers for Klaytn, consider the following criteria:
| Criterion | What to check | Why it matters |
|---|---|---|
| Uptime and reliability | Historical uptime, status page | Downtime can break your dApp |
| Rate limits | Requests per second, daily limits | High-traffic apps need higher limits |
| Archive data | Access to historical state | Needed for analytics and debugging |
| WebSocket support | Real-time event subscriptions | Essential for live updates |
| Dedicated nodes | Option for exclusive infrastructure | Guarantees performance and isolation |
| Pricing | Transparent, predictable costs | Avoid surprise bills |
| Support | Responsive technical support | Helps when things go wrong |
OnFinality offers public and dedicated RPC endpoints for Klaytn, with support for WebSocket and archive data. You can start with the public endpoint and upgrade to a dedicated node as your project grows. Check the Kaia network page for more details.
Common pitfalls and troubleshooting
Even with a reliable provider, you may encounter issues. Here are some common problems and how to fix them:
- Incorrect chain ID: Make sure you use 8217 for mainnet. Using the wrong chain ID will cause transactions to fail.
- Rate limiting: If you get HTTP 429 responses, you're hitting rate limits. Consider upgrading to a paid plan or using a dedicated node.
- WebSocket disconnects: WebSocket connections can drop. Implement reconnection logic in your client.
- Transaction pending forever: Check the gas price and nonce. Klaytn has a dynamic gas pricing mechanism, so you may need to adjust.
- CORS errors in browser: If you're calling the RPC from a browser, ensure the provider allows CORS. Public endpoints usually do, but dedicated ones may not.
For debugging, use tools like curl to test individual methods, and check the block explorer for transaction status.
Production readiness checklist
Before launching your Klaytn app, go through this checklist:
- Use a dedicated RPC endpoint for production, not a public one.
- Set up monitoring for RPC latency and error rates.
- Implement retry logic with exponential backoff.
- Use WebSocket for real-time updates, but have a fallback to polling.
- Test your app on the Baobab testnet first.
- Ensure your backend handles chain reorgs (Klaytn has immediate finality, but still be safe).
- Keep your private keys secure; never expose them in client-side code.
Key Takeaways
- Klaytn is now Kaia, an EVM-compatible L1 with chain ID 8217.
- You can interact with it via JSON-RPC, KAS, or a third-party RPC provider.
- For most developers, a managed RPC provider like OnFinality offers the best balance of reliability and flexibility.
- KAS is useful for higher-level features like token history and wallet management, but it's not required for basic blockchain interactions.
- Always use a dedicated endpoint in production and monitor your usage.
Frequently Asked Questions
What is the Klaytn API?
The Klaytn API refers to the various interfaces for interacting with the Klaytn (now Kaia) blockchain, including JSON-RPC endpoints, the Klaytn API Service (KAS), and third-party RPC providers.
Is Klaytn the same as Kaia?
Yes, Klaytn rebranded to Kaia after a merger with Finschia. The mainnet is now called Kaia Mainnet, but the underlying technology remains the same.
What is the chain ID for Klaytn mainnet?
The chain ID is 8217.
Do I need KAS to build on Klaytn?
No, you can use any JSON-RPC provider. KAS is optional and provides higher-level APIs for convenience.
Can I use Ethereum tools with Klaytn?
Yes, because Klaytn is EVM-compatible, you can use ethers.js, viem, and other Ethereum libraries. Just configure the correct chain ID and RPC URL.
How do I get a Klaytn RPC endpoint?
You can use the public endpoint https://klaytn.api.onfinality.io/public or sign up for a dedicated endpoint on OnFinality. Check the supported networks page for more options.
What is the difference between public and dedicated RPC?
Public RPC is shared and rate-limited, while dedicated RPC gives you exclusive access to a node, offering better performance and reliability. For production, dedicated is recommended.
How do I subscribe to real-time events on Klaytn?
Use WebSocket and the eth_subscribe method. Here's an example:
const ws = new WebSocket("wss://klaytn.api.onfinality.io/public/ws");
ws.onopen = () => {
ws.send(JSON.stringify({jsonrpc:"2.0",method:"eth_subscribe",params:["newHeads"],id:1}));
};
ws.onmessage = (event) => {
console.log(event.data);
};
Note: The WebSocket URL may differ; check your provider's documentation.
What are the rate limits for the public Klaytn endpoint?
Rate limits vary by provider. OnFinality's public endpoint is suitable for development and light usage, but for production you should upgrade to a paid plan. See RPC pricing for details.
How do I get test KLAY for the Baobab testnet?
You can use the official Klaytn faucet or request from the Kaia docs. The testnet uses chain ID 1001.
Can I run my own Klaytn node?
Yes, you can run an endpoint node using the official Klaytn software. However, it requires maintenance and monitoring. Managed services like OnFinality can save you time and effort.
What is fee delegation in Klaytn?
Fee delegation allows a third party to pay transaction fees on behalf of users. KAS supports this, but you can also implement it with raw JSON-RPC if you understand the transaction structure.
Is Klaytn secure for enterprise use?
Klaytn was designed with enterprise-grade reliability in mind, using a BFT consensus. However, security depends on your implementation. Always follow best practices for key management and smart contract security.
Where can I find more resources?
Check the official Kaia docs, the Klaytn GitHub, and the OnFinality network page for up-to-date information.