Skip to main content
Every OpenFX organization runs exactly one settlement model, an organization-level setting rather than a per-trade or per-request option. Both models coexist on the platform; neither replaces the other, and a trade’s settlementWindow (IMMEDIATE, T0, T1, T2) is orthogonal to which one you’re on.

Netted Settlement

The default. A trade settles on its own: immediately for IMMEDIATE/T0, automatically once the window opens for T1/T2. No client action, ever.

Per-Trade Settlement

Opt-in. A trade reaches READY_TO_SETTLE and waits: you call settle to complete it at the locked rate, or reverse to unwind it instead.
The trade webhook payload (fx.trade.* events) reports the organization setting as tradeSettlementMode; the REST Trade resource doesn’t include it. The values are AUTO for Netted Settlement and MANUAL for Per-Trade Settlement.

Comparison

Deposits and withdrawals

Trade Settlement surfaces the three things you do with funds: receive (deposits), see (balances), send (withdrawals). Fiat and stablecoin share a single withdrawal endpoint; the rail is inferred from the verified withdrawal account.

The fund-movement flow

Endpoints

Balances

GET /v3/fx/balances returns an organization-wide aggregate and one row per currency, each with a withdrawableBalance and a totalBalance. Balances explains every field and how they differ. For how the two balances change across a trade, see Amounts.

What’s next

Quotes

Quote and execute FX trades, plus the full settle/reverse reference.

Trades

Statuses and actions for a trade under either model.

Exposure

See how unsettled trades count against your organization’s exposure limit, under either model.

Verified accounts

Register first-party withdrawal destinations before going live.

Idempotency

7-day TTL on withdrawal keys; crash-safe retry pattern.