Supported networks
| Chain | Network | Assets |
|---|---|---|
eth | Ethereum Mainnet | USDC, USDT |
base | Base | USDC, USDT |
matic | Polygon | USDC, USDT |
sol | Solana Mainnet | USDC, USDT |
Nuvion uses
USC as the currency code for USDC and UST for USDT. Use these codes when initiating transfers.Step 1: Issue a wallet
Issue a stablecoin wallet address by creating account details withasset_type: stablecoin on an existing account. Each account can hold one wallet per chain.
The ID of the account to issue the wallet for.
Set to
stablecoin.The blockchain to provision the wallet address on. One of
eth, base, matic, sol.Number of days after which the wallet address expires. Omit for a permanent wallet.
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.Step 2: Send stablecoins
Sending stablecoins is a two-step process: first create a counterparty for the recipient wallet, then initiate a transfer.Create a counterparty
A counterparty represents the external wallet you’re sending funds to. Create one usingPOST /recipient-counterparties.
The counterparty type. One of
individual or business.Describes the relationship to your platform. e.g.
customer, vendor, supplier.Full name of the recipient.
Email address of the recipient.
The recipient’s physical address.
The network the recipient wallet is on. One of
ETH_MAINNET, SOLANA_MAINNET, BASE_MAINNET, POLYGON_MAINNET.The recipient’s wallet address.
Initiate the transfer
Once you have a counterparty, usePOST /transfers to send stablecoins.
The ID of the source account to debit.
The ID of the recipient counterparty.
The stablecoin to send.
USC for USDC, UST for USDT.Amount in the smallest currency unit.
10000 = 100.00 USDC.Set to
stablecoin-transfer.A description of the transfer.
A unique idempotency key for this transfer. Resubmitting with the same reference returns the original transfer rather than creating a duplicate.
Transfer statuses
| Status | Description |
|---|---|
pending | Transfer created, awaiting processing |
processing | Submitted to the blockchain, awaiting on-chain confirmation |
completed | Confirmed on-chain. Funds have arrived in the recipient wallet |
failed | Transfer could not be completed |
reversed | Transfer was reversed after completion |
Webhooks
Subscribe to these events to track wallet provisioning and transfer lifecycle:| Event | Trigger |
|---|---|
account_details.created | A stablecoin wallet address has been provisioned |
account_details.updated | A wallet’s status or configuration has changed |
transfers.updated | A transfer’s status has changed |
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.
