JSON-RPC
Error reference
Codes that come from Arc, and codes that come from us. The second group exists to turn a silent Arc failure into something your client can catch.
The quiet failures
Three Arc behaviours produce no error at all on a standard endpoint: a transaction under the base fee floor vanishes, eth_getBlockByNumber("pending") returns null, and eth_getTransactionBySenderAndNonce returns null. We convert the first to -32020 and the second to -32021 so they surface in your error handling rather than in a reconciliation report.
Response headers
Every response carries x-arcrpc-units, x-arcrpc-region and x-arcrpc-node-build. The last one is the same string arc_getVersion returns, so a support ticket can name the build without a round trip.