Skip to content
Last updated

Fully headless ramp infrastructure for platforms that verify their own users and want full control over the transaction experience. No Banxa screens, no redirects — your platform owns the UX end to end. Banxa provides the regulated payment rails, compliance, and settlement.

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.

Incremental KYC

Users start transacting with minimal verification. Additional checks are requested only when the transaction context requires it, reducing upfront friction.

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