Data freshness
Balances and resource statuses are kept current through two mechanisms:- Webhooks — the platform pushes an event the moment a state change occurs.
- Periodic sync — a background reconciliation refreshes data from the banking infrastructure on a schedule.
Rely on webhooks for state changes
For anything that changes over time — a payment moving frompending to
completed, a wallet send confirming on-chain — subscribe to the relevant
events instead of polling.
Webhooks
Subscribe to signed, retried event delivery for state changes.
Transactions
Read the
status field to confirm where a transaction stands.Confirm completion via status
Never infer that an operation finished just because the request returned2xx.
Always check the resource’s status. EU Rails transaction statuses are:
| Status | Meaning |
|---|---|
pending | Initiated, awaiting processing |
completed | Successfully processed |
failed | Failed or rejected |
compliance_review | Held for compliance review |
failed, rejected) as failures
and treat a missing or unrecognised status as success. See
Errors
for the rationale.
Validate against live data before moving money
A cached or recently-read balance can be stale. Before any decision that depends on funds being available (a payment or wallet send), validate against the latest balance rather than a value you fetched earlier and held onto.Idempotency
Make the retries that eventual consistency forces on you safe.

