Skip to main content
v3 models quotes, trades, balances, deposits, withdrawals, and withdrawal accounts behind one /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 ErrorsIdempotencyAmounts 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.
The pages in this section cover everything you need to write a working integration: auth, the request/response envelope, errors, idempotency, money formatting, rate limits, and the v2 → v3 mapping. The API reference describes every endpoint; this section explains the conventions that apply to all of them. Every v3 operation uses the /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.