> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavchain.safeney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ethereum JSON-RPC

> Use Tavchain HTTP Ethereum JSON-RPC for state queries and signed transactions, with endpoint details, common methods, limits and errors.

Use Tavchain's HTTP Ethereum JSON-RPC endpoint to read chain state and submit locally signed transactions.

**Endpoint:** `https://api.testnet.tavchain.safeney.com/`\
**EVM chain ID:** `771002` (`0xbc3ba`)

Send JSON-RPC 2.0 requests with HTTP POST and `Content-Type: application/json`. The RPC URL is an API endpoint, not a web page; opening it with a browser GET request or checking it with HEAD can return HTTP 404 even while POST requests work.

For queries from a coding assistant, see [Read live blockchain data with AI](https://docs.tavchain.safeney.com/tavchain/ai-chain.md).

## Example request

```bash theme={null}
set -e
curl --fail-with-body --max-time 10 \
  https://api.testnet.tavchain.safeney.com/ \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
```

The expected chain ID result is `"0xbc3ba"`.

## Common methods

| Task | Method | Reference |
| - | - | - |
| Identify the network | `eth_chainId` | [Network identity](https://docs.tavchain.safeney.com/tavchain/api/network-selection.md) |
| Read the head | `eth_blockNumber` | [Network identity](https://docs.tavchain.safeney.com/tavchain/api/network-selection.md) |
| Read native balance | `eth_getBalance` | [Balance and nonce](https://docs.tavchain.safeney.com/tavchain/api/account.md) |
| Read account nonce | `eth_getTransactionCount` | [Balance and nonce](https://docs.tavchain.safeney.com/tavchain/api/account.md) |
| Read contract state | `eth_call` | [Token balance](https://docs.tavchain.safeney.com/tavchain/api/reference-token.md) |
| Estimate execution | `eth_estimateGas` | [Gas fees](https://docs.tavchain.safeney.com/tavchain/learn/fees.md) |
| Submit signed bytes | `eth_sendRawTransaction` | [Submission](https://docs.tavchain.safeney.com/tavchain/api/submit-transaction.md) |
| Inspect execution | `eth_getTransactionReceipt` | [Receipts](https://docs.tavchain.safeney.com/tavchain/api/transaction.md) |
| Read a block | `eth_getBlockByNumber` | [Node monitoring](https://docs.tavchain.safeney.com/tavchain/operate/monitoring.md#compare-a-fixed-block) |

Public namespaces are `eth`, `net` and `web3`. The service does not unlock server accounts. Public WebSocket RPC and debug tracing are not offered.

## Usage limits

| Limit | Public endpoint |
| - | - |
| HTTP request rate per IP | 10 requests/second, burst 20 |
| Aggregate HTTP request rate | 100 requests/second, burst 100 |
| Concurrent requests | 10 per IP, 100 overall |
| Request size | 1 MiB |
| JSON-RPC batch size | 50 requests |
| `eth_call` execution | 10 million gas, 5 seconds |
| Log query | 1,000 blocks and 1,000 results |

Shared-IP users share the per-IP quota. Excess traffic returns HTTP **429**. These API protection settings are not a network throughput benchmark.

## Handle responses and errors

Inspect both the HTTP status and JSON body. A JSON-RPC response has a matching `id` and either `result` or `error`. Network and HTTP errors can occur before a JSON-RPC response exists.

Back off before retrying read requests. For an uncertain transaction submission, inspect the original hash and receipt before making a replacement.

[Response formats](https://docs.tavchain.safeney.com/tavchain/api/schemas.md) · [Interface overview](https://docs.tavchain.safeney.com/tavchain/api/openapi.md) · [Troubleshooting](https://docs.tavchain.safeney.com/tavchain/troubleshooting.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.