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

  1. Swap USDT to USD (in Trading service)

  2. Transfer USD from TRADING to FUNDING

    {
        "source": "TRADING",
        "destination": "FUNDING",
        "currency": "USD",
        "amount": 100.0
    }
    
  3. 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

  1. Create virtual account via FCAT service
  2. Funds deposit automatically to FIAT ledger
  3. 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

  1. Get your USDT wallet address from Wallet service
  2. Receive USDT deposit → WALLET ledger
  3. Swap USDT to USD in Trading service → TRADING ledger
  4. Transfer USD from TRADING to PAYMENT → PAYMENT ledger
  5. Execute payments

Scenario 3: Fund Operational Account

Goal: Pay platform fees for virtual accounts, wallet tiers, etc.

  1. Ensure you have USD in any ledger (FUNDING, FIAT, TRADING, or PAYMENT)
  2. Transfer to OPERATIONAL ledger
  3. 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