Overview
Enable users to deposit funds into their subaccounts using multiple methods:- Fiat Currency (e.g., NGN, BRL)
- Stablecoins (USDC, USDT) on supported networks
- Cryptocurrency (BTC via Lightning Network)
1. List Deposit Channels
Retrieve available funding methods, limits, and fees for a specific currency. You can filter the response to find the appropriatechannelId for your deposit.
API Reference
See the full endpoint documentation
2. Initiate Deposit
Method A: Fiat Deposit
Initiate a bank transfer or other local payment method. The response will include banking details or payment instructions.API Reference
See the full endpoint documentation
Method B: Crypto Deposit (On-Chain)
Get a dedicated deposit address for a specific blockchain network (e.g., Ethereum, Solana).API Reference
See the full endpoint documentation
Method C: Lightning Network Deposit (BTC)
Create a Lightning invoice for Bitcoin deposits.API Reference
See the full endpoint documentation
3. Listen for Webhook Events
Listen to webhook events to track the status of your deposits in real-time.deposit.status.paid: The deposit has been successfully paid.deposit.status.unpaid: The deposit failed.
Common Mistakes
- Incorrect Network: Sending crypto assets on the wrong network (e.g., sending USDC via Polygon to an Ethereum address) will result in permanent loss of funds. Always verify the network.
- Unverified KYC: All deposit methods require the subaccount to have approved KYC. Attempting to deposit into an unverified account will return an error.
- Ignoring Limits: Ensure the deposit amount is within the
minandmaxlimits specified in thechannelsresponse. - Wrong Channel ID: When making a fiat deposit, ensure you use the
channelIdcorresponding to the correct currency and payment method.