How Offramps Work
Offramps follow a quote-based flow:1
Create offramp request
Specify the source wallet, destination account, and amount to convert.
2
Review quote
Examine the exchange rate, fees, and quote expiration time.
3
Accept quote
Accept the quote to execute the conversion. Stablecoins are converted to fiat and sent to the registered bank account.
Creating Offramps
Use the Create Offramp endpoint to get a quote. Request:Response
Response
Unique offramp ID. Use this to track the transaction and accept the quote.
Offramp status.
OPEN_QUOTE means the quote is ready for review. See Transaction Status for details.Conversion quote details including exchange rate, amounts, and expiration time.
Developer fee details if included in the request.
Source wallet details including user information and stablecoin amount.
Destination bank account details including account ID and user information.
Transaction receipt. Contains
transactionHash once the stablecoin conversion is confirmed on-chain, and paymentTracking once fiat processing begins.For detailed field documentation, see the Create Offramp API reference.
Accepting Quotes
After reviewing the quote, accept it to execute the conversion using the Accept Quote endpoint. Request:Response
Response
Updated offramp status.
CRYPTO_INITIATED means the conversion has started. See Transaction Status for progression.Transaction Status
Offramps progress through several phases:Creation & Quote Phase
| Status | Description |
|---|---|
| CREATED | Offramp request created successfully |
| NOT_INITIATED | Request not submitted due to validation error |
| OPEN_QUOTE | Quote generated and awaiting acceptance |
| QUOTE_FAILED | Quote expired before acceptance |
Crypto Processing Phase
| Status | Description |
|---|---|
| CRYPTO_INITIATED | Converting stablecoins, blockchain transaction started |
| CRYPTO_PENDING | Blockchain transaction awaiting confirmation |
| CRYPTO_PROCESSED | Stablecoins successfully converted |
| CRYPTO_FAILED | Blockchain transaction failed |
| CRYPTO_RETURNED | Failed transaction refunded to user’s wallet |
Fiat Processing Phase
| Status | Description |
|---|---|
| FIAT_INITIATED | Fiat payout process started |
| FIAT_PENDING | Fiat transaction awaiting settlement |
| FIAT_FAILED | Fiat transaction failed |
| COMPLETED | Fiat successfully delivered to bank account |
Tracking Offramps
Status Updates: Subscribe to
OFFRAMP.CREATE and OFFRAMP.UPDATE webhook events to receive real-time status notifications. See Webhooks for setup instructions.Quote Validity
Quotes expire 10 minutes after creation to ensure current market rates. This prevents:- Stale pricing during volatile markets
- Long-pending transactions
- Rate arbitrage
QUOTE_FAILED):
- Create a new offramp request
- Review the updated quote
- Accept the new quote within 10 minutes
Time Sensitive: Always check
quoteInformation.expiresAt before accepting. Attempting to accept an expired quote will fail.Key Concepts
Quote Information
Quote Information
The quote provides complete pricing transparency:
- sendGross: Total stablecoins being converted
- sendNet: Net amount after fees
- receiveGross: Total fiat before fees
- receiveNet: Actual fiat you’ll receive
- rate: Exchange rate (stablecoin to fiat)
- expiresAt: Quote expiration timestamp
receiveNet matches your expectations before accepting.Developer Fees
Developer Fees
Monetize offramp transactions by adding a developer fee when creating the offramp:FIX: Fixed amount regardless of transaction sizePERCENT: Percentage of transaction amountDeveloper fees are paid in stablecoins from the source wallet before conversion.
USDT Fee
USDT Fee
USDT offramps incur an additional 0.1% exchange fee beyond standard rates. This fee appears on your monthly invoice, not deducted from the transaction amount.
Account Requirements
Account Requirements
Before creating offramps, ensure:
- User has completed KYC for the destination currency’s rail
- Offramp account is created and active (status:
ACTIVE) - Sufficient stablecoin balance in the source wallet
Getting Help
- 📧 Email: support@hifibridge.com
- 💬 Slack: Message us in our shared Slack channel
Related Resources
- Quickstart Guide - Complete offramp tutorial
- Offramp Accounts - Set up bank accounts for receiving fiat
- Users - KYC requirements for offramping
- Webhooks - Real-time offramp status notifications
- API Reference - Complete endpoint documentation