Virtual Account
Create a Virtual Account
A **virtual account** Virtual Account provides a streamlined, automatic solution to convert fiat currency into stablecoins directly into your customers' bank accounts.
AuthorizationBearer <token>
JWT Bearer token authentication
In: header
destinationCurrencystring
The stablecoin received from sending funds to the virtual account. See Currency Codes.
Value in
"USDC" | "USDT"networkstring
The blockchain network for the destination wallet. See Onramper Accounts and Supported Rails & Currencies for supported networks.
walletAddressstring
The wallet address to send the funds to.
integratorBpsFee?string
The basis point percentage fee for the integrator.
Default
"0"Match
^[0-9]+$customerIdstring
The id of the customer associated with the virtual account.
Match
^customer_[a-z0-9]+$sourceCurrencystring
The fiat currency of the source bank account used to fund the virtual account. See Currency Codes.
Value in
"USD" | "EUR"Response Body
curl -X POST "https://api.sandbox.spherepay.co/v2/virtual-account" \
-H "Content-Type: application/json" \
-d '{
"customerId": "customer_1ab2c3d4",
"sourceCurrency": "USD",
"destinationCurrency": "USDC",
"network": "ethereum",
"walletAddress": "0x1234...abcd",
"integratorBpsfee": "10"
}'{
"id": "virtualAccount_987xyz654",
"active": true,
"fees": {
"totalBpsRate": "20",
"integratorFee": {
"bpsRate": "10"
},
"platformFee": {
"bpsRate": "10"
}
},
"depositInstructions": {
"currency": "USD",
"bankName": "Bank of Example",
"bankAccountNumber": "000123456789",
"bankRoutingNumber": "1234567890",
"bankBeneficiaryName": "John Doe",
"bankBeneficiaryAddress": "123 Main St, Anytown, USA"
},
"destination": {
"currency": "USDC",
"walletAddress": "0x1234...abcd",
"network": "ethereum"
},
"created": "2025-04-20T21:49:46.697Z",
"updated": "2025-04-20T21:50:18.854Z"
}{
"ts": "2025-04-20T00:09:16.870Z",
"error": {
"information": [
"Required"
]
}
}