Kadena RPC endpoints and public nodes
Kadena does not use Ethereum's JSON-RPC. Apps talk to a Chainweb node's REST API, with a Pact API for each of the 20 chains. These are the public mainnet endpoints the community runs today.
At a glance
- Network ID
mainnet01- Chains
0to19- Pact API (per chain)
https://api.chainweb-community.org/chainweb/0.0/mainnet01/chain/{chain}/pact/api/v1- Node info
https://api.chainweb-community.org/info- Current block heights (cut)
https://api.chainweb-community.org/chainweb/0.0/mainnet01/cut- GraphQL indexer
https://graphql.chaddex.com/graphql/v0- Latest node software
- chainweb-node 3.2.1 (August 2026)
Public endpoints
Kadena Community Edition API
api.chainweb-community.org serves the full Chainweb API, including the Pact endpoints /local (read-only queries), /send, /poll and /listen for each chain. Use it for wallets, apps and scripts. It is a shared community service, so keep request rates reasonable.
Saudi Kadena node
node.kadena.ws is the Kadena Nexus node in Jeddah. It answers /info and /chainweb/0.0/mainnet01/cut from any website (CORS is open), which makes it handy for checking block heights and node status from a browser. It does not expose the Pact API; send transactions and queries to the Community Edition API above.
GraphQL indexer
For history, such as an account's transfers or blocks over time, a node is the wrong tool: it answers about the current state. The chaddex GraphQL indexer at graphql.chaddex.com/graphql/v0 serves blocks, transactions and transfers. Block explorers such as DenaScan and the Kadena explorer show the same data in a browser.
Examples
Current height of every chain
curl https://api.chainweb-community.org/chainweb/0.0/mainnet01/cut
Read a KDA balance with @kadena/client
import { createClient, Pact } from '@kadena/client';
const client = createClient(({ chainId, networkId }) =>
`https://api.chainweb-community.org/chainweb/0.0/${networkId}/chain/${chainId}/pact`);
const tx = Pact.builder
.execution('(coin.get-balance "k:your-public-key")')
.setMeta({ chainId: '1' })
.setNetworkId('mainnet01')
.createTransaction();
const res = await client.local(tx, { preflight: false, signatureVerification: false });
console.log(res.result); // { status: 'success', data: 12.34 }
A /local call reads state without a signature and costs nothing. Changing state, such as a transfer, needs a signed transaction sent with /send, which pays a small gas fee in KDA.
Run your own node
For production apps, exchanges and mining pools, run your own node so you are not limited by a shared service. The community maintains the node software at kda-community/chainweb-node. The Kadena Network Monitor shows the public nodes and their versions.
Questions people ask
What is the Kadena RPC URL?
For Kadena mainnet, use https://api.chainweb-community.org/chainweb/0.0/mainnet01/chain/{chain}/pact/api/v1, replacing {chain} with a chain number from 0 to 19. The network ID is mainnet01.
Does Kadena support Ethereum JSON-RPC?
No. Kadena mainnet is not an EVM chain. It uses its own REST API from Chainweb nodes, with a Pact API for each of its 20 chains. Libraries such as @kadena/client handle the details.
What is the Kadena mainnet network ID?
mainnet01. The network ID is part of every transaction, so a transaction made for one network cannot run on the other.
How do I get the latest Kadena block height?
Call the cut endpoint, for example https://api.chainweb-community.org/chainweb/0.0/mainnet01/cut. It returns the current height and block hash of each of the 20 chains.
Is there a free public Kadena API?
Yes. The Kadena Community Edition runs api.chainweb-community.org, and Kadena Nexus runs node.kadena.ws for status queries. Both are free shared services; heavy users should run their own node.
Sources
- chainweb-node Community Edition, kda-community on GitHub
- @kadena/client, npm
- Kadena Network Monitor, Kadena Nexus
Written by Kadena Nexus, an independent community project. Not financial advice. Last updated November 3, 2026.