Skip to content
Last updated

Banxa Native API

Fully headless ramp infrastructure for platforms that manage their own user verification (KYC) and want full control over the transaction experience. No Banxa screens, no redirects — your platform owns the UX and the identity flow. Banxa provides the regulated payment rails, compliance validation, and settlement.

If you want Banxa to handle KYC and checkout instead, see Banxa Hosted Checkout.

Best for: Exchanges, custodial wallets, and fintech apps with user accounts, KYC infrastructure, and a backend.


Why Native?

Full UX ownership

No Banxa-branded screens anywhere in the flow. Your users never leave your product — pricing, KYC, and payment all happen natively.

Partner-managed KYC

You run KYC — via Sumsub token sharing, identity reliance, or document submission. Banxa validates compliance through the eligibility API. Users are never sent to a Banxa verification screen.

Bank transfers are fully API-driven

Bank payment rails run entirely through the Native API. No SDK or webview required for bank transfer flows.

PCI handled by Banxa

Card, Apple Pay, and Google Pay are captured via the React Native SDK using Primer. Your platform does not need PCI compliance certification.


Core capabilities


Before you start

What you need

HMAC API credentials from Banxa (API key + secret), a backend capable of server-to-server calls, a persistent unique identifier per user (identityReference), and a KYC provider or reliance arrangement. The React Native SDK is required for card, Apple Pay, and Google Pay — not needed for bank transfer-only integrations.

EnvironmentBase URL
Sandboxhttps://api.banxa-sandbox.com
Productionhttps://api.banxa.com

Not sure if Native is the right fit? The Integration Overview covers requirements and where Native is and isn't the right choice. Ready to build? Go straight to the Integration Guide.


Quick start

All Native API requests use HMAC-SHA256 authentication. See Authentication for how to generate the signature.

GET https://api.banxa.com/eapi/v0/price \
  ?identityReference=user-abc123 \
  &fiat=USD \
  &crypto=ETH \
  &blockchain=ETHEREUM \
  &method=credit-debit-card \
  &transactionType=ONRAMP \
  &fiatAmount=100
Authorization: {apiKey}:{nonce}:{hmacSignature}
{
  "identityReference": "user-abc123",
  "source": {
    "fiat": { "id": "USD", "method": "credit-debit-card" },
    "amount": "100.00"
  },
  "target": {
    "crypto": { "id": "ETH", "blockchain": "ETHEREUM" },
    "amount": "0.03421"
  },
  "processingFee": "3.99",
  "networkFee": "0.50",
  "marketRate": {
    "crypto": { "USD": "2922.50" },
    "forex": { "reference": "USD" }
  }
}

The identityReference is your stable per-user identifier — the same value is used across identity, eligibility, and ramp creation. → Full Integration Guide