Skip to content
Last updated

2026-06-18

Added

  • Configuration endpoints now available — Four new GET endpoints return supported options for building transaction and onboarding flows. Use these to populate payment method selectors, crypto and fiat pickers, and country dropdowns without hardcoding values in your client.
    • GET /eapi/v0/payment-methods/{transactionType} — returns supported payment methods for onramp or offramp, including supported fiat currencies per method.
    • GET /eapi/v0/cryptocurrencies/{transactionType} — returns supported cryptocurrencies and their blockchain networks (with contract address, minimum amount, and restricted countries) for onramp or offramp.
    • GET /eapi/v0/fiats/{transactionType} — returns supported fiat currencies and their available payment methods for onramp or offramp.
    • GET /eapi/v0/countries — returns countries supported for KYC and transactions, including state/province lists where applicable.

2026-06-02

Added

  • Embedded Payment Button now available — Apple Pay and Google Pay can now be embedded in web apps (Vanilla JS, React, Vue) via @banxa-official/embedded-checkout-web-component (v0.1.0). Pass a checkoutUrl from POST /{partner}/v2/buy as the source attribute on <banxa-checkout> and the component renders the button and presents the native payment sheet. Provisioning required — contact your Banxa integration contact to enable the button-only setting on your environment before use. → Apple Pay · Google Pay

2026-05-11

Added

  • React Native SDK now available — The Banxa React Native SDK (@banxa-official/react-native-sdk) is now available. Use it alongside the Native API to present native payment sheets for cards, Apple Pay, and Google Pay — payment methods that require PCI-compliant tokenisation via Primer and cannot be handled through the API alone. Bank transfers continue to run directly through the Native API without the SDK. → SDK Reference
  • Sumsub Copy Applicant support — A second Sumsub integration approach is now available alongside Reusable KYC. Copy Applicant retrieves name, DOB, selfie, document, address, and TIN directly from your Sumsub account, satisfying a broader set of eligibility requirements without additional PATCH calls. Copy Applicant is a separate Sumsub product and must be configured by Banxa — contact Banxa to have it enabled on your account. → KYC Token Sharing

2026-05-04

Added

  • KYC status webhooks — Banxa now sends a webhook when a customer's identity verification status changes. The payload includes kyc.status with values PENDING, UNDER_REVIEW, ACTION_REQUIRED, VERIFIED, and REJECTED. Use this to track verification progress without polling GET /eapi/v0/identities/{identityReference}, particularly useful after KYC token sharing, which is processed asynchronously. → Webhooks

Changed

  • mobileNumber now optional on KYC token share — Previously required on POST /eapi/v0/identities/share/token. Note: Interac (Canada) requires a mobile number to process payments — for headless ramp flows using Interac, omitting mobileNumber will cause the ramp to fail.

2026-04-09

Added

  • Rate locking addedGET /eapi/v0/quote returns a confirmed rate and a quoteId that can be passed to POST /eapi/v0/ramps to guarantee the price at ramp creation.

2026-04-08

Added

  • kyc.status added to GET identity responseGET /eapi/v0/identities/{identityReference} now includes kyc.status, the verification outcome of the customer's submitted identity documents (selfie + document). VERIFIED indicates that document and liveness checks passed; other values indicate verification is in progress or requires action. See Identity & KYC for the full status reference.
  • EXTRA_VERIFICATION added to customer webhooks — Customer webhook payloads now include EXTRA_VERIFICATION as a KYC status event, triggered when a customer requires enhanced due diligence review. Contact Banxa to have this webhook enabled on your account.

Changed

  • GET /eapi/v0/identities/transactions/limits response updated — The response now includes remainder across each window, showing the customer's remaining transaction capacity (daily, weekly, monthly, and annual).
  • CUSTOMER_BLACKLISTED renamed to ACCOUNT_BLOCKED — Ramp and customer webhook payloads that previously returned CUSTOMER_BLACKLISTED now return ACCOUNT_BLOCKED. Update any status-handling logic that references the old value.
  • KYC eligibility requirements now individually itemised — The eligibility response previously returned a single PERSONAL_DETAILS requirement when any personal data was missing. It now returns individual requirements — NAME, DOB, and ADDRESS — so you can prompt for exactly what is outstanding rather than re-collecting data your customer has already provided.

2026-04-07

Added

  • Headless OTP added — Partner backends can now send and verify one-time passcodes server-to-server without exposing the verification step to the client. Contact your Banxa integration manager to enable. → OTP Email Verification

2026-03-24

Added

  • Basic identity creation — Create a customer identity with personal details to enable lower-tier KYC transactions. → Identity & KYC

2026-03-23

Added

  • Transaction limits — Retrieve applicable limits for a given identity and transaction context. Returns provider limits and customer tier limits across daily, weekly, monthly, and annual windows.

2026-03-16

Changed

  • ACH terms of service acceptance now requiredPOST /eapi/v0/ramps for ACH bank transfer methods now requires explicit terms of service acceptance in the request payload. See the API Reference for the required field.

2026-03-12

Added

  • Ramp history addedGET /eapi/v0/ramps returns paginated ramp history for a given identityReference. Supports filtering by status and transaction type.

Changed

  • Market rates added to price and quote responsesGET /eapi/v0/price and GET /eapi/v0/quote responses now include a marketRate object with crypto-to-fiat and forex reference rates at the time of the quote.

2026-03-04

Changed

  • GET /eapi/v0/identities/{identityReference} response updated — The response now includes account.blocked and account.createdAt, making it possible to check account status and creation timestamp in a single call.

2026-02-04

Added

  • Transaction eligibility — Evaluate whether a transaction can proceed for a given identity, payment method, fiat/crypto pair, and amount. Returns paymentReady: true/false and any outstanding requirements[]. → Interpreting Eligibility

2025-11-20

Changed

  • Ramp creation now supports cryptoAmount — You can now specify the exact amount of crypto to be received (on-ramp) or sent (off-ramp), in addition to the existing fiatAmount. This enables crypto-fixed transactions — for example, "receive exactly 200 USDT" — where the fiat cost is calculated from the crypto side rather than fixed upfront. Previously, only fiat-fixed ramps were supported. Provide either fiatAmount or cryptoAmount (not both), using the same parameter and value from the corresponding price request. → Pricing & Amount Inputs
  • Webhook payload updated — Ramp webhook payloads now include processingFee, networkFee, and transaction_hash fields in the final status notification.

2025-10-31

Added

  • ACH off-ramp bank account details added to payment instructionssourceDepositInstructions for ACH off-ramp now includes achRoutingNumber and achAccountNumber for the destination bank account.