Overview
Crypto accounts use the same unified/accounts resource as fiat accounts. Set the type field to wallet and specify the asset and chain to create a crypto account. Each account holds a single asset on a single blockchain network.
OpenFX uses the term “account” for both fiat and crypto. There are no separate wallet endpoints. This unified model keeps the API surface consistent regardless of the underlying asset type.
Supported Chains and Assets
| Chain | Network | Supported Assets |
|---|---|---|
ethereum | Ethereum Mainnet | USDC, USDT, EURC, PYUSD |
solana | Solana | USDC, USDT |
tron | TRON | USDC, USDT |
base | Base (L2) | USDC, EURC |
polygon | Polygon PoS | USDC, USDT |
ink | Ink | USDC |
sui | Sui | USDC |
| Asset | Full Name | Type |
|---|---|---|
USDC | USD Coin | USD-pegged stablecoin |
USDT | Tether | USD-pegged stablecoin |
EURC | Euro Coin | EUR-pegged stablecoin |
PYUSD | PayPal USD | USD-pegged stablecoin |
Creating a Crypto Account
Send aPOST /accounts request with type set to wallet, along with the target asset and chain.
Prerequisites: The customer must be in
active status (KYB approved) and have the crypto capability.Blockchain Addresses as Sub-Resources
Crypto accounts receive deposits through blockchain addresses — on-chain deposit addresses that are generated by the system. Like account numbers on fiat accounts, blockchain addresses are managed as separate sub-resources under/accounts/{accountId}/blockchain-addresses.
Creating a Blockchain Address
After creating a crypto account, generate a deposit address:Receiving Crypto Deposits
To receive crypto deposits into an account:- Create the account with
POST /accounts(type:wallet). - Create a blockchain address with
POST /accounts/{accountId}/blockchain-addresses. - Share the deposit address with the sender.
- When funds arrive on-chain and are confirmed, the balance is credited.
Multi-Chain Strategy
You can create multiple crypto accounts for the same asset on different chains to give your users flexibility in how they deposit:POST /transfers) to consolidate balances across accounts when needed.
API Reference
- POST /accounts — Create account
- GET /accounts/ — Get account
- GET /accounts//balances — List balances
- POST /accounts//blockchain-addresses — Create blockchain address
- GET /accounts//blockchain-addresses — List blockchain addresses
- GET /accounts//blockchain-addresses/ — Get blockchain address
- GET /accounts//deposit-instructions — List deposit instructions