Errors
Retain the existing error envelope and stable machine-readable codes. The proposed Stellar adapter adds chain-specific categories without presenting a failed submit as a safely unpaid transaction.
| Code | Meaning | Client response |
|---|---|---|
validation_error | Invalid amount network or terms | Correct input |
network_mismatch | Signer or envelope targets another environment | Switch network and rebuild |
unsupported_asset | Issuer or SAC not approved | Select configured asset |
authorization_required | Required account authorization absent | Request correct wallet approval |
insufficient_balance | Asset balance fees or reserves unavailable | Explain funding requirement |
capacity_exceeded | Funded event cannot cover new exposure | Reduce notional or select another event |
intent_expired | Quote or transaction bounds expired | Refresh terms and request approval |
simulation_failed | Invocation rejected before submission | Show decoded contract error |
sequence_conflict | Source sequence changed | Rebuild and sign as required |
oracle_unavailable | Valid fixing not available | Keep event pending and report status |
submission_unknown | Outcome not yet reconciled | Poll by hash before retrying payment |
upstream_error | RPC or provider unavailable | Bounded retry or route escalation |
Business data access also returns unauthorized, forbidden, not-found, and rate-limit responses as appropriate. A browser user refusal is handled without implying a network failure. Never expose provider tokens, keys, or customer documents in error details.