Virtual Accounts
Managing multi-currency balances
Virtual Accounts
Virtual Accounts are multi-currency balance accounts that hold your funds within the Koywe system, enabling seamless payment operations without traditional bank accounts.
What are Virtual Accounts?
A Virtual Account is a balance account in a specific currency, similar to a bank account but existing within the Koywe platform.
Key Characteristics
- One per currency per merchant: Each merchant has a virtual account for each currency they work with
- Automatically created: Generated when you create a merchant
- Real-time balances: Instant updates as transactions occur
- No bank account needed: Hold funds without opening multiple bank accounts
- Used for all operations: Source and destination for PAYINs, PAYOUTs, and transfers
How Virtual Accounts Work
Virtual accounts serve as:
- Receiving accounts for customer payments (PAYIN)
- Holding accounts for funds in multiple currencies
- Source accounts for provider payments (PAYOUT)
- Transfer endpoints for currency exchanges (BALANCE_TRANSFER)
- Funding source for crypto purchases (ONRAMP)
- Destination for crypto sales (OFFRAMP)
Balance Types
Each virtual account tracks three types of balances:
1. Available Balance
The amount immediately available for use.
Can be used for:
- Creating PAYOUT orders
- BALANCE_TRANSFER to other currencies
- ONRAMP crypto purchases
2. Pending Balance
Funds that are being processed but not yet available.
Examples:
- Customer payment being confirmed (PAYIN in PROCESSING status)
- Crypto sale being settled (OFFRAMP in PROCESSING)
3. Reserved Balance
Funds temporarily locked for ongoing operations.
Examples:
- PAYOUT order in progress
- BALANCE_TRANSFER being executed
Checking Balances
Get All Balances for a Merchant
Response:
Get Balance for Specific Currency
Balance Operations
Crediting (Adding Funds)
Funds are automatically credited to virtual accounts through:
- PAYIN orders (customer payments)
- OFFRAMP orders (selling crypto)
Debiting (Removing Funds)
Funds are automatically debited from virtual accounts through:
- PAYOUT orders (provider payments)
- BALANCE_TRANSFER orders (currency exchange)
- ONRAMP orders (buying crypto)
Balance Validation
Before Creating PAYOUT Orders
Always check available balance before creating a PAYOUT:
Fund Settlement and Long-Term Holdings
Automatic Settlement: Funds held in virtual accounts cannot remain indefinitely. After a certain number of days, balances are automatically settled to your merchantโs registered bank account.
Settlement Behavior
Virtual accounts are designed for active payment operations, not long-term fund storage:
What happens during settlement:
- Funds are transferred to your merchantโs registered bank account
- Virtual account balance returns to zero
- You receive a notification about the settlement
- Transaction history is maintained for reconciliation
Alternative: Digital Dollar Holdings (USDC)
Hold Funds Long-Term: Instead of waiting for automatic settlement, you can convert your fiat balance to USDC (digital dollars) and hold funds in embedded crypto wallets indefinitely.
Benefits of USDC Holdings:
- โ No automatic settlement - hold funds as long as needed
- โ Stable value - pegged 1:1 to US Dollar
- โ Instant liquidity - convert back to fiat anytime
- โ Lower fees - blockchain-based transfers
- โ Global access - use across borders
Converting Fiat to USDC
Converting USDC Back to Fiat
When you need the funds back in fiat:
Recommended Strategy:
- Keep operational funds in virtual accounts for daily PAYIN/PAYOUT operations
- Convert excess balances to USDC for long-term holdings
- Convert USDC back to fiat when you need to make large payouts or withdrawals
Fund Management Decision Tree
Learn more about ONRAMP (Buying Crypto) โ
Learn more about OFFRAMP (Selling Crypto) โ
Multi-Currency Management
Supported Currencies
Virtual accounts are automatically created for:
Currency Exchange via BALANCE_TRANSFER
Transfer funds between currencies instantly:
Learn more about BALANCE_TRANSFER โ
Balance History and Reconciliation
Tracking Balance Changes
Monitor balance changes through order history:
Best Practices
Balance Management
Do:
- Check balances before creating PAYOUT orders
- Monitor pending balances for incoming payments
- Set up alerts for low balances
- Reconcile regularly with your accounting system
Donโt:
- Assume instant availability of PAYIN funds (check status)
- Create PAYOUT orders exceeding available balance
- Ignore reserved balances in your calculations
Currency Strategy
Multi-Currency Operations: Keep balances in the currencies you operate in most frequently to minimize conversion fees and exchange rate exposure.
Example strategy:
- Operate mainly in Colombia โ Keep most funds in COP
- Pay international providers โ Keep some USD balance
- Occasional Brazilian sales โ Convert BRL to COP as needed