Free Tezos RPC (XTZ)
Discover Tezos, a self-amending blockchain with on-chain governance. Build decentralized applications using its RPC gateway and flexible architecture.
Connect to Tezos
Access reliable, enterprise-grade endpoints that power your dApp with ultra-low latency and 99.9% uptime.
Connect to Tezos Gateway
Make your first RPC call on Tezos's Blockchain Gateway.
Shadownet
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 Tezos
Deploy, create, and interact with smart contracts on Tezos.
No signup. No paywalls. Just RPC that works. Great ideas come from everywhere.
With love by Tatum
Tezos methods
Every method the Tezos gateway accepts, grouped by interface. 129 in total, read live from the node rather than kept by hand.
Mainnet is the live Tezos network. Every transaction it
accepts is final, and every XTZ balance it
reports is real money.
Shadownet is the test network. It answers the same methods as Mainnet, with tokens that are free and deliberately worthless, so you can rehearse edge cases at no risk. Moving to Mainnet is a URL change and nothing more.
Everything below is served over REST. Its endpoint differs per network, and all of them are in the gateway list above.
What sits between you and Tezos
A node is a machine running Tezos 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.
REST
129 methodsEvery resource has its own URL, so a request is just an address you can open.
Paste it into a browser, curl it, or bookmark it. There is no body to construct and no method name to look up, and because a read is a plain GET, ordinary HTTP caching applies at the CDN and in your own client. Responses are JSON, and the path itself usually tells you what you are getting.
Where it fits
- Getting oriented on an unfamiliar chain without writing any code first.
- Caching, because a GET can be cached by anything sitting between you and the node.
- Debugging, since the request that failed is a URL you can paste to a colleague.
Trade-offs
- You get exactly what the endpoint returns. There is no way to ask for less, or for more.
- Building a full picture takes several round trips where one batched JSON-RPC call would do.
- Paths carry version prefixes and shift between node releases more readily than method names do.
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.
- GET /chains/{chain_id}/blocks
- Lists the known block hashes, newest first.
- GET /chains/{chain_id}/blocks/{block_id}
- Returns a block with its header, metadata and operations.
- GET /chains/{chain_id}/blocks/{block_id}/context/adaptive_issuance_launch_cycle
- Returns the cycle in which adaptive issuance activates.
- GET /chains/{chain_id}/blocks/{block_id}/context/big_maps/{id}
- Returns the contents of a big map.
- GET /chains/{chain_id}/blocks/{block_id}/context/big_maps/{id}/{key_hash}
- Returns one value from a big map by key hash.
- GET /chains/{chain_id}/blocks/{block_id}/context/constants
- Returns the protocol constants in force at this block.
- GET /chains/{chain_id}/blocks/{block_id}/context/constants/errors
- Returns the error schema the protocol can produce.
- GET /chains/{chain_id}/blocks/{block_id}/context/constants/parametric
- Returns the protocol constants that governance can change.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts
- Lists every contract and account known at this block.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}
- Returns an account or contract, including balance, counter and script.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/balance
- Returns the spendable balance of an account.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/balance_and_frozen_bonds
- Returns the balance plus any bonds frozen as collateral.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/counter
- Returns the operation counter, which acts as the account nonce.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/delegate
- Returns the delegate an account has set, if any.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/entrypoints
- Lists the entrypoints a contract exposes, with their parameter types.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/frozen_bonds
- Returns the bonds frozen as collateral by an account.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/full_balance
- Returns the total balance including frozen and staked funds.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/manager_key
- Returns the public key that manages an account.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/script
- Returns the Michelson code of a contract.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/staked_balance
- Returns the amount an account has staked.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/storage
- Returns the current storage of a contract.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/storage/paid_space
- Returns the storage space an account has already paid for.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/storage/staking_numerator
- Returns the numerator used when splitting staking rewards.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/storage/used_space
- Returns the storage space a contract currently occupies.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/unstake_requests
- Lists the pending unstake requests of an account.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/unstaked_finalizable_balance
- Returns unstaked funds that can now be finalised.
- GET /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/unstaked_frozen_balance
- Returns unstaked funds still inside the freezing period.
- GET /chains/{chain_id}/blocks/{block_id}/context/dal/shards
- Returns the data availability layer shard assignment.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}
- Returns a delegate: balances, staking, participation and status.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/active_staking_parameters
- Returns the staking parameters currently applied to a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/balance
- Returns the spendable balance of a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/companion_key
- Returns the companion key registered by a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/consensus_key
- Returns the key a delegate signs consensus operations with.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/current_frozen_deposits
- Returns the deposits a delegate currently has frozen.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/dal_participation
- Returns how well a delegate is participating in the data availability layer.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/deactivated
- Reports whether a delegate has been deactivated for inactivity.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/delegated_balance
- Returns the balance delegated to a delegate by others.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/delegated_contracts
- Lists the accounts delegating to a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/frozen_balance
- Returns the frozen balance of a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/frozen_balance_by_cycle
- Returns the frozen balance of a delegate broken down by cycle.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/frozen_deposits
- Returns the deposits a delegate has frozen.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/frozen_deposits_limit
- Returns the cap a delegate has set on its frozen deposits.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/full_balance
- Returns the total balance of a delegate, frozen funds included.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/grace_period
- Returns the cycle at which a delegate is deactivated if it stays inactive.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/is_forbidden
- Reports whether a delegate is currently barred from baking.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/min_delegated_in_current_cycle
- Returns the minimum delegated balance seen this cycle.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/participation
- Returns attestation participation and expected rewards for a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/pending_staking_parameters
- Returns staking parameter changes a delegate has queued.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/stakers
- Lists the accounts staking with a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/staking_balance
- Returns the total balance counting towards the baking rights of a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/staking_denominator
- Returns the denominator used when splitting staking rewards.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/total_delegated_stake
- Returns the total stake delegated to a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/voting_info
- Returns the voting power and ballot status of a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/delegates/{pkh}/voting_power
- Returns the voting power of a delegate.
- GET /chains/{chain_id}/blocks/{block_id}/context/issuance/current_yearly_rate
- Returns the current annual issuance rate.
- GET /chains/{chain_id}/blocks/{block_id}/context/issuance/current_yearly_rate_details
- Returns the annual issuance rate broken down by reward type.
- GET /chains/{chain_id}/blocks/{block_id}/context/issuance/current_yearly_rate_exact
- Returns the annual issuance rate as an exact fraction.
- GET /chains/{chain_id}/blocks/{block_id}/context/issuance/expected_issuance
- Returns the issuance expected over the coming cycles.
- GET /chains/{chain_id}/blocks/{block_id}/context/issuance/issuance_per_minute
- Returns the tokens issued per minute.
- GET /chains/{chain_id}/blocks/{block_id}/context/nonces/{block_level}
- Returns the nonce revealed for a block level.
- GET /chains/{chain_id}/blocks/{block_id}/context/seed
- Returns the randomness seed for the current cycle.
- GET /chains/{chain_id}/blocks/{block_id}/context/seed_computation
- Returns the state of the randomness seed computation.
- GET /chains/{chain_id}/blocks/{block_id}/context/total_currently_staked
- Returns the total amount currently staked across the network.
- GET /chains/{chain_id}/blocks/{block_id}/context/total_frozen_stake
- Returns the total stake currently frozen.
- GET /chains/{chain_id}/blocks/{block_id}/context/total_supply
- Returns the total supply of tez.
- GET /chains/{chain_id}/blocks/{block_id}/hash
- Returns the hash of a block.
- GET /chains/{chain_id}/blocks/{block_id}/header
- Returns the header of a block.
- GET /chains/{chain_id}/blocks/{block_id}/header/protocol_data
- Returns the protocol-specific part of a block header.
- GET /chains/{chain_id}/blocks/{block_id}/header/protocol_data/raw
- Returns the protocol-specific header data in raw binary form.
- GET /chains/{chain_id}/blocks/{block_id}/header/raw
- Returns the block header in raw binary form.
- GET /chains/{chain_id}/blocks/{block_id}/header/shell
- Returns the shell part of a block header, which is protocol independent.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/attestation_rights
- Returns which delegates are expected to attest, and when.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/baking_rights
- Returns which delegates may bake each round, and when.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/complete/{prefix}
- Completes a partial hash or address prefix into full candidates.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/current_level
- Returns the level, cycle and position within the cycle.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/levels_in_current_cycle
- Returns the first and last level of the current cycle.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/round
- Returns the consensus round the block was produced in.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/total_baking_power
- Returns the total baking power across all delegates.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/tz4_staker_number_ratio
- Returns the share of stakers using tz4 BLS addresses.
- GET /chains/{chain_id}/blocks/{block_id}/helpers/validators
- Returns the delegates validating this block and their slots.
- GET /chains/{chain_id}/blocks/{block_id}/live_blocks
- Lists the blocks whose operations are still valid for inclusion.
- GET /chains/{chain_id}/blocks/{block_id}/metadata
- Returns block metadata: protocol, balance updates and consumed gas.
- GET /chains/{chain_id}/blocks/{block_id}/operation_hashes
- Lists the operation hashes in a block.
- GET /chains/{chain_id}/blocks/{block_id}/operation_hashes/{validation_pass}
- Lists the operation hashes in one validation pass.
- GET /chains/{chain_id}/blocks/{block_id}/operation_hashes/{validation_pass}/{operation_offset}
- Returns one operation hash by pass and offset.
- GET /chains/{chain_id}/blocks/{block_id}/operations
- Returns the operations in a block, grouped by validation pass.
- GET /chains/{chain_id}/blocks/{block_id}/protocols
- Returns the protocol running at this block and its successor.
- GET /chains/{chain_id}/blocks/{block_id}/votes/ballot_list
- Lists the ballots cast in the current voting period.
- GET /chains/{chain_id}/blocks/{block_id}/votes/ballots
- Returns the ballot tally for the current voting period.
- GET /chains/{chain_id}/blocks/{block_id}/votes/current_period
- Returns the current voting period and its position.
- GET /chains/{chain_id}/blocks/{block_id}/votes/current_proposal
- Returns the proposal being voted on.
- GET /chains/{chain_id}/blocks/{block_id}/votes/current_quorum
- Returns the quorum required to carry the current vote.
- GET /chains/{chain_id}/blocks/{block_id}/votes/listings
- Lists the delegates eligible to vote and their voting power.
- GET /chains/{chain_id}/blocks/{block_id}/votes/proposals
- Lists the proposals submitted in the proposal period.
- GET /chains/{chain_id}/blocks/{block_id}/votes/successor_period
- Returns the voting period that follows the current one.
- GET /chains/{chain_id}/blocks/{block_id}/votes/total_voting_power
- Returns the total voting power in the current period.
- GET /chains/{chain_id}/chain_id
- Returns the identifier of a chain.
- GET /chains/{chain_id}/invalid_blocks
- Lists blocks the node rejected as invalid.
- GET /chains/{chain_id}/is_bootstrapped
- Reports whether the node has finished bootstrapping.
- GET /chains/{chain_id}/levels/caboose
- Returns the oldest level the node still holds data for.
- GET /chains/{chain_id}/levels/checkpoint
- Returns the level below which blocks are final.
- GET /chains/{chain_id}/levels/savepoint
- Returns the oldest level with full block data.
- GET /chains/{chain_id}/mempool/filter
- Returns the filter settings applied to the mempool.
- GET /chains/{chain_id}/mempool/pending_operations
- Lists the operations waiting in the mempool.
- GET /chains/main/chain_id
- Returns the identifier of the main chain.
- GET /config
- Returns the node configuration.
- GET /config/history_mode
- Returns the history mode the node runs in: archive, full or rolling.
- GET /config/network/dal
- Returns the data availability layer configuration.
- GET /errors
- Returns the JSON schema of every error the node can return.
- GET /fetch_protocol/{protocol_hash}
- Fetches a protocol from peers by its hash.
- GET /protocols
- Lists the protocols the node knows.
- GET /protocols/{protocol_hash}
- Returns one protocol by its hash.
- GET /version
- Returns the API versions the server supports.
- GET /versions
- Returns the node version and the protocols it supports.
- POST /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/all_ticket_balances
- Returns every ticket balance held by a contract.
- POST /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/big_map_get
- Reads a value from the big map of a contract.
- POST /chains/{chain_id}/blocks/{block_id}/context/contracts/{contract_id}/ticket_balance
- Returns the balance of one ticket type held by a contract.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/forge_block_header
- Serialises a block header into its binary form.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/forge/consensus_operations
- Serialises consensus operations into their binary form for signing.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/forge/operations
- Serialises operations into their binary form for signing.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/forge/signed_operations
- Serialises operations together with their signatures.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/parse/operations
- Decodes binary operations back into readable JSON.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/preapply/block
- Simulates applying a block, returning the result without committing it.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/preapply/operations
- Simulates applying operations, returning their result without committing.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/scripts/event_address
- Returns the address events from a contract are emitted to.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/scripts/run_operation
- Runs an operation against current state without injecting it.
- POST /chains/{chain_id}/blocks/{block_id}/helpers/scripts/simulate_operation
- Simulates an operation including fees and gas, without injecting it.
- POST /chains/{chain_id}/mempool/filter
- Updates the filter settings applied to the mempool.
- POST /injection/operation
- Injects a signed operation into the network.
Common REST errors
What you are most likely to hit calling this interface, and what to do about it.
- 400
- Bad request. A path or query parameter is malformed. Check the parameter format, and that path values are URL-encoded.
- 404
- Not found. Either the path is wrong, or the resource genuinely does not exist at that height. Confirm the path against the list above. A valid path can still 404 for pruned history on a non-archive node.
- 429
- Rate limited. You have exceeded the free tier request allowance. Back off and retry. REST responses cache well, so caching on your side removes most repeat traffic.
- 500
- Internal server error. The node failed while handling the request. Retry with backoff.
- 503
- Service unavailable. The node is starting, resyncing, or temporarily out of rotation. Retry with backoff; this is normally short-lived.
Indexed Tezos Data Insights
Complete on-chain data access, no infrastructure to run yourself. Query wallets, tokens, NFTs, and transaction history with lightning-fast APIs.
Get Wallet Portfolio
Fetch all token balances for a wallet on Tezos.
Get Token Exchange Rates
Check exchange rates for tokens and fiat on Tezos.
Check Tezos Malicious Address
Verify if an address on Tezos is flagged as malicious.
NFT API on Tezos
Query collections, get metadata, check ownership, and track balances on Tezos.
Get Token Information
Fetch detailed information about a token on Tezos.
Get Tezos Wallet Transactions
Retrieve all Tezos transactions for a wallet, including internal transfers.
Real-time Tezos Alerts
Real-time webhooks for on-chain events. Stop polling the network - get instant alerts for transactions, smart contract events, and wallet activities.
About Tezos
What it is, and guides for building on it.
The Tezos RPC documentation provides developers with a comprehensive guide to interact with the Tezos blockchain programmatically. Tezos is a self-amending blockchain that uses a proof-of-stake (PoS) consensus mechanism and on-chain governance to enable continuous upgrades without requiring hard forks. The documentation includes API endpoints for querying blockchain data, managing transactions, and deploying smart contracts. Tezos’s unique architecture and upgradeable governance make it ideal for decentralized applications (dApps) and decentralized finance (DeFi) projects.
What's new at Tatum on Tezos?
Notifications: Robinhood
Robinhood Chain is now live on Tatum’s Blockchain Notifications, with support for all notification types. Receive onc...
Deprecation Notice: Notifications Support for Tezos, Holesky & Kadena
Tatum is updating its Notifications product coverage and will deprecate Notifications support for Tezos, Holesky, and...
Tezos Ghostnet Deprecation & Migration to Shadownet
The Tezos ecosystem is sunsetting the Ghostnet test network. In alignment with official Tezos recommendations, Tatum ...
Frequently Asked Questions
Everything you need to know about Tezos RPC endpoints
Quick Answer: What is Tezos 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 Tezos RPC?
How do I connect to Tezos using these RPC endpoints?
What are the rate limits for the free RPC tier?
Is Tezos RPC free forever?
What happens if I exceed the free tier rate limit?
Can I use these Tezos 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