Appearance
Platform limits
Hard operational limits, in one place. Rate limits (requests/min by plan) live on their own page; this page is everything else you can hit.
Request & response
| Limit | Value | Beyond it |
|---|---|---|
| JSON-RPC request body | 10 MiB | request rejected |
| Batch size | 100 items | HTTP 413, JSON-RPC -32600 (batch too large), nothing executed |
| Response size (any chain) | 50 MiB | larger node responses are cut off — narrow the query (block ranges, pagination) |
| Upstream request timeout | 30 s per node attempt | failover / -32603 |
| Gateway route timeout | 60 s connect / read / write | HTTP 504 |
Batches count as one request against the per-minute/hour/day windows but each inner call is metered and cache-checked individually — details in Batches, retries & caching.
WebSockets
| Limit | Value |
|---|---|
| Max frame size (either direction) | 16 MiB |
| Handshakes | rate-limited per key (~10/min) — reconnect with backoff |
| Open stream | unmetered; server pings every 30 s, reply or be reaped |
Details and per-chain subscription APIs: WebSockets.
Failover and retries (what the platform does for you)
- Multi-node chains are load-balanced; on a transport error (node unreachable, connection reset) the proxy re-routes the request to the next node — up to 3 attempts — before returning
-32603 backend request failed. - A valid response is never retried: if a node answers with a JSON-RPC error, you get that error. Retrying application-level errors is your call (retry matrix).
- The gateway additionally retries upstream connection failures (3 tries) before surfacing 502/504.
Quotas
| Quota | Default | Beyond it |
|---|---|---|
| Compute Units per project | 100,000 CU/day | JSON-RPC -32005 until the 24 h window rolls |
| Requests | per plan (rate limits) | HTTP 429 + Retry-After |
| Heavy methods | per plan, per minute | HTTP 429, -32029 |
Health probe
GET https://rpc.au.ro/healthz answers {"status":"ok"} without an API key — safe for load-balancer checks and uptime monitors on your side. It reflects gateway liveness, not per-chain node health; for chain-level probing call a cheap method on the chain you depend on (e.g. getblockcount, server_info) with your key.
Management API
| Limit | Value |
|---|---|
| Login / registration | 10/min per IP; repeated failures lock the account temporarily |
| Request body | 1 MB |
| Support ticket attachments | 5 per ticket, 10 MiB each (png/jpg/log/txt/json/pdf) |
If a limit here blocks a legitimate workload, request a raise or open a support ticket — categories exist for exactly that.