DEV Community

Zhuoxin Sun
Zhuoxin Sun

Posted on • Originally published at onfinality.io

Kaia RPC Guide: Endpoints, Providers, and Best Practices

Summary

Kaia is a high-performance Layer-1 blockchain built with an optimized Istanbul BFT consensus mechanism and full EVM compatibility. Whether you are deploying a dApp, running a validator, or building a DeFi protocol on Kaia, you need reliable RPC (Remote Procedure Call) endpoints to interact with the network. This guide explains what Kaia RPC endpoints are, how to connect to Kaia mainnet and Kairos testnet, how to choose between public and private providers, and what criteria to use when evaluating RPC services for production workloads.

Kaia RPC Decision Checklist

Before selecting a Kaia RPC provider, consider these key factors:

  • Network type: Mainnet (chain ID 8217) or testnet (Kairos, chain ID 1001)?
  • Traffic volume: Light development vs. high-throughput production?
  • Reliability requirements: Can you tolerate rate limits or downtime?
  • Geographic distribution: Do you need low latency across multiple regions?
  • Data needs: Archive data, trace support, or just standard JSON-RPC?
  • Budget: Free public endpoints vs. paid dedicated services?

Use this checklist to quickly narrow down your options.

What Is a Kaia RPC Endpoint?

An RPC endpoint is a URL that allows your application to send requests to the Kaia blockchain. The Kaia Virtual Machine (KVM) is fully EVM-compatible, so you can use standard Ethereum JSON-RPC methods like eth_blockNumber, eth_call, and eth_sendRawTransaction. Additionally, Kaia supports some Kaia-specific methods and precompiled contracts.

Public endpoints are free but often rate-limited and less reliable for production. Private or dedicated endpoints offer higher throughput, lower latency, and dedicated resources.

Kaia Mainnet and Testnet Endpoints

Mainnet

  • Chain ID: 8217 (0x2019)
  • Currency: KAIA
  • Public RPC: https://public-en.node.kaia.io
  • Archive RPC: https://archive-en.node.kaia.io
  • WebSocket: wss://public-en.node.kaia.io/ws

Testnet (Kairos)

  • Chain ID: 1001 (0x3E9)
  • Currency: KAIA
  • Public RPC: https://public-en-kairos.node.kaia.io
  • Archive RPC: https://archive-en-kairos.node.kaia.io

Note: Older endpoints using klaytn domain (e.g., public-en-cypress.klaytn.net) were deprecated in September 2024. Update your configurations to the new kaia.io endpoints.

Connecting to Kaia with curl

You can test connectivity using a simple curl command:

curl -X POST https://public-en.node.kaia.io \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Enter fullscreen mode Exit fullscreen mode

Expected response:

{"jsonrpc":"2.0","id":1,"result":"0xd3a5b3f"}
Enter fullscreen mode Exit fullscreen mode

Choosing a Kaia RPC Provider

When public endpoints are insufficient, you need a managed RPC provider. Here is a comparison of criteria to evaluate:

Criterion What to check Why it matters
Uptime SLA Provider's historical uptime (not guaranteed) Production apps need consistent access
Rate limits Requests per second (RPS) and monthly limits High-traffic dApps require high limits
Geographic nodes Number of regions and latency Global user base needs low latency
Archive data Support for archive requests Historical data queries need archive nodes
WebSocket support Real-time event subscriptions Essential for dApps with live updates
Pricing model Pay-as-you-go vs. flat fee Budget predictability
Security API key authentication, DDoS protection Prevents unauthorized access

Public vs. Private RPC: Which Should You Use?

Public endpoints are great for prototyping, testing, and low-volume applications. However, they come with risks:

  • Rate limits can throttle your requests.
  • No reliability expectations or support.
  • Shared resources mean performance can degrade during peak usage.

Private or dedicated RPC services provide:

  • Higher rate limits and dedicated throughput.
  • Better reliability with SLAs (though not guaranteed).
  • Lower latency via global edge nodes.
  • API key management and security.

For production dApps, a managed provider like OnFinality offers dedicated nodes and scalable RPC APIs. Check RPC pricing and supported networks for details.

Setting Up a Kaia RPC Connection in JavaScript

Here is an example using ethers.js to connect to Kaia mainnet:

const { ethers } = require("ethers");

// Replace with your RPC URL
const provider = new ethers.providers.JsonRpcProvider("https://public-en.node.kaia.io");

async function getBlockNumber() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Current block number:", blockNumber);
}

getBlockNumber();
Enter fullscreen mode Exit fullscreen mode

For a private endpoint, replace the URL with your provider's endpoint (e.g., https://kaia.api.onfinality.io/public).

Common Pitfalls and Troubleshooting

1. Using deprecated endpoints

Always use the latest kaia.io endpoints. Old klaytn.net URLs no longer work.

2. Rate limiting

If you receive 429 Too Many Requests, switch to a provider with higher limits or implement request throttling.

3. Incorrect chain ID

Ensure your wallet or dApp uses chain ID 8217 for mainnet and 1001 for testnet.

4. WebSocket disconnections

For real-time feeds, use a reliable WebSocket endpoint and implement reconnection logic.

5. Missing archive data

If your application requires historical state, use an archive node endpoint.

Key Takeaways

  • Kaia is EVM-compatible, so standard Ethereum tools work seamlessly.
  • Public endpoints are suitable for development but not for production.
  • Evaluate providers based on uptime, rate limits, geographic coverage, and pricing.
  • Always update to the latest endpoint URLs to avoid service disruption.
  • For production workloads, consider a dedicated RPC provider like OnFinality for better performance and reliability.

Frequently Asked Questions

What is the Kaia mainnet chain ID?

The chain ID is 8217 (0x2019).

What is the Kaia testnet chain ID?

The testnet (Kairos) chain ID is 1001 (0x3E9).

Are Kaia RPC endpoints Ethereum-compatible?

Yes, Kaia supports standard Ethereum JSON-RPC methods and is fully EVM-compatible.

How do I get a private Kaia RPC endpoint?

You can sign up for a managed RPC service like OnFinality, which provides dedicated endpoints with higher rate limits and global distribution.

What happened to the old Klaytn endpoints?

The old klaytn.net endpoints were deprecated in September 2024. Replace them with the new kaia.io endpoints.

Can I use WebSocket with Kaia?

Yes, Kaia supports WebSocket connections for real-time data. Example: wss://public-en.node.kaia.io/ws.

FAQ

What is the Kaia mainnet chain ID?

The chain ID is 8217 (0x2019).

What is the Kaia testnet chain ID?

The testnet (Kairos) chain ID is 1001 (0x3E9).

Are Kaia RPC endpoints Ethereum-compatible?

Yes, Kaia supports standard Ethereum JSON-RPC methods and is fully EVM-compatible.

How do I get a private Kaia RPC endpoint?

You can sign up for a managed RPC service like OnFinality, which provides dedicated endpoints with higher rate limits and global distribution.

What happened to the old Klaytn endpoints?

The old klaytn.net endpoints were deprecated in September 2024. Replace them with the new kaia.io endpoints.

Can I use WebSocket with Kaia?

Yes, Kaia supports WebSocket connections for real-time data. Example: wss://public-en.node.kaia.io/ws.

Related resources

Originally published at OnFinality.

Top comments (0)