# Response validation

> The structural checks the Gateway applies to an upstream response before returning it.

Canonical page: https://rpc.aurpay.net/docs/failsafe/response-validation

For an ID-bearing request, before returning an upstream response the Gateway checks its structure: the body must be valid JSON, `jsonrpc` must be `2.0` (relaxed only for UTXO chains), the response `id` must be present and match the request, and exactly one of `result` and `error` must be set.

A response that fails these checks counts as a failure for health and for the Circuit, and moves to the next candidate when the operation can be replayed safely. The `id` returned to you is always the `id` you sent, including an explicit `null`.

Notifications produce no JSON-RPC Response, so these response-envelope checks do not apply. HTTP `204` with no body confirms only response suppression; it does not establish successful routing or forwarding, upstream acceptance or processing, method or transaction success, or network acceptance.

These checks are structural. The Gateway does not evaluate whether a well-formed result is correct.
