Banxa Native · Headless ramp API
You bring the identity. We bring the rails.
Banxa Native is headless ramp infrastructure with global rails, embedded directly in your product. Native cards, Apple Pay, Google Pay, and bank transfers across 180+ countries. No redirects, no third-party screens, no duplicate verification.
Why Native?
Built in, not bolted on.
Four things change when the ramp lives inside your product instead of behind a redirect.
No re-verification, or redirects
No extra steps means frictionless user experience. Banxa Native ensures your flow remains seamless, without redirects or duplicate user flows.
Native payments
Cards, Apple Pay, Google Pay, zero PCI overhead. Card and wallet payments render as a native payment sheet inside your app. Bank transfers run directly through the API, no need for PCI certification and no compliance overhead on your side.
Global scale, local rails
We meet your users where they are. Local cards, Apple Pay, and Google Pay across 180+ countries and 45 licensed jurisdictions. Whatever market your users are in, they pay with the methods they are familiar with.
Full control
Your brand, your flow. Built exactly how you want it. Pricing, eligibility, payment routing, transaction creation run through your backend via server-to-server API calls. Webhooks deliver real-time transaction status. Banxa Native fits your product, not the other way around.
How it integrates
One integration, four steps.
Everything runs server-to-server from your backend. The only thing that renders client-side is the payment sheet.
Share your user’s identity
Your KYC, your infrastructure. Pass identity data to Banxa once. Banxa links it to a stable reference tied to your internal user ID. Returning users skip this step entirely.
View request
POST /eapi/v0/identities/basic
Content-Type: application/json
{
"identityReference": "partner-abc123",
"givenName": "Jane",
"surname": "Smith",
"email": "[email protected]",
"dateOfBirth": "1990-01-15",
"residentialAddress": {
"country": "AU"
}
}Check eligibility
Confirm payment readiness before creating a transaction. Returns paymentReady: true/false and any outstanding requirements.
View request
POST /eapi/v0/identities/transactions/eligibility
Content-Type: application/json
{
"identityReference": "partner-abc123",
"method": "apple-pay",
"transactionType": "ONRAMP",
"fiat": "AUD",
"crypto": "USDT",
"blockchain": "TRON",
"fiatAmount": "500"
}Execute payment
Cards, Apple Pay, and Google Pay render as a native payment sheet via SDK or Embedded Payment Button. Bank transfers go direct through the API.
View request
import {
isPrimerCheckoutWebViewResult,
} from '@banxa-official/react-native-sdk';
const result = await banxa.buy.createOrderAndShowPrimerCheckout(orderRequest);
if (isPrimerCheckoutWebViewResult(result)) {
const { order, webViewProps } = result;
// render <CheckoutWebView {...webViewProps} />
} else {
const order = result;
}Receive webhooks
Transaction status delivered server-to-server in real time. No polling required.
View request
POST https://your-backend.com/webhooks/banxa
Content-Type: application/json
{
"orderId": "ord_abc123",
"status": "complete",
"identityReference": "partner-abc123",
"fiat": "AUD",
"fiatAmount": "500.00",
"crypto": "USDT",
"cryptoAmount": "329.14",
"blockchain": "TRON"
}Native or Hosted Checkout?
If you want the ramp embedded natively in your own UI with full control over the experience, that’s Native. If you want to go live fast on Banxa-managed screens, that’s Hosted Checkout.
Native | Hosted Checkout | |
|---|---|---|
| Branding | Fully yours, end to end | Banxa-branded screens |
| Verification | You control the identity flow | Banxa handles it end to end |
| UI surface | Your components + native sheet | Drop-in / redirect |
| Integration | Server-to-server API + SDK | Single embed or link |
| Best for | Full UX control, no redirects | Fast launch, minimal build |