Offloader Wallets API now available  View changelog

Treasury Management

Convert company funds between fiat and stablecoins for treasury operations.

Use SpherePay to manage your company's treasury by converting between USD and stablecoins. This enables you to hold funds in stablecoins for yield, faster settlement, or as part of a multi-currency treasury strategy.


Overview

Treasury management with SpherePay involves:

  1. On-ramping: Converting USD from your bank account to USDC/USDT
  2. Off-ramping: Converting stablecoins back to USD when needed
  3. Monitoring: Tracking balances and transfer status

First-Party Transactions

Treasury operations are typically first-party transactions—you're moving funds on behalf of your own legal entity, not a third party.

Information

First-party transactions still require KYC/KYB verification. Complete business verification for your company before executing transfers.


Implementation Options

Option 1: Manual Transfers via API

Best for: Ad-hoc conversions based on market conditions or cash needs.

# Convert $10,000 USD to USDC on Solana
curl -X POST https://api.spherepay.co/v2/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "customer_your_company",
    "type": "onRamp",
    "sourceAmount": "10000.00",
    "sourceCurrency": "USD",
    "destinationCurrency": "USDC",
    "destinationNetwork": "solana",
    "bankAccountId": "bank_xxx",
    "walletId": "wallet_xxx"
  }'

Option 2: Virtual Accounts for Automated On-Ramping

Best for: Regular deposits that should automatically convert to stablecoins.

  1. Create a virtual account linked to your customer
  2. Wire funds to the virtual account's bank details
  3. SpherePay automatically converts deposits to stablecoins

Option 3: Off-Loader Wallet for Automated Off-Ramping

Best for: Stablecoin payouts that should automatically convert to fiat.

  1. Create an off-loader wallet linked to your customer
  2. Send stablecoins to the off-loader wallet address
  3. SpherePay automatically converts to USD and deposits to your bank

Example: Round-Trip Treasury Flow

Step 1: On-Ramp (USD → USDC)

curl -X POST https://api.spherepay.co/v2/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "customer_your_company",
    "type": "onRamp",
    "sourceAmount": "50000.00",
    "sourceCurrency": "USD",
    "destinationCurrency": "USDC",
    "destinationNetwork": "ethereum",
    "bankAccountId": "bank_xxx",
    "walletId": "wallet_xxx"
  }'

Step 2: Hold and Manage USDC

Store USDC in your registered wallet. You can:

  • Transfer between wallets on different networks
  • Send to external addresses
  • Monitor balances via the dashboard or API

Step 3: Off-Ramp (USDC → USD)

When you need fiat:

curl -X POST https://api.spherepay.co/v2/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "customer_your_company",
    "type": "offRamp",
    "sourceAmount": "25000.00",
    "sourceCurrency": "USDC",
    "sourceNetwork": "ethereum",
    "destinationCurrency": "USD",
    "bankAccountId": "bank_xxx",
    "walletId": "wallet_xxx"
  }'

Monitoring and Reporting

Via Dashboard

  1. Navigate to Transfers to view all treasury movements
  2. Use filters to show only your company's transactions
  3. Export reports for accounting

Via API

# Get all transfers for your company
curl "https://api.spherepay.co/v2/transfer?customerId=customer_your_company" \
  -H "Authorization: Bearer YOUR_API_KEY"

Best Practices

  1. Use dedicated customer records: Create a separate customer for treasury vs. customer operations
  2. Poll for status: Use GET /v2/transfer/{id} to check transfer and deposit status
  3. Plan for settlement times: ACH takes 2-3 days; wires are same/next day

Last updated on