Skip to main content
Account details are the banking coordinates Nuvion provisions for an account. Share them with payers to receive funds — routing number and account number for USD, IBAN and BIC for EUR, sort code and account number for GBP, and wallet addresses for stablecoins.

The Account Details object

id
string
Unique identifier for this set of account details. Prefix: acd_.
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
fiat for banking coordinates (account number, IBAN, etc.); stablecoin for on-chain wallet addresses.
account_number
string
Bank account number or IBAN for fiat accounts. Wallet address for stablecoin accounts.
issuer
object
The institution or network that issued these details.
chain
string
The blockchain the wallet address is provisioned on. Stablecoin accounts only. One of eth, base, matic, or sol.
supported_assets
array
The stablecoin assets that can be received at this address. Stablecoin accounts only. Always ["USDC", "USDT"].
status
string
active — ready to receive funds. pending — being provisioned (stablecoin accounts only, while the wallet address is generated on-chain).
terminate_after
number
Number of days until these details expire and deactivate. Null if no expiry is set.
created
number
Unix timestamp in milliseconds when the account details were created.
updated
number
Unix timestamp in milliseconds when the account details were last updated.
{
  "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",
  "terminate_after": null,
  "created": 1735725600000,
  "updated": 1735725600000
}

Create account details

Provision banking coordinates or a wallet address for an account. The type of details provisioned depends on asset_type.
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"
  }'

Request parameters

account_id
string
required
The ID of the account to provision details for.
asset_type
string
required
fiat to provision banking coordinates. stablecoin to provision a wallet address.
chain
string
Required when asset_type is stablecoin. The blockchain to provision the wallet on. One of eth, base, matic, or sol.
terminate_after
number
Number of days after which these details expire and deactivate automatically. Omit for permanent details.
provider_id
string
Fiat only. Override the default banking provider. Omit to use the Nuvion default for the account currency.

Response

Returns the created account details object. Fiat details are active immediately. Stablecoin details start as pending.
Response
{
  "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",
  "terminate_after": null,
  "created": 1735725600000,
  "updated": 1735725600000
}
Stablecoin details are created with status: "pending" while the wallet address is provisioned on-chain. Listen for the account_details.created webhook to confirm the address is ready before sharing it with payers.
Account details are persistent. Create them once per account — you don’t need to regenerate them for each transaction.

Identifiers returned by currency

The fields populated in account_number and issuer.code depend on the account currency.
CurrencyIdentifiers
USDAccount number, routing number
EURIBAN, BIC
GBPAccount number, sort code
CADAccount number, institution number, transit number
AEDAccount number, IBAN
NGNAccount number
ZARAccount number, branch code

List account details

Returns a paginated list of account details records.
curl "https://api.nuvion.dev/account-details?account_id=acc_01HXYZ5678EFGH" \
  -H "Authorization: Bearer $NUVION_API_KEY"

Request parameters

account_id
string
Filter by account ID. Required when authenticating with an API key.
asset_type
string
Filter by asset type. fiat or stablecoin.
limit
integer
Number of results to return. Between 1 and 100. Defaults to 20.
cursor
string
Pagination cursor from a previous response. Omit for the first page.

Response

Response
{
  "data": [
    {
      "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",
      "terminate_after": null,
      "created": 1735725600000,
      "updated": 1735725600000
    }
  ],
  "meta": {
    "pagination": {
      "has_next": false,
      "has_previous": false,
      "next_cursor": null,
      "previous_cursor": null,
      "total_count": 1
    }
  }
}

Get account details

Retrieves a single set of account details by ID.
curl "https://api.nuvion.dev/account-details/acd_01HXYZ9012IJKL" \
  -H "Authorization: Bearer $NUVION_API_KEY"

Request parameters

account_details_id
string
required
The ID of the account details record to retrieve.

Response

Returns the account details object.
Response
{
  "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",
  "terminate_after": null,
  "created": 1735725600000,
  "updated": 1735725600000
}

Expiring account details

Pass terminate_after on creation to set an expiry. Details deactivate automatically after that many days — no further action is needed. Expired details stop accepting inbound funds. Use cases for expiring details include temporary collection accounts, one-off payout flows, and time-limited receiving addresses where you want to ensure funds aren’t received outside a defined window.