Skip to content
Last updated

Banxa Hosted Checkout

Banxa-managed checkout: Banxa handles KYC, payments, and regulatory compliance in full. Redirect users or embed the checkout in your app — three integration paths, from a simple URL redirect to a full React Native SDK.

Best for: Wallets, dApps, gaming platforms, and any team where time-to-market is the priority.

If you already run your own KYC and want to embed payments natively without any Banxa screens, see Banxa Native API.


Integration paths

Three ways to integrate. Choose based on your platform and how much backend work you want to do.


What Banxa handles

KYC & Identity

Document verification, liveness checks, and returning customer recognition — handled inside the checkout flow.

Payments

Card, bank transfer, Apple Pay, Google Pay, and local payment methods across global markets.

Compliance & AML

Sanctions screening, transaction monitoring, and ongoing compliance — Banxa's obligation, not yours.

Settlement

Fiat purchase and crypto delivery managed by Banxa. Your platform receives the confirmed transaction result.


Before you start

What you need from Banxa

A partner ID (partnerRef) used in all API endpoint paths, an API key for x-api-key authentication, and a separate set of sandbox credentials. → Access & Setup

EnvironmentBase URL
Sandboxhttps://api.banxa-sandbox.com/{partnerRef}/v2/
Productionhttps://api.banxa.com/{partnerRef}/v2/

Always build and test against sandbox before going live. → Authentication & Environments


Reference


Quick start

Create a buy order and redirect the customer to the returned checkoutUrl. Include externalCustomerId to enable returning customer recognition.

curl -X POST "https://api.banxa.com/{partnerRef}/v2/buy" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "crypto": "ETH",
    "fiat": "USD",
    "fiatAmount": "100",
    "walletAddress": "0xe3BDEFdAeFF070925eB7FfC49F9B30c647Cb751e",
    "redirectUrl": "https://yourapp.com/success",
    "externalCustomerId": "user-abc123"
  }'

Redirect the customer to the checkoutUrl in the response:

{
  "id": "3b7f1c9d2b4a8e6f5d0c7a2b3f9e1d4c",
  "checkoutUrl": "https://pay.banxa.com/checkout/3b7f1c9d...",
  "externalCustomerId": "user-abc123",
  "fiat": "USD",
  "fiatAmount": "100.00",
  "crypto": "ETH",
  "blockchain": "ETHEREUM"
}

Full API Integration guide