Fiat ← Crypto
Sell USDC for USD; verify via webhook then REST
Summary
Create a Customer, provision a wallet, create a crypto→fiat transfer to settle USDC → USD, then wait for a webhook and re-verify via REST before marking the payout complete. Rails/collection of payout details may require enablement. Fiat: USD only. Crypto: USDC only (today). (General transfer patterns and crypto-rail requests are documented; payout rails to fiat depend on your account configuration.)
Problem → Solution mapping
Pain point | Capability | Mechanism |
---|---|---|
Move funds out to fiat | Transfers API | POST /v1/transfers with crypto source and fiat destination |
User data / payout details | Hosted flow if required | Your account may expose a hosted step to collect payout details |
Final, auditable state | Webhooks + REST re-verify | Subscribe, validate HMAC, then GET /v1/transfers/{id} before marking paid |
Architecture
Implementation steps
Make a transfer (USDC → USD)
Notes:
amount
here denotes the crypto amount to sell (USDC units).- Depending on your payout rail configuration, the API may process automatically (state transitions via webhooks) or guide the user through a hosted step to provide payout details. Use webhook + REST to determine truth.
Wait & verify the webhook (then REST re-check)
Configure webhooks:
Validate signature and re-fetch the transfer before marking payout delivered:
Limits & caveats
- Fiat: USD only. Crypto: USDC only (today).
- Always treat REST as source of truth; do not fulfill based on webhook alone.
- Payout rails to fiat depend on your account configuration.