Skip to main content
Nuvion supports stablecoin transfers natively. You can issue a wallet address on any supported chain for an entity’s account, receive inbound stablecoin deposits, and send USDC or USDT to any external wallet address globally.

Supported networks

Nuvion uses USC as the currency code for USDC and UST for USDT. Use these codes when initiating transfers.

Create a stablecoin account

Create an independent stablecoin account that holds a wallet address for receiving stablecoin transfers. Each account have its own banking details and wallet.

Response


Issue a wallet

Issue a stablecoin wallet address by creating account details with asset_type: stablecoin on an existing account. Each account can hold one wallet per chain.
string
required
The ID of the account to issue the wallet for.
string
required
The ID of the entity that owns the account.
string
required
The blockchain to provision the wallet address on. One of eth, base, matic, sol.
number
Number of days after which the wallet address expires. Omit for a permanent wallet.

Response

The wallet is created with status: pending while the address is being provisioned on-chain. Listen for the account_details.created webhook event to confirm the wallet is ready.

Please refer to the Send a payout guide for instructions on sending funds..

Step 2: Send stablecoins

Sending stablecoins is a four-step process:
  1. Create a counterparty for the recipient wallet,
  2. Create a Payment detail
  3. Create Fx Quote to get the current rate for the transfer
  4. Initiate a transfer.

Create a counterparty

A counterparty represents the external wallet you’re sending funds to. Create one using POST /counterparties.
string
required
The counterparty type. One of individual or business.
string
required
Describes the relationship to your platform. e.g. customer, vendor, supplier.
string
required
Full name of the recipient.
string
required
Email address of the recipient.
object
required
The recipient’s physical address.
string
required
The network the recipient wallet is on. One of ETH_MAINNET, SOLANA_MAINNET, BASE_MAINNET, POLYGON_MAINNET.
string
required
The recipient’s wallet address.

Responses


Payment Details

Create a payment details for this transfer using POST /payment-details.

Response


Create FX Quote

Create FX Quote for the transfer using POST /fx-quotes. This is required for currency conversion.

Response


Initiate the transfer

Once you have a counterparty, use POST /transfers to send stablecoins.
string
required
The ID of the source account to debit.
string
required
The ID of the recipient counterparty.
string
required
The stablecoin to send. USC for USDC, UST for USDT.
string
required
The ID of the payment details for the recipient wallet.
string
required
The ID of the FX quote to use for this transfer.
number
required
Amount in the smallest currency unit. 10000 = 100.00 USDC.
string
required
Set to stablecoin-transfer.
string
required
A description of the transfer.
string
required
A unique idempotency key for this transfer. Resubmitting with the same reference returns the original transfer rather than creating a duplicate.

Response


Transfer statuses


Webhooks

Subscribe to these events to track wallet provisioning and transfer lifecycle:

What’s next

Account Details

Learn how fiat and stablecoin account details are structured and managed.

Send a payout

Send fiat funds from an account to any bank account globally.

Transfers API reference

Full endpoint documentation for initiating and managing transfers.