Free Zilliqa RPC (ZIL)
Explore Zilliqa, a blockchain built for scalability using sharding technology. Build high-throughput decentralized applications using its RPC gateway.
Connect to Zilliqa
Access reliable, enterprise-grade endpoints that power your dApp with ultra-low latency and 99.9% uptime.
Connect to Zilliqa Gateway
Make your first RPC call on Zilliqa's Blockchain Gateway.
Testnet
Testnet* Rate limit enabled - perfect for testing and development. For production, we recommend to Upgrade.
Get 200 requests/second, priority support and advanced blockchain features.
Global Load Balancer
Route to nearest node
Batch RPC Calls
Multiple requests at once
Archive Nodes
Historical blockchain data
Debug & Trace
Advanced debugging
Advanced Analytics
Usage & performance
Bring Your Own RPC
Custom RPC gateways
Increase your limit and access all network features in Tatum Development Platform.
Smart Contract Tools on Zilliqa
Deploy, create, and interact with smart contracts on Zilliqa.
No signup. No paywalls. Just RPC that works. Great ideas come from everywhere.
With love by Tatum
Zilliqa methods
Every method the Zilliqa gateway accepts, grouped by interface. 77 in total, read live from the node rather than kept by hand.
Mainnet is the live Zilliqa network. Every transaction it
accepts is final, and every ZIL balance it
reports is real money.
Testnet answers the same methods on a network funded with tokens that have no market value. Develop there, then change the URL to Mainnet when the code is stable. Nothing else about your integration has to change.
Everything below is served over JSON-RPC. Its endpoint differs per network, and all of them are in the gateway list above.
What sits between you and Zilliqa
A node is a machine running Zilliqa with a copy of the chain. Your code cannot ask the chain directly, it asks a node. The gateway picks a healthy one for every call, so you point at one URL instead of one machine.
- One URL, nothing to run or keep patched yourself.
- Calls routed to a node that is up and in sync.
- A failing node is skipped rather than returned to you as an error.
JSON-RPC
77 methodsThe default. Every wallet, library and framework speaks it, and it is what you want unless you specifically need something else.
One POST carries a method name, its parameters and an id, and the response comes back on the same connection carrying that same id. Requests are independent, so there is no session to keep alive and nothing to reconnect, which is why it runs unchanged behind a load balancer or inside a serverless function. Send an array instead of a single object and the node works through the whole batch in one round trip.
Where it fits
- Anything your library already does for you. ethers, web3.js, viem and their equivalents all target this.
- Batching reads. One array of twenty calls costs one round trip instead of twenty.
- Stateless and serverless deployments, because nothing has to stay connected between calls.
- Historical queries, by passing a block number where you would otherwise pass latest.
Trade-offs
- It cannot push. Finding out that a block landed means polling for it, or moving to WebSocket.
- Wide log queries get refused. Page through in fixed block windows and merge the results yourself.
- Batch responses may come back in any order. Match them on id, never on position.
Enabled and tested methods
Read live from the endpoint, so this is what it actually serves today rather than what the protocol allows in principle. Anything not on this list returns a method-not-found error.
- CreateTransaction
- Submits a signed transaction to the network.
- DSBlockListing
- Returns a paged listing of directory service blocks.
- eth_blockNumber
- Returns the height of the most recent block.
- eth_call
- Executes a read-only call against current state, without sending a transaction or spending gas.
- eth_callMany
- Executes several calls in sequence against the same state snapshot.
- eth_chainId
- Returns the chain ID used for replay-protected transaction signing.
- eth_estimateGas
- Estimates how much gas a transaction would consume, without submitting it.
- eth_feeHistory
- Returns base fee and priority fee percentiles across a range of recent blocks.
- eth_gasPrice
- Returns the current gas price in wei.
- eth_getBalance
- Returns the native token balance of an address at a given block.
- eth_getBlockByHash
- Returns a block identified by its hash.
- eth_getBlockByNumber
- Returns a block identified by its height.
- eth_getBlockTransactionCountByHash
- Returns how many transactions a block contains, located by hash.
- eth_getBlockTransactionCountByNumber
- Returns how many transactions a block contains, located by height.
- eth_getCode
- Returns the contract bytecode deployed at an address.
- eth_getLogs
- Returns event logs matching a filter of address, topics and block range.
- eth_getProof
- Returns a Merkle proof for an account and any of its storage slots.
- eth_getStorageAt
- Reads a single storage slot from a contract.
- eth_getTransactionByBlockHashAndIndex
- Returns a transaction by its position in a block, located by hash.
- eth_getTransactionByBlockNumberAndIndex
- Returns a transaction by its position in a block, located by height.
- eth_getTransactionByHash
- Returns a transaction identified by its hash.
- eth_getTransactionCount
- Returns how many transactions an address has sent, which is its next nonce.
- eth_getTransactionReceipt
- Returns the receipt of a mined transaction: status, gas used, and emitted logs.
- eth_getUncleByBlockHashAndIndex
- Returns an uncle (ommer) block by parent hash and index.
- eth_getUncleByBlockNumberAndIndex
- Returns an uncle (ommer) block by parent height and index.
- eth_getUncleCountByBlockHash
- Returns how many uncles a block has, located by hash.
- eth_getUncleCountByBlockNumber
- Returns how many uncles a block has, located by height.
- eth_maxPriorityFeePerGas
- Suggests a priority fee (tip) per gas for timely inclusion.
- eth_sendRawTransaction
- Broadcasts an already signed, serialized transaction to the network.
- eth_signTypedData
- Signs EIP-712 structured data.
- eth_signTypedData_v3
- Signs EIP-712 structured data using the v3 encoding.
- eth_syncing
- Reports whether the node is still syncing, and how far behind it is.
- GetBalance
- Returns the balance and nonce of an address.
- GetBlockchainInfo
- Returns a summary of chain state, including block counts and transaction rates.
- GetContractAddressFromTransactionID
- Returns the contract address created by a deployment transaction.
- GetCurrentDSComm
- Returns the current directory service committee.
- GetCurrentDSEpoch
- Returns the current directory service epoch number.
- GetCurrentMiniEpoch
- Returns the current transaction block number.
- GetDsBlock
- Returns a directory service block by number.
- GetDSBlockRate
- Returns the rate at which directory service blocks are produced.
- GetLatestDsBlock
- Returns the most recent directory service block.
- GetLatestTxBlock
- Returns the most recent transaction block.
- GetMinerInfo
- Returns the miners and shard composition for a directory service epoch.
- GetMinimumGasPrice
- Returns the minimum gas price the network will accept.
- GetNetworkId
- Returns the network ID used for transaction signing.
- GetNodeType
- Returns the role this node performs in the network.
- GetNumDSBlocks
- Returns the total number of directory service blocks.
- GetNumPeers
- Returns how many peers the node is connected to.
- GetNumTransactions
- Returns the total number of transactions the chain has processed.
- GetNumTxBlocks
- Returns the total number of transaction blocks.
- GetNumTxnsDSEpoch
- Returns how many transactions were processed in the current directory service epoch.
- GetNumTxnsTxEpoch
- Returns how many transactions were processed in the current transaction epoch.
- GetPrevDifficulty
- Returns the mining difficulty of the previous shard epoch.
- GetPrevDSDifficulty
- Returns the mining difficulty of the previous directory service epoch.
- GetRecentTransactions
- Returns a sample of recently processed transaction hashes.
- GetShardingStructure
- Returns how many nodes sit in each shard.
- GetSmartContractCode
- Returns the Scilla source code of a deployed contract.
- GetSmartContractInit
- Returns the immutable initialisation parameters of a contract.
- GetSmartContracts
- Lists the contracts deployed by an address.
- GetSmartContractState
- Returns the full mutable state of a contract.
- GetSmartContractSubState
- Returns a selected part of a contract state.
- GetSoftConfirmedTransaction
- Returns a transaction that is soft confirmed but not yet finalised.
- GetStateProof
- Returns a Merkle proof for a contract state entry.
- GetTotalCoinSupply
- Returns the total supply of ZIL.
- GetTransaction
- Returns a transaction by its hash, with its receipt.
- GetTransactionRate
- Returns the current transaction throughput.
- GetTransactionsForTxBlock
- Lists the transaction hashes in a block, grouped by shard.
- GetTransactionsForTxBlockEx
- Lists the transaction hashes in a block, a page at a time.
- GetTransactionStatus
- Returns the current status of a transaction, including pending states.
- GetTxBlock
- Returns a transaction block by number.
- GetTxBlockRate
- Returns the rate at which transaction blocks are produced.
- GetTxnBodiesForTxBlock
- Returns the full transaction bodies contained in a block.
- GetVersion
- Returns the node software and API version.
- net_peerCount
- Returns how many peers the node is currently connected to.
- net_version
- Returns the network ID the node is connected to.
- TxBlockListing
- Returns a paged listing of transaction blocks.
- web3_clientVersion
- Returns the node client name and version string.
Common JSON-RPC errors
What you are most likely to hit calling this interface, and what to do about it.
- -32700
- Parse error. The request body was not valid JSON. Check that the body is serialised JSON and that Content-Type is application/json.
- -32600
- Invalid request. The JSON parsed, but it is not a well-formed JSON-RPC call. Include jsonrpc, method and id fields. A batch must be a non-empty array.
- -32601
- Method not found. This node does not expose the method you called. Check the spelling and the namespace, and confirm the method is in the list above for this network. Tracing methods in particular are not enabled everywhere.
- -32602
- Invalid params. The method exists but the arguments are wrong. Check argument order and types. Most EVM methods want hex-encoded quantities, and a block parameter such as latest or a hex height.
- -32603
- Internal error. The node failed while handling an otherwise valid request. Retry with backoff. If it persists on one method, it is usually that method rather than the node.
- -32000
- Server error. A catch-all the node uses for execution failures, most often a reverted call or a request over a limit. Read the accompanying message. Execution reverted means your call failed on chain, not in transport. Narrow the block range if you are querying logs.
- HTTP 429
- Rate limited. You have exceeded the free tier request allowance. Back off and retry, batch reads into single calls, or move to a dedicated endpoint for production traffic.
- HTTP 413
- Payload too large. The request body exceeded what the node accepts. Split large batches into smaller ones.
Indexed Zilliqa Data Insights
Complete on-chain data access, no infrastructure to run yourself. Query wallets, tokens, NFTs, and transaction history with lightning-fast APIs.
About Zilliqa
What it is, and guides for building on it.
The Zilliqa RPC documentation provides developers with the tools to interact with the Zilliqa blockchain programmatically. Zilliqa is a high-throughput blockchain that uses sharding technology to achieve scalability and fast transactions. The documentation includes API endpoints for querying blockchain data, managing transactions, and deploying smart contracts. Zilliqa’s architecture is ideal for decentralized finance (DeFi), gaming, and other dApps requiring high transaction throughput and scalability.
What's new at Tatum on Zilliqa?
Notifications: Robinhood
Robinhood Chain is now live on Tatum’s Blockchain Notifications, with support for all notification types. Receive onc...
RPC Gateway: WebSockets for Arbitrum and BSC
Stop polling. Start streaming. Tatum WebSocket subscriptions push blockchain updates to your app over a persistent co...
Harmony Networks Removal
Tatum is decommissioning its hosted Harmony Mainnet S0, Harmony Testnet S0, and Harmony Devnet S0 RPC services follow...
Frequently Asked Questions
Everything you need to know about Zilliqa RPC endpoints
Quick Answer: What is Zilliqa RPC?
RPC (Remote Procedure Call) is the standard way to interact with the network programmatically - reading on-chain data, submitting transactions, and deploying smart contracts through JSON-RPC calls. The free tier ships 5 requests per minute with no registration required, which covers most learning and testing workflows. Production applications typically move to Tatum Premium for 200 requests per second and enterprise-grade reliability.
What is Zilliqa RPC?
How do I connect to Zilliqa using these RPC endpoints?
What are the rate limits for the free RPC tier?
Is Zilliqa RPC free forever?
What happens if I exceed the free tier rate limit?
Can I use these Zilliqa RPC endpoints with MetaMask?
Are these RPC endpoints secure?
What's the difference between mainnet and testnet RPC endpoints?
How do I troubleshoot RPC connection errors?
Can I use these endpoints in production?
Explore Other Blockchains
Discover RPC endpoints for other popular blockchain networks