Transfers via Stablecoin
Stablecoin payments are currently available via API only and are not supported in the Airwallex web app.
Sending stablecoins to an incorrect wallet address or unsupported network will result in the irreversible loss of funds. Always verify the recipient wallet address and network before initiating a transfer.
You can pay out stablecoins to a beneficiary's wallet on a supported blockchain network by creating a transfer with our Transfer APIAPI endpoints. Learn how to do this in the following sections.
The current transfer approval workflow also applies to transfers via stablecoin.
For supported stablecoins and networks, see Stablecoin wallet payout network.
Before you begin
- Contact your Airwallex Account Manager to enable stablecoin payouts for your account. The following setup is managed by your Account Manager:
- Stablecoin beneficiary configuration
- Stablecoin transfer type configuration
- Payout fee configuration
- Routing configuration
- Obtain your access tokenAPI by authenticating to Airwallex using your unique Client ID and API key. You will need the access token to make API calls.
Step 1: Create a stablecoin wallet beneficiary
Call the Create a beneficiaryAPI endpoint with type set to STABLECOIN_WALLET and a stablecoin_wallet object.
| Required fields | Permitted data | Notes |
|---|---|---|
type | STABLECOIN_WALLET | Beneficiary type |
entity_type | COMPANY or PERSONAL | Entity type of the beneficiary |
company_name | String | Required when entity_type is COMPANY |
additional_info.business_registration_number | String | Required when entity_type is COMPANY |
first_name | String | Required when entity_type is PERSONAL |
last_name | String | Required when entity_type is PERSONAL |
date_of_birth | YYYY-MM-DD | Required when entity_type is PERSONAL |
address.country_code | 2-letter ISO 3166-2 country code | Country of the beneficiary |
stablecoin_wallet.asset | USDC | Stablecoin asset type |
stablecoin_wallet.network | ETHEREUM | Blockchain network |
stablecoin_wallet.address | Ethereum address (0x...) | Wallet address of the beneficiary |
Example request
1curl -X POST https://api-demo.airwallex.com/api/v1/beneficiaries/create \2 -H 'Content-Type: application/json' \3 -H 'Authorization: Bearer {{ACCESS_TOKEN}}' \4 -d '{5 "beneficiary": {6 "additional_info": {7 "business_registration_number": "123456789"8 },9 "address": {10 "country_code": "US"11 },12 "entity_type": "COMPANY",13 "company_name": "Acme Web3 Ltd",14 "stablecoin_wallet": {15 "asset": "USDC",16 "network": "ETHEREUM",17 "address": "0x5abfe17b2e9e1234567890abcdef1234567890"18 },19 "type": "STABLECOIN_WALLET"20 },21 "nickname": "Acme-USDC-Rail"22 }'
Example response
1{2 "beneficiary": {3 "additional_info": {4 "business_registration_number": "123456789"5 },6 "address": {7 "country_code": "US"8 },9 "company_name": "Acme Web3 Ltd",10 "stablecoin_wallet": {11 "asset": "USDC",12 "network": "ETHEREUM",13 "address": "0x5abfe17b2e9e1234567890abcdef1234567890"14 },15 "entity_type": "COMPANY",16 "type": "STABLECOIN_WALLET"17 },18 "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",19 "nickname": "Acme-USDC-Rail",20 "payer_entity_type": "COMPANY"21}
Step 2: Create a transfer
Call the Create a transferAPI endpoint. You can either reference a saved beneficiary_id or pass the beneficiary details inline.
For stablecoin transfers, set transfer_method to LOCAL. This routes the payout through Airwallex's stablecoin infrastructure to the blockchain network.
Example request (inline beneficiary)
1curl -X POST https://api-demo.airwallex.com/api/v1/transfers/create \2 -H 'Content-Type: application/json' \3 -H 'Authorization: Bearer {{ACCESS_TOKEN}}' \4 -d '{5 "beneficiary": {6 "additional_info": {7 "business_registration_number": "123456789"8 },9 "address": {10 "country_code": "US"11 },12 "company_name": "Acme Web3 Ltd",13 "entity_type": "COMPANY",14 "stablecoin_wallet": {15 "asset": "USDC",16 "network": "ETHEREUM",17 "address": "0x5abfe17b2e9e1234567890abcdef1234567890"18 },19 "type": "STABLECOIN_WALLET"20 },21 "reason": "pay_for_goods",22 "reference": "STABLECOIN-PMT-001",23 "request_id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",24 "source_amount": 1000,25 "source_currency": "USD",26 "transfer_method": "LOCAL"27 }'
If you are registered as a platform account, you can call this endpoint on behalf of your connected accounts by specifying the open ID in the x-on-behalf-of header.
Example response
1{2 "beneficiary": {3 "additional_info": {4 "business_registration_number": "123456789"5 },6 "address": {7 "country_code": "US"8 },9 "company_name": "Acme Web3 Ltd",10 "entity_type": "COMPANY",11 "stablecoin_wallet": {12 "asset": "USDC",13 "network": "ETHEREUM",14 "address": "0x5abfe17b2e9e1234567890abcdef1234567890"15 },16 "type": "STABLECOIN_WALLET"17 },18 "created_at": "2025-04-20T12:00:00+0000",19 "fee_amount": 0,20 "fee_currency": "USD",21 "id": "c3d4e5f6-a7b8-9012-cdef-012345678901",22 "reason": "pay_for_goods",23 "reference": "STABLECOIN-PMT-001",24 "request_id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",25 "source_amount": 1000,26 "source_currency": "USD",27 "status": "PROCESSING",28 "transfer_amount": 1000,29 "transfer_currency": "USD",30 "transfer_method": "LOCAL"31}
Step 3: Check transfer status
Call Get a transferAPI to check the status. Once the on-chain transaction is submitted, dispatch_info will contain:
external_reference: the blockchain transaction hashexternal_reference_type:NETWORK_TRANSACTION_ID
You can use the transaction hash to verify the payout on a blockchain explorer (e.g., Etherscan).
Transfer lifecycle
Stablecoin transfers follow this status progression:
| Status | Description |
|---|---|
SCHEDULED | Transfer created and queued for processing |
PROCESSING | Transfer is being processed |
SENT | On-chain transaction submitted to the network |
PAID | On-chain transaction confirmed, funds delivered |
Sandbox testing
Sandbox simulation for stablecoin transfers is not currently available. To test your integration end-to-end, contact your Airwallex Account Manager to set up a demo environment with stablecoin payments enabled.