Skip to main content
Account details are the banking coordinates provisioned by Nuvion for an account. They are what your entities share with counterparties to receive funds — routing numbers and account numbers for USD, IBANs and BICs for EUR, and wallet addresses for stablecoin rails. Each account can have one active set of fiat account details and one per stablecoin chain. Once generated, account details are permanently bound to that account and cannot be reassigned.
An account must exist before account details can be created for it. See Accounts for how to create an account.

Fiat account details

Fiat account details provision real banking coordinates. The identifiers returned depend on the account’s currency:
CurrencyIdentifiers provided
USDAccount number, routing number, SWIFT code
EURIBAN, BIC
GBPAccount number, sort code
CADAccount number, institution number, transit number
AEDAccount number, IBAN
NGNAccount number
ZARAccount number, branch code

Creating fiat account details

curl -X POST https://api.nuvion.dev/account-details \
  -H "Authorization: Bearer $NUVION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "acc_01HXYZ5678EFGH",
    "asset_type": "fiat"
  }'
account_id
string
required
The ID of the account to generate banking coordinates for.
asset_type
string
The type of account details to generate. Set to fiat for banking coordinates. Defaults to fiat.
terminate_after
number
Number of days after which the account details expire. Omit for permanent details. See Expiration.
provider_id
string
Provider identifier for issuance. Omit to use Nuvion’s default provider.

Fiat account details object

{
  "id": "acd_01HXYZ9012IJKL",
  "entity_id": "ent_01HXYZ1234ABCD",
  "account_id": "acc_01HXYZ5678EFGH",
  "asset_type": "fiat",
  "account_number": "4561237890",
  "issuer": {
    "name": "Lead Bank",
    "code": "021000021"
  },
  "status": "active",
  "created": 1735725600000,
  "updated": 1735725600000
}
id
string
Unique identifier for the account details. ULID format.
entity_id
string
The ID of the entity that owns the account.
account_id
string
The ID of the account these details belong to.
asset_type
string
The type of asset. fiat for banking coordinates, stablecoin for wallet addresses.
account_number
string
The bank account number or IBAN, depending on the account’s currency.
issuer
object
The financial institution that issued the account details.
status
string
Current status of the account details. active when ready to receive funds.
created
number
Unix timestamp in milliseconds of when the account details were created.
updated
number
Unix timestamp in milliseconds of the last update.
Account details are persistent. Create them once per account and store them — you don’t need to regenerate them for each transaction.

Stablecoin account details

Stablecoin account details provision a wallet address on a supported blockchain. The entity uses this address to receive stablecoin transfers — USDC and USDT are supported on all chains.
ChainNetworkAddress format
ethEthereum Mainnet0x...
baseBase0x...
maticPolygon0x...
solSolana MainnetBase58

Creating stablecoin account details

curl -X POST https://api.nuvion.dev/account-details \
  -H "Authorization: Bearer $NUVION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "acc_01HXYZ5678EFGH",
    "asset_type": "stablecoin",
    "chain": "eth"
  }'
account_id
string
required
The ID of the account to generate a wallet address for.
asset_type
string
required
Set to stablecoin.
chain
string
required
The blockchain to provision the wallet address on. One of eth, base, matic, sol.

Stablecoin account details object

{
  "id": "acd_01HXYZ9012MNOP",
  "entity_id": "ent_01HXYZ1234ABCD",
  "account_id": "acc_01HXYZ5678EFGH",
  "asset_type": "stablecoin",
  "chain": "eth",
  "account_number": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
  "supported_assets": ["USDC", "USDT"],
  "issuer": {
    "name": "Ethereum Mainnet",
    "code": "eth"
  },
  "status": "pending",
  "created": 1735725600000,
  "updated": 1735725600000
}
Stablecoin account details are initially created with status: pending while the wallet address is being provisioned. Listen for the account_details.activated webhook event to know when the address is ready to receive funds.
chain
string
The blockchain network the wallet address is on. One of eth, base, matic, sol.
account_number
string
The provisioned wallet address. EVM-format (0x...) for eth, base, and matic; Base58 for sol.
supported_assets
array
The stablecoins this address can receive. Always ["USDC", "USDT"].

Expiration

By default, account details are permanent. Pass terminate_after to set an expiry date — the details will deactivate automatically after the specified number of days.
{
  "account_id": "acc_01HXYZ5678EFGH",
  "asset_type": "fiat",
  "terminate_after": 30
}
Use cases for expiring account details:
  • Temporary collection accounts — generate a unique receiving address per transaction that expires after collection
  • Time-limited links — share banking coordinates that self-deactivate after a campaign or event
  • Short-lived virtual accounts — provision and expire accounts for one-off payout flows

What’s next

Accept a payment

Use account details to receive a bank transfer or stablecoin deposit into an account.

Send a payout

Send funds from an account to any bank account globally.

Account Details API reference

Full endpoint documentation for creating and managing account details.