Funding Your Account
Before you can use OneLiquidity's services, you need to add funds to your account. This guide explains how funding works in both staging and production environments.
Understanding Ledger Accounts
OneLiquidity uses a multi-ledger system where each integrator has separate accounts for different purposes:
Account Types:
- FUNDING - Main account for receiving deposits from other OneLiquidity integrators and transferring to other ledgers
- OPERATIONAL - USD-denominated account for platform fees (virtual accounts, crypto wallets, etc.)
- FIAT - For fiat currency operations (requires FCAT service subscription)
- PAYMENT - For payment rails (requires Payment service subscription)
- TRADING - For trading operations (requires Trading service subscription)
- WALLET - For crypto wallet operations (requires Wallet service subscription)
Key concept: You receive deposits directly into FIAT (via virtual accounts) or WALLET/TRADING (via crypto deposits). The FUNDING account is used for transfers between OneLiquidity integrators.
Staging Environment
Automatic Test Funding
When you verify your email in staging, OneLiquidity automatically provisions test accounts with demo funds:
- NGN fiat accounts
- BTC wallet account
- Trading ledgers with test balances
No action required - you can start testing immediately after email verification.
Check Your Staging Balance
curl --request GET \
--url "https://staging-api.oneliquidity.technology/integrator/v1/accounts" \
--header "Authorization: Bearer YOUR_TOKEN"
Production Environment
Adding Funds to Production
Production accounts start at $0 balance. You can fund your account through multiple methods:
Method 1: Crypto Deposits (via Wallet or Trading Service)
Step 1: Create or retrieve your crypto wallet address
See Wallet Service Documentation for:
- Creating main wallets
- Getting deposit addresses
- Supported cryptocurrencies and networks
Step 2: Send crypto to your wallet address
Step 3: Funds appear in your WALLET ledger automatically
Method 2: Fiat Deposits (via FCAT Service)
Step 1: Create a virtual bank account
See FCAT Documentation for:
- Creating virtual accounts (static or dynamic)
- Getting virtual account numbers
- Supported currencies and banks
Step 2: Transfer fiat to your virtual account number
Step 3: Funds appear in your FIAT ledger automatically
Method 3: Inter-Integrator Transfers
OneLiquidity integrators can transfer funds between each other using their Funding Account Number.
Get your Funding Account Number:
curl --request GET \
--url "https://api.oneliquidity.technology/integrator/v1/funding-account" \
--header "Authorization: Bearer YOUR_TOKEN"
Response:
{
"message": "Transfer funding account retrieved",
"data": {
"accountNumber": "1234567890",
"accountBalances": [
{
"currency": "USD",
"postedBalance": 1000.0,
"pendingBalance": 0
}
]
}
}
Note: This is a simplified response. The actual response includes additional fields (id, type, description, status, uid). See the API Reference for the complete response schema.
Share your accountNumber with other OneLiquidity integrators to receive transfers directly into your FUNDING ledger.
Transferring to Operational
Many OneLiquidity services require an OPERATIONAL balance to pay platform fees. The OPERATIONAL ledger is USD-denominated only.
Important: Funds transferred to OPERATIONAL cannot be withdrawn or transferred out. Only transfer the amount you need for platform fees.
Direct Transfer (if you have USD)
If you have USD in your FUNDING ledger:
API Reference: Transfer Ledger Funds
curl --request POST \
--url "https://api.oneliquidity.technology/integrator/v1/transfer" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"source": "FUNDING",
"destination": "OPERATIONAL",
"currency": "USD",
"amount": 100.00
}'
Note: Amount is in decimal format with up to 8 decimal places. Examples: 100.00 = $100.00, 50.5 = $50.50, 0.0001 = $0.0001 for high-precision crypto amounts.
Multi-Step Transfer (if you have crypto or non-USD fiat)
If you have USDT or other currencies, you need to swap and transfer:
Example: USDT → USD → OPERATIONAL
-
Swap USDT to USD (in Trading service)
- See Trading Swaps for crypto-to-fiat swaps
-
Transfer USD from TRADING to FUNDING
{ "source": "TRADING", "destination": "FUNDING", "currency": "USD", "amount": 100.0 } -
Transfer USD from FUNDING to OPERATIONAL
{ "source": "FUNDING", "destination": "OPERATIONAL", "currency": "USD", "amount": 100.0 }
Currency Swapping
Crypto Swaps (Trading Service)
The Trading service supports swaps between:
- Crypto-to-crypto (e.g., BTC → USDT)
- Crypto-to-fiat (e.g., USDT → USD)
Supported pairs: See Trading Service for available swap pairs
Fiat Swaps (FCAT Service)
The FCAT service supports swaps between fiat currencies (e.g., NGN → USD, USD → GHS)
Supported pairs: See FCAT Service for available fiat pairs
Transfer Rules Between Ledgers
Not all ledgers can transfer to all other ledgers. Here are the allowed transfer paths:
From WALLET:
- WALLET → TRADING
- WALLET → FUNDING
- WALLET → PAYMENT
From FIAT:
- FIAT → FUNDING
- FIAT → PAYMENT (requires Payment subscription)
Important: To fund OPERATIONAL from FIAT, you must transfer FIAT → FUNDING first, then FUNDING → OPERATIONAL.
From TRADING:
- TRADING → FIAT
- TRADING → FUNDING
- TRADING → PAYMENT (requires Payment subscription)
From FUNDING:
- FUNDING → OPERATIONAL (USD only)
- FUNDING → TRADING (requires Trading subscription)
- FUNDING → FIAT (fiat currencies)
- FUNDING → PAYMENT (requires Payment subscription)
From PAYMENT:
- PAYMENT → TRADING (requires Trading subscription)
- PAYMENT → FIAT (requires FCAT subscription)
- PAYMENT → FUNDING
OPERATIONAL:
Cannot be used as a source - Funds transferred to OPERATIONAL cannot be withdrawn or moved. Only transfer what you need for platform fees.
Note: All transfers require active service subscriptions for both the source and destination ledgers.
Checking Your Balances
All Account Balances
curl --request GET \
--url "https://api.oneliquidity.technology/integrator/v1/accounts" \
--header "Authorization: Bearer YOUR_TOKEN"
Response:
{
"message": "Accounts retrieved successfully",
"data": [
{
"accountType": "FUNDING",
"currency": "USD",
"postedBalance": 50000,
"pendingBalance": 0
},
{
"accountType": "OPERATIONAL",
"currency": "USD",
"postedBalance": 10000,
"pendingBalance": 0
},
{
"accountType": "FIAT",
"currency": "NGN",
"postedBalance": 1000000,
"pendingBalance": 0
}
]
}
Specific Ledger Balance
For detailed balance information on a specific ledger account:
API Reference: Get Ledger Account Balances
Common Funding Scenarios
Scenario 1: Create Virtual Account for Fiat Deposits
Goal: Accept NGN deposits from Nigerian banks
- Create virtual account via FCAT service
- Funds deposit automatically to FIAT ledger
- Transfer to OPERATIONAL or other ledgers as needed
Guide: FCAT Collection Service
Scenario 2: Accept USDT and Use for Payments
Goal: Receive USDT, convert to USD, use for payment operations
- Get your USDT wallet address from Wallet service
- Receive USDT deposit → WALLET ledger
- Swap USDT to USD in Trading service → TRADING ledger
- Transfer USD from TRADING to PAYMENT → PAYMENT ledger
- Execute payments
Scenario 3: Fund Operational Account
Goal: Pay platform fees for virtual accounts, wallet tiers, etc.
- Ensure you have USD in any ledger (FUNDING, FIAT, TRADING, or PAYMENT)
- Transfer to OPERATIONAL ledger
- Platform automatically deducts fees from OPERATIONAL balance
Best Practices
- Start in staging - Familiarize yourself with the flow using automatic test funds
- Understand your ledger flow - Map out which services you'll use and plan your transfer path
- Monitor OPERATIONAL balance - Many features require USD in OPERATIONAL for fees
- Use the right currency - OPERATIONAL only accepts USD; plan swaps accordingly
- Check service subscriptions - Activate required services before attempting transfers
- Production starts at $0 - Unlike staging, you must fund production accounts manually
Next Steps
- Learn about webhooks: Receive real-time notifications when funds are deposited
- Explore services: Start using Trading, Payments, or Wallets
- API Reference: See Transfer Ledger Funds for detailed API specs
Updated 18 days ago
