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. KYC webhooks are opt-in — contact Banxa to have them enabled on your account. → 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 added — GET /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 response — GET /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 required — POST /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 added — GET /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 responses — GET /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 instructions — sourceDepositInstructions for ACH off-ramp now includes achRoutingNumber and achAccountNumber for the destination bank account.