ErrorResponse payload. The exact fields can vary by handler, so integrations should parse defensively.
Common Error Shape
Every error response includes:errorreasondetailfieldcurrencymissingerrorsmessageconstrainttx_statusproject_uidwidget_idexpected
Typical Status Codes
| Code | Meaning | Common Cases |
|---|---|---|
400 | Invalid request | Missing fields, invalid ids, or redirect not available for the current state |
403 | Forbidden | Invalid signature, inactive project, or wallet ownership failure |
404 | Not found | Project, network, widget, or transaction does not exist |
422 | Validation or processing failure | Project creation failures or invalid transaction creation input |
500 | Internal failure | On-chain status checker or backend processing error |
Validation Errors
Some handlers return anerrors object that maps field names to one or more messages.
Plan for both patterns below:
Integration Recommendations
- treat transaction ids and project ids as opaque values;
- log both HTTP status and the full error body;
- preserve raw request bodies for signed transaction debugging;
- retry only when the failure mode is transient or operationally recoverable;
- keep callback replay tooling available for downstream recovery.
Operational Checklist
- validate networks and currencies before project creation;
- store
secret_keysafely when a project is created; - cap paginated reads with
limitandoffset; - handle both success JSON and
302redirect responses in your client code.