This flow describes the most common happy path for transactions where no additional identity information is required at the time of payment.
This includes:
- First-time users eligible for KYC-free or low-risk transactions
- Returning users who have already completed the required verification for the current transaction context
In these cases, eligibility evaluates successfully and the transaction can proceed without collecting additional identity data.
The partner orchestrates pricing, identity, and eligibility checks before creating a ramp and initiating payment.
Eligibility determines whether the transaction is KYC-ready.
If paymentReady = true, no additional compliance steps are required for the transaction context.
Note: An
identityReferenceis still required before creating a ramp.
For first-time users, this may need to be established even when the transaction is KYC-free.

The user requests pricing or a quote for a buy or sell transaction.
This establishes the initial transaction context, including:
- Transaction type (buy or sell)
- Asset and fiat currency
- Amount
- Intended payment method (where applicable)
The partner ensures there is a persistent identityReference available for the user.
- Returning users reuse an existing
identityReference - First-time users may require an identity to be established before ramp creation, even for KYC-free transactions
This identity:
- Represents a single end user
- Persists across transactions
- Accumulates compliance state over time
The partner evaluates eligibility for the transaction using the identity and transaction context.
Eligibility determines:
- Whether the transaction can proceed immediately (
paymentReady) - Whether any additional requirements must be satisfied
For this flow:
paymentReady = truerequirements = []
This indicates that no additional identity information is required for the transaction context.
Once the transaction is KYC-ready and an identity is available, the partner creates the ramp.
The ramp creation path depends on the payment method:
Bank transfer
- Ramp is created directly via the Native API
Cards, Apple Pay, Google Pay
- Ramp is created using the Native Payment SDK for native mobile applications
- If the SDK is not available (for example, web-based integrations), the transaction falls back to Banxa Checkout (webview)
The user completes payment using the selected method:
- Native payment sheet for supported mobile wallets and cards
- Banxa Checkout webview for hosted payment flows
- Bank transfer instructions for bank-based payments
Transaction progress and outcomes are communicated via:
- Webhooks
- Order and ramp status endpoints
These updates allow the partner to reflect real-time transaction state in their application.
- An empty
requirementslist is a valid and expected outcome paymentReady = trueindicates no additional KYC is required, not that an identity already exists- Returning users benefit from previously completed verification
- If the transaction context changes (amount, payment method, jurisdiction), eligibility may return new requirements and
paymentReadymay becomefalse