/v3/fx/ surface. It provides bare-resource responses, stable error codes, cursor pagination, and X-Trace-Id response headers.
Pick your pattern
Most integrations match one of these four patterns. Pick the closest, then dive in.Cross-border payments
Use this when you need to deliver funds in another currency, on the same
day, to a bank account or wallet abroad.
Treasury management
Use this when you hold multi-currency balances and need to rebalance, hedge,
or sweep on demand.
FX-as-a-service
Use this when you’re embedding institutional FX into your own product and
need to quote rates to your end users.
Stablecoin on/off ramp
Use this when you’re moving between fiat and stablecoins, with on-chain
delivery to any supported network.
What this covers
- Discovering supported currency pairs and their trade limits
- Creating quotes and executing trades
- Reading balances and deposit history
- Creating and tracking fiat or stablecoin withdrawals
- Selecting verified withdrawal accounts and supported networks
Who this section is for
- New to OpenFX? Start with the Quickstart, then read Errors → Idempotency → Amounts in that order before integrating.
- Migrating from v2? Jump straight to Migration from v2. It ranks every breaking change by client-side cost and includes the full endpoint, field-rename, and HTTP-status delta.
/v3/fx/ wire prefix. A path that is not defined by the specification returns 404 ROUTE_NOT_FOUND.
Who uses OpenFX
Common customer types and their primary endpoints:Architecture
Every v3 endpoint shares the same authentication, the same error envelope, the same idempotency contract, and the same pagination. See Core Concepts for the conventions that apply across the board.Operations
v3 defines 13 operations under
/v3/fx/.
What’s the same as v2
API keys
Generated from the OpenFX dashboard; the JSON file
you download (with
name and privateKey) is the same one v3 uses. See
Authentication for the signing flow.Auth flow
ES256-signed JWT bearer tokens (60s TTL, single-use) plus a body-bound
X-Request-Signature header on every call. Code samples in the
Authentication page.Idempotency-Key
Required on state-changing operations. TTLs: 30 min quotes, 24 h trades, 7
days withdrawals — all carried forward from v2.
Sandbox
Same base URL (
api.openfx.com); Sandbox keys carry a sandbox_ prefix and
Live keys are unprefixed. See Environments.What’s next
Quickstart
Mint a token, make your first trade. ~5 minutes.
Authentication
ES256-signed JWTs with code samples.
Errors
Complete error catalog and retry triage matrix.
Migration from v2
Field-by-field deltas and breaking changes.
Before you go live
Before flipping to Live, complete these setup steps.Verified accounts
Register every fiat bank account and stablecoin wallet you’ll withdraw to.
Webhooks setup
Subscribe to deposit and withdrawal events so you don’t poll for state
changes.
Live checklist
Final pre-launch review: idempotency, retries, monitoring.