This guide assumes that you’ve completed
onboarding and setup your
API keys. You’ll learn how to issue
virtual account numbers and
stablecoin wallets.
To generate bank account credentials on your account, follow these steps:
Setup an Account
Skip this step if you have an
Account.
Every bank account is linked to an Account. Create an Account to monitor transactions made into the created account details.
curl --location --globoff 'https://api.nuvion.dev/accounts' \
--header 'Authorization: Bearer {{$NUVION_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"type": "debit",
"currency": "USD",
"display_name": "Ann Kunde",
"config": {
"is_overdraftable": false,
"overdraft_limit": 0
}
}'
You’ll need a verified
Entity to successfully create an Account.
Generate Bank Account details
Create bank account information for your new account and configure it based on your preferred controls.
The account details generated would match the base currency of your
account e.g. a Nigerian Bank account would be generated for an NGN account.
curl --location --globoff 'https://api.nuvion.dev/account-details' \
--header 'Authorization: Bearer {{$NUVION_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"account_id": "01HJ5G6R7MXW5ZK2QD6YA8N9F5",
"config": {
"outflow_enabled": true,
"inflow_enabled": true,
"outflow_allowed_counterparties": [
"01HJ5G6R7MXW5ZK2QD6YA8N9F6"
],
"inflow_allowed_counterparties": [
"01HJ5G6R7MXW5ZK2QD6YA8N9F7"
]
},
"terminate_after": 365,
"provider_id": "primary_provider"
}'
When generating a bank account information, you’ll need to customize the following controls on your account. These account controls are all optional and you can choose to exclude them entirely:
| Consideration | Configuration [param] | Example | Required |
|---|
| The duration of the generated account details. | terminate_after | 365 | No |
| The Bank or Provider to issue your account with. | provider_id | CHASE | No |
| Whether outgoing transactions are enabled for this account. | config.outflow_enabled | true | No |
| Whether incoming transactions are enabled for this account | config.inflow_enabled | true | No |
| Whether or not to restrict outgoing transactions to a list of recipients. | config.outflow_allowed_counterparties | [] | No |
| Whether or not to allow incoming transactions from a list of customers. | config.inflow_allowed_counterparties | [] | No |
Retrieve the account number and bank information from the response as data.account_details.account_number and data.account_details.issuer.name
{
"message": "Account detail created successfully",
"status": 201,
"data": {
"account_details": {
"id": "01HJ5G6R7MXW5ZK2QD6YA8N9F3",
"entity_id": "01HJ5G6R7MXW5ZK2QD6YA8N9F4",
"account_id": "01HJ5G6R7MXW5ZK2QD6YA8N9F5",
"account_number": "1234567890",
"routing_number": "987654321",
"description": "Primary account details",
"issuer": {
"name": "Example Bank",
"code": "EXBNK",
"address": "123 Banking St, Finance City",
"meta": {}
},
"config": {
"outflow_enabled": true,
"inflow_enabled": true,
"outflow_allowed_counterparties": [],
"inflow_allowed_counterparties": []
},
"status": "active",
"terminate_after": 365,
"created": 1693584000000,
"updated": 1693584000000
}
}
}
Generate Stablecoin Wallets
Nuvion supports cryptocurrency payments via stablecoins. You can collect USDT or USDC payments via the Ethereum or Solana wallets.
curl --location --globoff 'https://api.nuvion.dev/account-details' \
--header 'Authorization: Bearer {{$NUVION_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"account_id": "01HJ5G6R7MXW5ZK2QD6YA8N9F5",
"terminate_after": 365,
"asset_type": "stablecoin",
"chain": "sol"
}'
The wallet you create can be used for on-chain transactions with any Ethereum or Solana wallet, including those created outside Nuvion.
{
"message": "Account detail created successfully",
"status": "success",
"data": {
"account_details": {
"id": "01K9TQDHQHXFR9PDTZ2R1A80JX",
"entity_id": "01K5EEGEXW2HX09DJPXZM4S3WD",
"account_id": "01K5EVZ2QAWSBXBSBW7EYBRYKD",
"account_number": "4qkesk8meysuersv146guyducvyndm1fvyjjje4tgqtj",
"issuer": {
"code": "SOLANA_MAINNET",
"name": "SOLANA_MAINNET",
"short_name": "SOLANA_MAINNET"
},
"config": {
"outflow_enabled": true,
"inflow_enabled": true,
"outflow_allowed_counterparties": [],
"inflow_allowed_counterparties": []
},
"status": "pending",
"terminate_after": 365,
"asset_type": "stablecoin",
"chain": "sol",
"created": 1762907309809,
"updated": 1762907309809,
"deleted": 0,
"name": "Ann Kunde",
"meta": {},
"supported_assets": [
"USDT",
"USDC"
]
}
}
}
Congratulations! You have successfully generated your first account number or wallet.