Typical public error envelope:
error.json
{
"error": {
"code": "CHAIN_VERIFY_FAILED",
"message": "tx_not_found",
"request_id": "…",
"retryable": false
}
}| Status | Code | When |
|---|---|---|
| 400 | BAD_REQUEST / invalid_schema | Malformed body |
| 401 | missing / invalid key | X-Fiscal402-Key |
| 404 | NOT_FOUND | Unknown settlement or receipt |
| 409 | IDEMPOTENCY_CONFLICT | Idempotency-Key reused with a different body |
| 422 | UNSUPPORTED_ASSET | FX path does not support the asset |
| 422 | UNSUPPORTED_JURISDICTION | No engine for the seller location |
| 422 | CHAIN_VERIFY_FAILED | On-chain USDC Transfer check failed |
| 422 | seller_not_eu | evaluate with non-EU seller |
| 429 | SANDBOX_QUOTA | Sandbox evaluate/simulate quota |
| 503 | DB_UNAVAILABLE | Readiness / persistence |