Trade settled
A trade reaches EXECUTED, immediately for IMMEDIATE/T0 trades or once a future-dated trade settles.
Headers
t=<unix-timestamp>,v1=<hex-hmac>: a hex-encoded HMAC-SHA256 signature computed over {timestamp}.{raw_body} (the exact bytes sent, not a re-serialized copy) using your webhook signing secret. Reject if t is more than 300 seconds from now, then verify v1 with a constant-time compare. See Webhook authentication.
"t=1735689600,v1=5257a869e7bfbe00e0be2007c1b7be16bb2ba57ee233b0d0c4de5d83b3f5e01d"
Body
Webhook delivery envelope for trade status changes (fx.trade.ready_to_settle, fx.trade.settled, fx.trade.reversed). Matches the Deposit/Withdrawal envelope shape exactly. See Trade webhooks.
Webhook delivery identifier. The deduplication key for this event family; a single event may be delivered more than once on retries.
^evt_[1-9A-HJ-NP-Za-km-z]{1,22}$"evt_9mK3vQ2FnRxDT9BpUcaLK5"
Resource noun naming the event subject. Always trades for trade events.
"trades"
Dot-namespaced, product-prefixed event name ({product}.{resource}.{action}).
fx.trade.ready_to_settle, fx.trade.settled, fx.trade.reversed RFC 3339 UTC timestamp at which OpenFX built and dispatched this delivery.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$"2026-04-28T10:00:00.000Z"
The trade in its current state. See Trade webhooks.
Response
Return any 2xx to acknowledge receipt. A non-2xx response or a timeout causes OpenFX to retry on its published delivery schedule.