Skip to main content
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.
Example
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:
ConsiderationConfiguration [param]ExampleRequired
The duration of the generated account details.terminate_after365No
The Bank or Provider to issue your account with.provider_idCHASENo
Whether outgoing transactions are enabled for this account.config.outflow_enabledtrueNo
Whether incoming transactions are enabled for this accountconfig.inflow_enabledtrueNo
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
200 OK
{
  "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.
Example
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.
200 OK
{
    "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.