Elysium errors

Elysium answers on two layers. The plan gate in front of the network returns plain HTTP errors whose body has a string error field. The Elysium handler returns JSON-RPC errors with a numeric code. Handle the HTTP status and the body together. Every row below was reproduced through Triport production on 2026-11-08 (D2 check), unless the row says otherwise.

Endpoint and plans: Elysium RPC endpoint.

HTTP gate (before the RPC call is dispatched)

HTTPerrorWhenClient action
401unauthorizedMissing or unknown API key.Check the key. Pass it in the path (/r/<key>/elysium) or as X-API-Key on /rpc/elysium.
403method_unknownThe method is not in the Elysium method set, for example net_peerCount, txpool_, debug_, trace_, arb_, eth_newFilter or a misspelled name. A JSON-RPC batch that contains such a method is rejected entirely: no element is executed.Remove the method. See unsupported methods. Do not retry.
403tier_insufficientThe method or product needs a higher plan. The body names current_tier and required_tier.Upgrade or use another method.
403scope_missingThe key has an explicit scope list without the required scope (elysium:rpc, or elysium:das for the batch history).Allow the endpoint for this key at https://triport.io/app/keys, or use another key.
405method_not_allowedGET or another verb on the JSON-RPC URL.Send POST.
429rate_limitedPlan RPS for the category is exceeded. The body includes category, limit_rps, burst_capacity and retry_after_sec; headers include Retry-After and X-Ratelimit-Category / X-Ratelimit-Limit.Wait for Retry-After, then retry.

The method_unknown gate is the answer a client sees for an unsupported method. The JSON-RPC code -32601 below is only returned when a documented method has no node able to serve it.

Measured method_unknown body (2026-11-08):

HTTP/1.1 403 Forbidden
{"error":"method_unknown","message":"Method \"net_peerCount\" is not supported on chain \"elysium\". Check the method name and the endpoint path; supported methods: https://triport.io/errors/http-403-forbidden","chain":"elysium","method":"net_peerCount","docs_url":"https://triport.io/errors/http-403-forbidden"}

Measured plan-gate 429 body (Free key, 2026-11-08; upgrade_url and docs_url omitted here):

HTTP/1.1 429 Too Many Requests
Retry-After: 1
X-Ratelimit-Category: elysium_read_rpc
X-Ratelimit-Limit: 5
{"error":"rate_limited","message":"Rate limit reached: your free plan allows 5 requests/s for elysium_read_rpc. ...","current_tier":"free","category":"elysium_read_rpc","limit_rps":5,"burst_capacity":10,"retry_after_sec":1}

JSON-RPC codes

CodeHTTPMeaningClient action
-32700400Parse error: the body is not valid JSON.Fix the request body.
-32600200Invalid Request, for example an empty batch [].Send at least one request object.
-32601200Method not found / unavailable for a documented method. Unsupported methods get HTTP 403 method_unknown instead.Check the method index.
-32602200Invalid params: wrong hex or address, an eth_getLogs range wider than 10,000 blocks, blockHash combined with fromBlock/toBlock, or an invalid raw transaction for eth_sendRawTransaction.Fix the positional parameters or split the range.
-32005429rate limit reached; retry later: the Elysium node pool is temporarily at capacity. This is not your plan limit (that one is HTTP 429 rate_limited above). Retry-After is set.Back off for Retry-After, then retry.
-32005200Response-size limit: a response or an entire batch above 8 MB (8,388,608 bytes; BE3). Not reproduced in the D2 check.Narrow the range or add address/topics filters.
3200Execution reverted, with data (for example "0x").Inspect the call and contract state; this is an execution error, not an unavailable method.
-32000503upstream unavailable: no node answered.Retry reads with bounded exponential backoff.
-32000200A node error relayed as is, for example missing trie node … is not available on a historical-state read (seen on 2026-11-08 for eth_getStorageAt and eth_getProof at a block about 100,000 blocks old; the retry succeeded).Retry with bounded backoff. Never read it as an empty or zero result.

For transaction submission, -32000 can also be a network rejection or an unknown outcome. With error.data.outcome = unknown, use error.data.txHash to poll the transaction and receipt; Triport does not automatically resend. Network nonce, replacement-fee and insufficient-funds errors retain their network code and message after infrastructure identifiers are removed.

Classify -32000 by code and message together: a missing block or unavailable historical state is distinct from a temporary service outage. Error messages may change and must not be parsed for endpoint selection.

Measured responses (2026-11-08):

{"jsonrpc":"2.0","id":1,"error":{"code":-32602,"message":"eth_getLogs is limited to 10000 blocks per request on Elysium; split the range"}}
{"jsonrpc":"2.0","id":1,"error":{"code":-32005,"message":"rate limit reached; retry later"}}
{"jsonrpc":"2.0","id":1,"error":{"code":3,"message":"execution reverted","data":"0x"}}

In a batch, an element with invalid params gets its own error object while the other elements succeed; only a method_unknown element (or the plan rate gate) rejects the whole batch.

See the shared error reference, Authentication and Rate Limits & Tiers.

Overview · Limits · Methods

Terms on this page: JSON-RPC · Nonce.