400 UNKNOWN_PARAM names the parameter we do not know (Unknown query parameter "blockchain"), so a leftover parameter from another provider is caught on the first call; 400 INVALID_PARAM is a known parameter with a bad value.
503 responses carry a Retry-After header (seconds): retry after that delay, the request is not billed.
In a batch, which answers 200, a failed item comes back as an { error } slot carrying one of these codes, and that item is not billed either.
402 PAYMENT_REQUIRED (a billing step is needed on the account) and 402 QUOTA_EXCEEDED (the account reached its allowance for now) are covered, with 403 FORBIDDEN on a suspended account, in Authentication & Limits: for keys created in the portal they carry details.action, the machine-readable next step. 429 RATE_LIMITED (per-key rate) is covered on the same page. 4xx requests and rejected calls are never billed.
415 UNSUPPORTED_MEDIA_TYPE: a POST body was not sent as application/json. 413 PAYLOAD_TOO_LARGE: the body is larger than the endpoint accepts; split the batch.