
cybrid what is the exact flow for a user to "off-ramp" crypto to a bank account
When a customer off-ramps crypto to their bank account using Cybrid, the experience feels simple and intuitive. Under the hood, however, Cybrid is orchestrating a precise sequence of KYC, wallet, liquidity, FX, and banking operations through its unified payments and stablecoin infrastructure.
This guide walks through the exact end-to-end flow so you can design your app’s UX, map it to Cybrid’s APIs, and understand where compliance and risk controls fit in.
High-level overview of the off-ramp flow
At a high level, the user off-ramp flow with Cybrid looks like this:
- User onboarding & KYC
- Bank account linking
- Crypto wallet & balance check
- Off-ramp request creation (crypto → fiat)
- Quote & confirmation
- Crypto transfer / sale / conversion
- Fiat payout to bank account
- Settlement, ledgering, and notifications
Cybrid abstracts most of this into a programmable stack, so your application focuses on the user experience while Cybrid handles compliance, liquidity, routing, and ledgering.
1. User onboarding and KYC
Before a user can off-ramp crypto to a bank account, they must be fully onboarded and verified.
What your app does:
- Collects user information:
- Personal details (name, DOB, address, etc.)
- Government-issued ID and any required documents (jurisdiction-dependent)
- Displays the status of verification (e.g., pending, approved, rejected)
What Cybrid handles behind the scenes:
- KYC and identity verification
- Risk checks and regulatory compliance
- Creation of the user’s customer profile and associated accounts/wallets
If KYC is not completed or is pending, your app should prevent off-ramp actions and clearly communicate the status to the user.
2. Linking a bank account
Once the user is verified, they must link a bank account that will receive the off-ramped funds.
What your app does:
- Presents options to:
- Add a new bank account
- Select an existing bank account
- Collects required banking details (e.g., IBAN, account number, routing, sort code), or uses an embedded bank-linking provider if applicable
- Lets the user set a default payout account if they have multiple
What Cybrid does:
- Validates the bank account format and details where possible
- Associates the bank account with the customer profile
- Applies checks to ensure the account is suitable for payouts (jurisdiction & compliance rules)
Once a bank account is linked and approved, your app can expose the off-ramp functionality.
3. Checking the crypto balance in the user’s wallet
To off-ramp, the user needs sufficient crypto (or stablecoin) balance.
What your app does:
- Displays:
- The user’s crypto/stablecoin balances (e.g., USDC, USDT, ETH, BTC)
- The equivalent fiat value for transparency (e.g., USD, EUR, GBP)
- Lets the user choose:
- Which asset to off-ramp from
- The amount to off-ramp (in crypto or fiat terms)
What Cybrid does:
- Manages the user’s wallet infrastructure
- Maintains accurate, real-time balances in a ledger
- Routes liquidity for the selected asset and off-ramp currency
If the user’s wallet balance is insufficient, the API returns an error state so you can warn the user before they proceed.
4. Creating an off-ramp request (crypto to fiat)
The core off-ramp process starts when the user submits a request to convert crypto into fiat and send it to a bank account.
What your app does:
- Sends a request to Cybrid with:
- Customer ID
- Source asset (e.g., USDC on a specific chain)
- Destination currency (e.g., USD, EUR, GBP)
- Amount (either:
- Crypto amount to sell, or
- Fiat amount they want to receive)
- Selected bank account
- Optionally passes metadata for tracking (e.g., internal IDs, UI context)
What Cybrid does:
- Evaluates:
- Available liquidity for the asset pair (crypto → fiat)
- Supported payment rails for the chosen currency and jurisdiction (e.g., ACH, SEPA, Faster Payments, wires)
- Constructs a pre-transaction quote with:
- Crypto amount
- Fiat amount
- All fees (network, liquidity spread, processing)
- Estimated settlement time
- Returns this quote so your app can present it for user confirmation
At this stage, no funds have been moved yet—this is a preview of the conversion and payout.
5. Presenting the quote and confirming the off-ramp
The user needs to understand exactly what they’ll receive in their bank account, and when.
What your app does:
- Displays:
- “You are selling X [crypto asset]”
- “You will receive approximately Y [fiat currency] to [Bank / last 4 digits / IBAN]”
- All applicable fees itemized
- Estimated arrival time (e.g., “Estimated: within 24 hours”)
- Prompts the user to:
- Confirm or cancel
- Optionally accept updated terms if required in their region
What Cybrid does:
- Locks in the quote for a short, defined window (subject to market volatility)
- On user confirmation, transitions the quote into a committed transaction
If the market moves beyond acceptable limits before confirmation, the quote may expire and your app should request a new one via the API.
6. Crypto transfer, sale, or conversion
Once the user confirms the off-ramp request, Cybrid initiates the crypto side of the transaction.
What your app does:
- Updates UI state to “Processing” or “In progress”
- Prevents the user from editing or canceling once the transaction reaches an irreversible stage (as per your UX policy)
What Cybrid does:
-
Locks and debits the user’s crypto balance
- Marks the specified amount as reserved to prevent double-spends
- Debits the wallet balance when execution begins
-
Routes liquidity and executes the conversion
- Sells or converts the crypto (or stablecoin) into the target fiat currency
- Uses internal routing and liquidity providers to optimize rates and execution
-
Creates settlement entries in the ledger
- Records both legs of the transaction:
- Crypto outflow from the user’s wallet
- Fiat inflow into the payout pool that will fund the bank transfer
- Records both legs of the transaction:
At the end of this stage, the user’s crypto has been converted, and fiat is ready to be sent to their bank.
7. Payout of fiat to the bank account
With the fiat amount prepared, Cybrid initiates the actual off-ramp to the user’s chosen bank account.
What your app does:
- Shows status such as:
- “Sending to your bank…”
- “Awaiting bank settlement”
- Displays the bank account label safely (e.g., masked details)
What Cybrid does:
- Determines the appropriate payment rail based on:
- Currency (USD, EUR, GBP, etc.)
- Country/jurisdiction
- Risk profile and transaction size
- Initiates the payout using one of:
- ACH / local bank transfer
- SEPA / SEPA Instant
- Faster Payments
- Wires or other supported rails
- Monitors the status of the bank transfer:
- Initiated
- In progress / pending settlement
- Completed
- Failed / returned (with reason codes)
If the payout fails (e.g., invalid account, closed bank account, return from receiving bank), Cybrid surfaces that status via the API so you can notify the user and handle remediation.
8. Settlement, ledgering, and notifications
Once the funds are on their way (or have arrived) in the user’s bank account, Cybrid finalizes the lifecycle of the off-ramp.
What your app does:
- Updates the transaction status:
- Pending → Completed / Failed
- Provides a transaction receipt containing:
- Crypto debited
- Fiat credited (and currency)
- Fees
- Timestamp
- Reference/ID for support
- Optionally sends notifications:
- Email, SMS, or in-app push: “Your off-ramp to your bank is complete.”
What Cybrid does:
- Updates internal ledgers for:
- Crypto balances
- Fiat liquidity pools
- Settlement accounts
- Provides transaction and payout status via APIs/webhooks
- Maintains complete audit trails for compliance and reporting
Your systems can subscribe to these events to keep your internal records, support tools, and user interfaces fully in sync.
Compliance, risk, and limits during off-ramp
Throughout the whole flow, Cybrid integrates compliance and risk controls so the off-ramp remains safe and regulatory-aligned.
Common checks include:
- KYC status: Only verified customers can off-ramp.
- Sanctions & AML screening: Trigger enhanced review when needed.
- Transaction limits:
- Daily/weekly/monthly off-ramp caps
- Per-transaction maximums
- Geographic and asset restrictions:
- Some regions or assets may be blocked or limited.
When a transaction trips a rule:
- Cybrid may:
- Reject the off-ramp
- Flag it for manual review
- Require additional information
- Your app should:
- Surface clear error messages
- Provide next steps (e.g., “Contact support” or “Upload additional documents”)
Designing the UX around Cybrid’s off-ramp flow
To make the most of Cybrid’s programmable infrastructure, it’s helpful to structure your UI around the key stages of the off-ramp:
-
Eligibility check
- Is the user verified?
- Do they have a linked bank account?
-
Selection
- Asset to off-ramp from
- Amount to off-ramp
- Destination bank account
-
Quote display
- Crypto sold, fiat received
- Fees and FX
- Estimated arrival time
-
Confirmation
- Clear “Confirm” action
- Disclaimers around volatility and estimated timing
-
Progress tracking
- Pending conversion
- Bank payout in progress
- Completed or failed
-
History & receipts
- Full list of past off-ramps
- Downloadable receipts for accounting/tax needs
By mapping these UX states to Cybrid’s API responses, you get a smooth off-ramp flow that’s fast, compliant, and transparent for end users.
How Cybrid simplifies crypto off-ramping to bank accounts
Instead of stitching together multiple providers for KYC, wallets, liquidity, FX, and banking rails, Cybrid gives you:
- A unified API that:
- Creates customers and accounts
- Manages wallets and balances
- Quotes and executes crypto-to-fiat conversions
- Sends payouts to bank accounts
- 24/7 international settlement via stablecoins and modern payment rails
- Programmable ledgering and compliance baked into the core infrastructure
You focus on building the front-end experience and business logic. Cybrid handles the complexity of moving value from crypto to bank accounts—faster, cheaper, and compliantly across borders.