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:
- On-ramping: Converting USD from your bank account to USDC/USDT
- Off-ramping: Converting stablecoins back to USD when needed
- 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.
- Create a virtual account linked to your customer
- Wire funds to the virtual account's bank details
- 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.
- Create an off-loader wallet linked to your customer
- Send stablecoins to the off-loader wallet address
- 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
- Navigate to Transfers to view all treasury movements
- Use filters to show only your company's transactions
- 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
- Use dedicated customer records: Create a separate customer for treasury vs. customer operations
- Poll for status: Use
GET /v2/transfer/{id}to check transfer and deposit status - Plan for settlement times: ACH takes 2-3 days; wires are same/next day
Related Guides
- Transfers API — Detailed transfer documentation
- Virtual Accounts — Automated on-ramping
- Off-Loader Wallet — Automated off-ramping
Last updated on