Check the HTTP status and each JSON-RPC response’s error field. An HTTP 200 can still contain a method error or a batch with failed items. Keep the request ID so you can match every result.
For safe reads, use a bounded retry count and increasing delays with jitter. Honor Retry-After when present. Correct authentication and request-shape errors before retrying.
Relay may use another eligible connection after a conclusive upstream rejection of a non-submission request. Successful batch items and uncertain outcomes are not automatically replayed. sendTransaction and sendBundle are never automatically retried by Relay.