Deposit Accounts
Static deposit addresses and NGN virtual accounts per customer.
Open the interactive version or read this guide as markdown.
API reference
- POST
/api/v1/deposits/accounts: Create a deposit account - POST
/api/v1/deposits/accounts/{id}/identities: Issue a deposit identity - GET
/api/v1/deposits: List deposits
A deposit account gives one customer a fixed place to send you money again and again: a permanent crypto address on each blockchain, and a bank account number for fiat transfers. The customer reuses the same details for every payment, and CoinCircuit detects each deposit, ties it to that customer, and credits it to your balance.

How it works
- Create a deposit account with
POST /api/v1/deposits/accounts(pass acustomerId, or omit it for your parent account). - Issue an identity with
POST /api/v1/deposits/accounts/{id}/identities: astatic_deposit_addresson a chain, or anngn_virtual_account. - Share the address or account number with your customer.
- Track incoming funds with
GET /api/v1/depositsandGET /api/v1/deposits/{id}.
Identity fields
| Field | Type | Required | Description |
|---|---|---|---|
type |
string | Yes | static_deposit_address or ngn_virtual_account. |
chain |
string | Conditional | Required for a static address: ethereum, solana, bsc, tron, base, or arbitrum. |
bvn |
string | Conditional | BVN of the account holder (11 digits). Required for an NGN virtual account. |
currency |
string | Conditional | NGN. Used for virtual accounts. |
Supported tokens
Each static address accepts these tokens on its blockchain:
| Blockchain | Tokens |
|---|---|
| Ethereum | ETH, USDT, USDC |
| Solana | SOL, USDT, USDC |
| BSC | BNB, USDT, USDC |
| Tron | USDT, TRX |
| Base | ETH, USDC |
| Arbitrum | ETH, USDT, USDC |
USDT and USDC deposits credit your balance in the same currency. Any other token is automatically converted to USDT and credited to your USDT balance. The deposit record keeps the original token and amount, with a conversion showing the rate and the USDT credited.
Use cases
- Neobanks giving each user a funding address
- Customer wallets and account funding
- Recurring inbound transfers and collections
- Treasury and OTC desks aggregating from many senders
Static addresses are supported on Ethereum, Solana, BSC, Tron, Base, and Arbitrum. Because each identity is fixed per customer, you always know who sent what.