Sphere Paysphere

Automating Transfers with Virtual Accounts

Learn how to automate fiat-to-stablecoin transfers using SpherePay’s Virtual Accounts, simplifying your payment infrastructure.

SpherePay's Virtual Account provides a streamlined, automatic solution to convert fiat currency into stablecoins directly. Designed specifically for developers and businesses integrating with SpherePay, Virtual Accounts leverage dedicated virtual bank accounts linked to your chosen wallet addresses, ensuring a seamless fiat-to-stablecoin conversion experience.

How It Works

When you set up a virtual account, SpherePay creates a unique virtual bank account associated directly with a specific wallet address. Each incoming transfer to this bank account automatically triggers an instant conversion from fiat (USD) into a supported stablecoin (USDC or USDT), which is then immediately delivered to the linked wallet address.

Note

Virtual Accounts is a separate product from SpherePay's On-Ramp Transfer product and does not share the same data or API endpoints. Any transfers to a virtual account are not subjected to the same operation as a normal transfer. Thus, features such as webhooks, Transfer Fees and Bank Account are not supported.

Supported Currencies

Currently, SpherePay supports:

  • Fiat Currency: USD
  • Stablecoins:
    • USDC on Arbitrum, Avalanche, Base, Ethereum, Polygon, Solana
    • USDT on Ethereum

Supported Regions

SpherePay Virtual Accounts are available globally, except in regions sanctioned or otherwise prohibited by law.

Setting Up a Virtual Account

To successfully set up and utilize a Virtual Account, follow these steps:

1. Merchant Setup

2. Customer Setup (if applicable)

If you're opening a Virtual Account for your customers, ensure each customer:

Virtual Account APIs

Create Virtual Account

POST https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount

For full request/response details, see the Sphere API Reference.

Request Example

{
  "customerId": "{{customer_id}}",
  "walletAddress": "{{wallet_address}}",
  "currency": "USD",
  "network": "ethereum",
  "stablecoin": "USDC"
}

Retrieve Virtual Account

GET https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount/{{virtual_account_id}}

For full request/response details, see the Sphere API Reference.


List Virtual Accounts

GET https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount

For full request/response details, see the Sphere API Reference.


Update Virtual Account

PATCH https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount/{{virtual_account_id}}

For full request/response details, see the Sphere API Reference.


Deactivate Virtual Account

PATCH https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount/{{virtual_account_id}}/deactivate

For full request/response details, see the Sphere API Reference.


Reactivate Virtual Account

PATCH https://api.spherepay.co/v1/customer/{{customer_id}}/virtualAccount/{{virtual_account_id}}/reactivate

For full request/response details, see the Sphere API Reference.


Transaction Timing

Transfers to your virtual bank account are converted instantly once funds arrive, excluding the transfer time from the customer's bank to the virtual account itself.

Security and Compliance

SpherePay’s Virtual Accounts strictly adhere to comprehensive KYB and KYC verification protocols to ensure compliance and security.

Additional Notes

  • Currently, SpherePay Virtual Accounts do not support webhook notifications.
  • To maintain operational simplicity and reliability, event ordering or additional sandbox testing environments for Virtual Accounts are not supported or required.
  • Listing transactions history from a virtual account is currently not supported. We are working on adding this feature in the future. Please contact your sales representative to learn more.

Information

For detailed information regarding applicable fees and transaction limits, please contact your SpherePay sales representative.

Last updated on