Skip to main content

Free EOS RPC (EOS)

Explore EOS, a blockchain designed for high-performance decentralized applications. Build scalable dApps with its fast finality and low fees.

99.9%
2
24/7
FREE
Gateway

Connect to EOS

Access reliable, enterprise-grade endpoints that power your dApp with ultra-low latency and 99.9% uptime.

Connect to EOS Gateway

Make your first RPC call on EOS's Blockchain Gateway.

Mainnet

Mainnet
Mainnet Explorer
REST API
https://eos-mainnet.gateway.tatum.io

Jungle

Testnet
Jungle Explorer
REST API
https://eos-jungle.gateway.tatum.io

* Rate limit enabled - perfect for testing and development. For production, we recommend to Upgrade.

Ready for production?

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

Upgrade
Get Free API Key

Increase your limit and access all network features in Tatum Development Platform.

Accessible to Everyone

No signup. No paywalls. Just RPC that works. Great ideas come from everywhere.

Our Mission

With love by Tatum

Method reference

EOS methods

Every method the EOS gateway accepts, grouped by interface. 32 in total, read live from the node rather than kept by hand.

Mainnet is the live EOS network. Every transaction it accepts is final, and every EOS balance it reports is real money.

Jungle 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 EOS

A node is a machine running EOS 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

32 methods
https://eos-mainnet.gateway.tatum.io

Every 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 /v1/chain/get_info
Returns chain ID, head block and server version.
POST /v1/chain/compute_transaction
Runs a transaction without committing it, returning the outcome.
POST /v1/chain/get_abi
Returns the ABI of a contract account.
POST /v1/chain/get_account
Returns an account: balances, permissions and resource usage.
POST /v1/chain/get_accounts_by_authorizers
Finds accounts controlled by given keys or permissions.
POST /v1/chain/get_activated_protocol_features
Lists the protocol features activated on the chain.
POST /v1/chain/get_block
Returns a block by number or ID.
POST /v1/chain/get_block_header_state
Returns the in-memory header state of a block not yet irreversible.
POST /v1/chain/get_block_info
Returns a block header without its transactions.
POST /v1/chain/get_code
Returns the WASM code and ABI of a contract account.
POST /v1/chain/get_code_hash
Returns the hash of the code deployed to an account.
POST /v1/chain/get_currency_balance
Returns the token balance an account holds in a contract.
POST /v1/chain/get_currency_stats
Returns the supply and issuer of a token.
POST /v1/chain/get_finalizer_info
Returns the finalizer set and finality status.
POST /v1/chain/get_info
Returns chain ID, head block and server version.
POST /v1/chain/get_producer_schedule
Returns the active and pending block producer schedule.
POST /v1/chain/get_producers
Lists the block producers and their vote totals.
POST /v1/chain/get_raw_abi
Returns the ABI of a contract in its raw binary form.
POST /v1/chain/get_raw_code_and_abi
Returns the raw WASM and ABI of a contract.
POST /v1/chain/get_required_keys
Returns which of a supplied set of keys are needed to sign a transaction.
POST /v1/chain/get_scheduled_transactions
Lists transactions scheduled for future execution.
POST /v1/chain/get_table_by_scope
Lists the scopes present in a contract table.
POST /v1/chain/get_table_rows
Reads rows from a contract table.
POST /v1/chain/get_transaction_id
Computes the ID a transaction would have.
POST /v1/chain/get_transaction_status
Returns whether a transaction is known, and how final it is.
POST /v1/chain/push_block
Submits a block to the node.
POST /v1/chain/push_transaction
Submits a signed transaction using the legacy endpoint.
POST /v1/chain/push_transactions
Submits several signed transactions using the legacy endpoint.
POST /v1/chain/send_read_only_transaction
Runs a transaction read-only, with no state change.
POST /v1/chain/send_transaction
Submits a signed transaction.
POST /v1/chain/send_transaction2
Submits a signed transaction with finer control over retries and finality.
POST /v1/trace_api/get_block
Returns the execution traces recorded for a block.

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.
Blockchain Data

Indexed EOS Data Insights

Complete on-chain data access, no infrastructure to run yourself. Query wallets, tokens, NFTs, and transaction history with lightning-fast APIs.

Learn more

About EOS

What it is, and guides for building on it.

EOSIO's Remote Procedure Call (RPC) API allows developers to interact with the EOS blockchain. The RPC API provides a set of HTTP endpoints for querying blockchain data, managing blockchain nodes, interacting with smart contracts, and performing other operations on the EOS blockchain. EOSIO's delegated proof-of-stake (DPoS) consensus mechanism enables high scalability, low-latency transactions, and near-zero transaction fees. The EOS RPC documentation is designed to be user-friendly for developers, making it ideal for enterprise dApps.

FAQ

Frequently Asked Questions

Everything you need to know about EOS RPC endpoints

Quick Answer: What is EOS 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 EOS RPC?

RPC (Remote Procedure Call) is the interface that lets developers interact with the network: read on-chain data, submit transactions, and deploy smart contracts programmatically over standard JSON-RPC methods, without running your own node.

How do I connect to EOS using these RPC endpoints?

Simply copy the RPC endpoint URL from above and configure it in your Web3 library (ethers.js, web3.js), wallet (MetaMask, Trust Wallet), or development tool (Hardhat, Truffle). The endpoint works immediately with no registration required for the free tier.

What are the rate limits for the free RPC tier?

Free tier RPC endpoints are limited to 5 requests per minute. This is perfect for testing and development. For production applications, we recommend upgrading to Tatum Premium which offers 200 requests per second with no daily limits.

When should I upgrade to Premium?

Consider upgrading to Premium when you're moving to production, need higher rate limits (200 req/sec), require 99.9% uptime SLA, want access to archive nodes for historical data, or need advanced features like batch RPC calls, debug/trace methods, and priority support.

Is EOS RPC free forever?

Yes! Our free tier RPC endpoints are free forever with 5 requests per minute. This tier is perfect for learning, testing, and small projects. There are no hidden fees or time limits on the free tier.

What happens if I exceed the free tier rate limit?

If you exceed 5 requests per minute on the free tier, you'll receive an HTTP 429 (Too Many Requests) error. This is a standard rate limiting response. To avoid this, you can upgrade to Tatum Premium which offers 200 requests per second with no daily limits, perfect for production applications.

Can I use these EOS RPC endpoints with MetaMask?

Yes! You can configure MetaMask to use our RPC endpoints. Simply copy the endpoint URL from above, go to MetaMask Settings > Networks > Add Network (or edit existing), and paste the RPC URL. This works with all EVM-compatible networks, including this one.

Are these RPC endpoints secure?

Yes, all our RPC endpoints use HTTPS encryption and follow enterprise-grade security practices. They're powered by Tatum's infrastructure which maintains 99.9% uptime.

What's the difference between mainnet and testnet RPC endpoints?

Mainnet carries real transactions with real value, so every write is final. Testnet runs on a separate network funded with free test tokens, which makes it the safe place to try new code, retry failed calls, and simulate edge cases. Always validate on testnet before pointing production traffic at mainnet.

How do I troubleshoot RPC connection errors?

If you're experiencing connection errors, check: 1) The RPC endpoint URL is correct, 2) You're not exceeding rate limits (5 req/min for free tier), 3) Your network allows HTTPS connections, 4) The network is currently operational. For persistent issues, check our status page or contact support.

Can I use these endpoints in production?

Free tier endpoints can be used in production for low-traffic applications (under 5 req/min). For production apps with higher traffic, we strongly recommend Tatum Premium for guaranteed uptime, faster rate limits, and enterprise SLA.
Related Blockchains

Discover RPC endpoints for other popular blockchain networks