Skip to content

JSON-RPC ​

HTTPhttps://rpc.utn.network
WebSocketwss://rpc.utn.network
Chain id20261003 (0x135288b)

The public Besu node enables the eth, net, and web3 namespaces, on HTTP and on WebSocket. Admin, QBFT, debug, and txpool methods are not on this URL.

bash
curl -s https://rpc.utn.network \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

result is 0x135288b. net_version returns "20261003". web3_clientVersion returns a besu/v26.9.0/... string. eth_gasPrice returns 0x6ed3cf9800 (476 gwei).

The wallet host also exposes POST https://wallet.utn.network/rpc (GET is HTTP 405). It is the same guard, with a tighter edge limit (below). Browsers on the wallet use that path. Other apps should use https://rpc.utn.network.

Limits ​

Two layers apply to https://rpc.utn.network.

LimitWhereValue
HTTP requestsEdge, per IP600 per minute
WebSocket upgradesEdge, per IP20 per minute
POST /rpc on the wallet hostEdge, per IP240 per minute
Request bodyrpc-guard1 MiB (1048576 bytes)
JSON-RPC batchrpc-guard50 calls
eth_sendRawTransactionrpc-guard, per IP30 per minute

The 600 per minute HTTP cap is sized for a wallet that polls several methods. The send cap is separate and smaller.

Errors ​

ConditionHTTPBody
Body larger than 1 MiB413{"error":"too large"}
Batch longer than 50200JSON-RPC error -32600, Batch too large (max 50).
More than 30 sends in a minute from one IP200-32005, Too many transactions from this connection. Wait a minute and try again.
The node did not answer200-32603, RPC unavailable: …

A batch that mixes a rejected send with other calls returns one JSON-RPC array. The rejected positions carry -32005. The rest are the node's answers.

The edge rate limit is a separate HTTP 429 from the JSON-RPC errors above. The guard does not see requests the edge already refused.

Malformed JSON is forwarded to the node. The guard does not replace it with its own error.

Testnet coin T-RAIN · chain 20261003