OpenFX provides a robust and secure API suite engineered for high performance and reliability, enabling programmatic access to real-time market data, trade execution, and money movement functionalities. This guide will walk through the step-by-step process of deposits, quoting, trading, settlements and monitoring using OpenFX APIs.
Overview of OpenFX APIs (v1.0.0)
https://api.sandbox.openfx.com/
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawal_addresses
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X GET \
'https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawal_addresses?page=1&limit=10&verified=true' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'success
Unique identifier of the withdrawal wallet
Unique identifier of the coin associated with the wallet
Unique identifier of the blockchain network associated with the coin
Name of the blockchain network used for withdrawals
Cryptocurrency wallet address to which funds will be withdrawn
Current verification status of the wallet
UTC Timestamp when the withdrawal wallet was created
UTC Timestamp when the withdrawal wallet was last updated
{ "status": "success", "data": [ { "id": "2697eff1-ac30-41db-94b7-d615133a5c9e", "name": "ETH USDC Wallet", "coinId": "3b3f759c-d3fa-46fd-80c5-10c1bc244e83", "coinName": "USDC", "coinNetworkId": "e4a800c9-ddad-411d-82da-6a8680ce6618", "coinNetworkName": "Ethereum", "address": "0x2205844f0b80798F0e187c260753191eb668a495", "status": "Verified", "createdAt": "2025-01-24T11:51:11.604Z", "updatedAt": "2025-01-24T11:52:08.299Z", "verified": true, "comments": null }, { "id": "9c2edf76-2349-4ae6-9250-5e692a89aedf", "name": "ETH USDT Wallet", "coinId": "3b3f759c-d3fa-46fd-80c5-10c1bc244e83", "coinName": "USDT", "coinNetworkId": "e4a800c9-ddad-411d-82da-6a8680ce6618", "coinNetworkName": "Ethereum", "address": "0x2205844f0b80798F0e187c260753191eb668a495", "status": "Verified", "createdAt": "2025-01-24T11:50:50.526Z", "updatedAt": "2025-01-24T11:52:09.976Z", "verified": true, "comments": null } ], "meta": { "pagination": { "total": 2, "start": 1, "end": 2, "page": 1, "limit": 2 } } }
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/fiat_withdrawal_addresses
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X GET \
'https://api.sandbox.openfx.com/v1/brokerage/{orgId}/fiat_withdrawal_addresses?page=1&limit=10' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'success
Unique identifier for the fiat withdrawal account
Routing number for the bank, applicable for certain countries
User ID of the account creator (nullable)
Organization ID to which this account belongs
Optional notes or remarks related to the withdrawal account
Optional memo field for the account, will be null if it is unset
UTC Timestamp when the account was created
{ "status": "success", "data": [ { "id": "d811ed6a-62c4-403f-bbe8-81d39f6d21c7", "currency": "USD", "accountName": "USD FEDWIRE", "accountNumber": "123456789", "bankName": "Zand", "routingNumber": "1234567", "swiftCode": null, "status": "active", "verified": true, "creatorId": "84677558-407c-4ee9-b59a-51a0d5f55764", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "comments": null, "transferType": "FEDWIRE", "memo": null, "createdAt": "2024-08-28T02:25:14.926Z", "updatedAt": "2024-10-10T05:28:40.340Z" }, { "id": "66c3ef64-1fa6-4512-b083-57090e08ea57", "currency": "GBP", "accountName": "GBP SWIFT3", "accountNumber": "1234", "bankName": "GBP SWIFT3", "routingNumber": null, "swiftCode": "2343", "status": "active", "verified": true, "creatorId": "84677558-407c-4ee9-b59a-51a0d5f55764", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "comments": null, "transferType": "SWIFT", "memo": null, "createdAt": "2024-09-04T08:30:50.601Z", "updatedAt": "2024-10-10T05:30:49.044Z" } ], "meta": { "pagination": { "total": 2, "start": 1, "end": 2, "page": 1, "limit": 2 } } }
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawals
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X GET \
'https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawals?page=1&limit=10' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'success
Unique identifier for the withdrawal record
UTC Timestamp when the withdrawal request was created
Blockchain transaction hash if available; null if not yet processed
Unique identifier for the withdrawal address used
Unique identifier of the organization associated with the withdrawal
Unique identifier of the user who initiated the withdrawal
Email of the actor who initiated the withdrawal
{ "status": "success", "data": [ { "id": "392cf015-5045-4615-a226-df3543d9c15f", "createdAt": "2025-02-07T14:04:14.268Z", "amount": 0.5, "currency": "USDT", "network": "ETHEREUM", "status": "COMPLETED", "transactionHash": null, "withdrawalAddressId": "2697eff1-ac30-41db-94b7-d615133a5c9e", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "actorId": "36bdb6a4-7cc6-4a08-b325-db416dbdd9f5", "actorEmail": "test-user1@example.co", "comments": "Client initiated the withdrawal" }, { "id": "aa7b22c8-2a37-47bf-b82e-b8f4a9b79a1b", "createdAt": "2025-02-07T11:06:58.271Z", "amount": 12, "currency": "USDT", "network": "ETHEREUM", "status": "PENDING", "transactionHash": null, "withdrawalAddressId": "d5c210dd-73a9-4102-9daf-1146b615c42d", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "actorId": "72ad1d70-e8dd-4592-9519-0273ea5a6f3c", "actorEmail": "test-user2@example.co", "comments": "Client initiated the withdrawal" } ], "meta": { "pagination": { "total": 2, "start": 1, "end": 2, "page": 1, "limit": 2 } } }
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawal/{withdrawalId}
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X GET \
https://api.sandbox.openfx.com/v1/brokerage/c96183a5-2830-4606-9ae2-15dfd058872b/withdrawal/392cf015-5045-4615-a226-df3543d9c15f \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'success
Unique identifier for the withdrawal record
UTC Timestamp when the withdrawal request was created
Blockchain transaction hash if available; null if not yet processed
Unique identifier for the withdrawal address used
Unique identifier of the organization associated with the withdrawal
Unique identifier of the user who initiated the withdrawal
Email of the actor who initiated the withdrawal
{ "status": "success", "data": { "id": "392cf015-5045-4615-a226-df3543d9c15f", "createdAt": "2025-02-07T14:04:14.268Z", "amount": 0.5, "currency": "USDT", "network": "ETHEREUM", "status": "COMPLETED", "transactionHash": null, "withdrawalAddressId": "2697eff1-ac30-41db-94b7-d615133a5c9e", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "actorId": "36bdb6a4-7cc6-4a08-b325-db416dbdd9f5", "actorEmail": "test-user@example.co", "comments": "Client initiated the withdrawal" } }
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawal
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X POST \
'https://api.sandbox.openfx.com/v1/brokerage/{orgId}/withdrawal' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"currency": "USDT",
"withdrawalAddressId": "392cf015-5045-4615-a226-df3543d9c15f"
}'success
Unique identifier for the withdrawal record
UTC Timestamp when the withdrawal request was created
Blockchain transaction hash if available; null if not yet processed
Unique identifier for the withdrawal address used
Unique identifier of the organization associated with the withdrawal
Unique identifier of the user who initiated the withdrawal
Email of the actor who initiated the withdrawal
{ "status": "success", "data": { "id": "392cf015-5045-4615-a226-df3543d9c15f", "createdAt": "2025-02-07T14:04:14.268Z", "amount": 0.5, "currency": "USDT", "network": "ETHEREUM", "status": "COMPLETED", "transactionHash": null, "withdrawalAddressId": "2697eff1-ac30-41db-94b7-d615133a5c9e", "orgId": "c96183a5-2830-4606-9ae2-15dfd058872b", "actorId": "36bdb6a4-7cc6-4a08-b325-db416dbdd9f5", "actorEmail": "test-user@example.co", "comments": "Client initiated the withdrawal" } }
- OpenFX API Server
https://api.sandbox.openfx.com/v1/brokerage/{orgId}/fiat_withdrawal
- curl
- JavaScript
- Node.js
- Python
- Java
- Go
- PHP
curl -i -X POST \
'https://api.sandbox.openfx.com/v1/brokerage/{orgId}/fiat_withdrawal' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"currency": "USD",
"withdrawalAddressId": "392cf015-5045-4615-a226-df3543d9c15f"
}'success
Unique identifier for the withdrawal record
UTC Timestamp when the withdrawal request was created
Blockchain transaction hash if available; null if not yet processed
Unique identifier for the withdrawal address used
Unique identifier of the organization associated with the withdrawal
Unique identifier of the user who initiated the withdrawal
Email of the actor who initiated the withdrawal
{ "status": "success", "data": { "id": "123e4567-e89b-12d3-a456-426614174000", "createdAt": "2024-10-10T07:15:44.030Z", "amount": 1000000, "currency": "USD", "network": "FIAT", "status": "PENDING", "transactionHash": null, "withdrawalAddressId": "123e4567-e89b-12d3-a456-426614174001", "orgId": "123e4567-e89b-12d3-a456-426614174002", "actorId": "123e4567-e89b-12d3-a456-426614174003", "actorEmail": "test-user@example.co", "comments": "Client initiated the withdrawal via API" } }