Build vs go live
You can verify receipts from static fixtures without a key. Production ingest requires a merchant key issued for a production pilot.
Checklist
- API key only on the server, as FISCAL402_API_KEY.
- Seller establishment is complete on the merchant account (EU VAT path).
- x402 settlement evidence mapped: txHash, network, amountUsdc as a decimal string, wallets, timestamp.
- Buyer country attested when required. Never inferred from wallet or chain.
- Idempotency-Key per settlement.
- Receipt persisted by id. UBL stored as exact UTF-8 bytes.
- Local verifier integrated (source). VERIFIED ≠ tax-authority approved.
- Webhook HMAC verified if you subscribe.
- Manual review handled as a result, not a crash.
- Reconciliation watched for unclosed settlements.
Retries
| Failure | Retry? |
|---|---|
| 400 / 401 / 409 / 422 validation | No — fix the request |
| 429 | Yes — honor Retry-After |
| 503 DB_UNAVAILABLE | Yes — exponential backoff |
| CHAIN_VERIFY_FAILED retryable | Yes — wait for the chain |
Support
Send request id, event id, receipt id, and SDK/source revision. Never send the API key. Pilot requests: contact.