Skip to content

Banxa Enterprise API (0 BETA)

Official Banxa Enterprise API Specs

Download OpenAPI description
Languages
Servers
Mock server
https://banxa-enterprise.redocly.app/_mock/enterprise-api/v0-beta/openapi
Production environment server
https://api.banxa.com
Sandbox environment server
https://api.banxa-sandbox.com

Ramps

Enable Get and Post on ramp and off ramp

Operations
Webhooks

Ramps enable Fiat to Crypto and Crypto to fiat on and off ramp.

Request

Enables conversion between fiat and cryptocurrency in both directions.

Security
HMACAuth
Bodyapplication/jsonrequired
One of:
One of:
subPartnerIdstring>= 1

Your defined ID for associating an order with. You may use this to differentiate between your customers.

Example: "2125"
identityReferencestring(IdentityReference)[A-Za-z0-9-]required

ASCII letters, digits, and hyphen only, A unique customer identifier provided by you. This field is required and must be unique for each customer. Please ensure you consistently reuse the same identityReference for repeat interactions with the same customer, allowing us to reliably recognize and associate their identity.

Example: "c-13344"
sourceobjectrequired
source.​cryptoobjectrequired
source.​crypto.​idstringrequired

The crypto token to be transferred.

Example: "ETH"
source.​crypto.​blockchainstringrequired

The blockchain that is associated with the crypto token.

Example: "ethereum"
source.​crypto.​walletAddressstringrequired

The wallet address that will be used to send the crypto. This will also be the wallet address used for refunds if a refund is necessary.

Example: "0xc292474673cf1a96a96e8c56ec4f45ecf2e0b448"
source.​crypto.​walletAddressMemostring

The wallet address memo associated with the wallet address.

Example: "1234"
targetobjectrequired
target.​fiatobjectrequired
target.​fiat.​idstringrequired

The fiat currency to be received. Must be formatted as an ISO 4217 code.

Example: "GBP"
target.​fiat.​methodstringrequired

The payment method used for the ramp.

Example: "payid-bank-transfer"
target.​fiat.​instructionsArray of Offramp PayId instructions (object) or Offramp Interac instructions (object) or Offramp SEPA instructions (object) or Offramp ACH instructions (object)(OffRampInstructions)required

The payment instructions that you provide to Banxa. It will be the where the payout will be made to and will differ per payment method.

One of:

The payment instructions for the bank transfer in Australia.

target.​fiat.​instructions[].​accountNamestringrequired

The account name for the bank transfer.

Example: "John Citizen"
target.​fiat.​instructions[].​accountNumberstringrequired

The account number for the bank transfer.

Example: "12345678"
target.​fiat.​instructions[].​bsbstringrequired

The BSB number for the bank transfer.

Example: "26195"
cryptoAmountstringrequired

Amount in crypto precision (token-dependent, e.g., 6–8 decimals). This locks the crypto amount; the fiat amount will be computed and rounded to the fiat scale. Note: small differences vs the reverse path are expected from precision/rounding.

Example: "100"
curl -i -X POST \
  https://banxa-enterprise.redocly.app/_mock/enterprise-api/v0-beta/openapi/eapi/v0/ramps \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "subPartnerId": "2125",
    "identityReference": "c-13344",
    "source": {
      "crypto": {
        "id": "ETH",
        "blockchain": "ethereum",
        "walletAddress": "0xc292474673cf1a96a96e8c56ec4f45ecf2e0b448",
        "walletAddressMemo": "1234"
      }
    },
    "target": {
      "fiat": {
        "id": "GBP",
        "method": "payid-bank-transfer",
        "instructions": [
          {
            "accountName": "John Citizen",
            "accountNumber": "12345678",
            "bsb": "26195"
          }
        ]
      }
    },
    "cryptoAmount": "100"
  }'

Responses

Successful ramp response

Bodyapplication/json
One of:
idstringrequired

The ramp ID.

Example: "4002"
subPartnerIdstringrequired

Your defined ID for associating an order with. You may use this to differentiate between your customers.

Example: "2125"
identityReferencestring(IdentityReference)[A-Za-z0-9-]required

ASCII letters, digits, and hyphen only, A unique customer identifier provided by you. This field is required and must be unique for each customer. Please ensure you consistently reuse the same identityReference for repeat interactions with the same customer, allowing us to reliably recognize and associate their identity.

Example: "c-13344"
statusstringrequired
StatusDescription
INITIALIZEDThe request has been accepted and is queued for processing.
AWAITING_FUNDSThe order is ready; awaiting receipt of funds at the specified wallet address.
FUNDS_RECEIVEDFunds have been successfully received at the destination wallet address.
UNDER_REVIEWThe order is undergoing compliance and security review.
COMPLETEDThe order is finalized: funds have been secured and fiat disbursed to the customer’s method.
CANCELLEDThe order has been cancelled and will not proceed.
REFUNDEDThe amount has been returned to the customer’s wallet address.
Enum"INITIALIZED""AWAITING_FUNDS""PAYMENT_SUBMITTED""FUNDS_RECEIVED""UNDER_REVIEW""CANCELLED""REFUNDED""COMPLETED"
Example: "INITIALIZED"
sourceobjectrequired
source.​cryptoobjectrequired
source.​crypto.​idstringrequired

The crypto token to be transferred.

Example: "USDT"
source.​crypto.​blockchainstringrequired

The blockchain that is associated with the crypto token.

Example: "ethereum"
source.​crypto.​walletAddressstringrequired

The wallet address that will be used to send the crypto. This will also be the wallet address used for refunds if a refund is necessary.

Example: "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F"
source.​crypto.​walletAddressMemostring

The wallet address memo associated with the wallet address.

Example: "1234"
source.​amountstringrequired

The amount of crypto to be transferred

Example: "105"
targetobjectrequired
target.​fiatobjectrequired
target.​fiat.​idstringrequired

The fiat currency to be received. Must be formatted as an ISO 4217 code.

Example: "USD"
target.​fiat.​methodstringrequired

The payment method used for the ramp.

Example: "payid-bank-transfer"
target.​amountstringrequired

The amount of fiat to be received.

Example: "100.5"
sourceDepositInstructionsobjectrequired
sourceDepositInstructions.​walletAddressstringrequired

The Banxa deposit wallet address.

Example: "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F"
sourceDepositInstructions.​walletAddressMemostringrequired

The wallet address memo assoicated with the Banxa deposit wallet address.

Example: "1684"
receiptobjectrequired
receipt.​sourceTransactionHashstringrequired

The transaction hash of the crypto transfer.

Example: "0x637f3f8c7b15a83657901ca9f9e0134f0b7dad09e09fbac8a637d026343f586e"
receipt.​gatewayFeestringrequired

The fee charged by the payment processor.

Example: "1.95"
receipt.​networkFeestringrequired

The blockchain network fee required to process the transaction.

Example: "1.95"
receipt.​sourceAmountstringrequired

The amount of crypto transferred.

Example: "100"
receipt.​targetAmountstringrequired

The amount of fiat received.

Example: "100"
createdAtstring(date-time)required

The UTC date time of creation.

Example: "2023-05-05T19:53:08.320Z"
completedAtstring(date-time)required

The UTC date time of the completion.

Example: "2023-06-05T19:53:08.320Z"
Response
application/json
{ "id": "4002", "subPartnerId": "2125", "identityReference": "c-13344", "status": "INITIALIZED", "source": { "crypto": {}, "amount": "105" }, "target": { "fiat": {}, "amount": "100.5" }, "sourceDepositInstructions": { "walletAddress": "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F", "walletAddressMemo": "1684" }, "receipt": { "sourceTransactionHash": "0x637f3f8c7b15a83657901ca9f9e0134f0b7dad09e09fbac8a637d026343f586e", "gatewayFee": "1.95", "networkFee": "1.95", "sourceAmount": "100", "targetAmount": "100" }, "createdAt": "2023-05-05T19:53:08.320Z", "completedAt": "2023-06-05T19:53:08.320Z" }

Request

Enables retrieval of detailed information about a specific order using its unique identifier.

Security
HMACAuth
Path
ramp_idstring<= 100 charactersrequired

The ramp ID to fetch.

Example: b7f1ffbb2f1bd7a5e2ba152b4049d234
curl -i -X GET \
  https://banxa-enterprise.redocly.app/_mock/enterprise-api/v0-beta/openapi/eapi/v0/ramps/b7f1ffbb2f1bd7a5e2ba152b4049d234 \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Successful ramp response

Bodyapplication/json
One of:
idstringrequired

The ramp ID.

Example: "4002"
subPartnerIdstringrequired

Your defined ID for associating an order with. You may use this to differentiate between your customers.

Example: "2125"
identityReferencestring(IdentityReference)[A-Za-z0-9-]required

ASCII letters, digits, and hyphen only, A unique customer identifier provided by you. This field is required and must be unique for each customer. Please ensure you consistently reuse the same identityReference for repeat interactions with the same customer, allowing us to reliably recognize and associate their identity.

Example: "c-13344"
statusstringrequired
StatusDescription
INITIALIZEDThe request has been accepted and is queued for processing.
AWAITING_FUNDSThe order is ready; awaiting receipt of funds at the specified wallet address.
FUNDS_RECEIVEDFunds have been successfully received at the destination wallet address.
UNDER_REVIEWThe order is undergoing compliance and security review.
COMPLETEDThe order is finalized: funds have been secured and fiat disbursed to the customer’s method.
CANCELLEDThe order has been cancelled and will not proceed.
REFUNDEDThe amount has been returned to the customer’s wallet address.
Enum"INITIALIZED""AWAITING_FUNDS""PAYMENT_SUBMITTED""FUNDS_RECEIVED""UNDER_REVIEW""CANCELLED""REFUNDED""COMPLETED"
Example: "INITIALIZED"
sourceobjectrequired
source.​cryptoobjectrequired
source.​crypto.​idstringrequired

The crypto token to be transferred.

Example: "USDT"
source.​crypto.​blockchainstringrequired

The blockchain that is associated with the crypto token.

Example: "ethereum"
source.​crypto.​walletAddressstringrequired

The wallet address that will be used to send the crypto. This will also be the wallet address used for refunds if a refund is necessary.

Example: "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F"
source.​crypto.​walletAddressMemostring

The wallet address memo associated with the wallet address.

Example: "1234"
source.​amountstringrequired

The amount of crypto to be transferred

Example: "105"
targetobjectrequired
target.​fiatobjectrequired
target.​fiat.​idstringrequired

The fiat currency to be received. Must be formatted as an ISO 4217 code.

Example: "USD"
target.​fiat.​methodstringrequired

The payment method used for the ramp.

Example: "payid-bank-transfer"
target.​amountstringrequired

The amount of fiat to be received.

Example: "100.5"
sourceDepositInstructionsobjectrequired
sourceDepositInstructions.​walletAddressstringrequired

The Banxa deposit wallet address.

Example: "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F"
sourceDepositInstructions.​walletAddressMemostringrequired

The wallet address memo assoicated with the Banxa deposit wallet address.

Example: "1684"
receiptobjectrequired
receipt.​sourceTransactionHashstringrequired

The transaction hash of the crypto transfer.

Example: "0x637f3f8c7b15a83657901ca9f9e0134f0b7dad09e09fbac8a637d026343f586e"
receipt.​gatewayFeestringrequired

The fee charged by the payment processor.

Example: "1.95"
receipt.​networkFeestringrequired

The blockchain network fee required to process the transaction.

Example: "1.95"
receipt.​sourceAmountstringrequired

The amount of crypto transferred.

Example: "100"
receipt.​targetAmountstringrequired

The amount of fiat received.

Example: "100"
createdAtstring(date-time)required

The UTC date time of creation.

Example: "2023-05-05T19:53:08.320Z"
completedAtstring(date-time)required

The UTC date time of the completion.

Example: "2023-06-05T19:53:08.320Z"
Response
application/json
{ "id": "4002", "subPartnerId": "2125", "identityReference": "c-13344", "status": "INITIALIZED", "source": { "crypto": {}, "amount": "105" }, "target": { "fiat": {}, "amount": "100.5" }, "sourceDepositInstructions": { "walletAddress": "0x46B2E9701FE4F6C0A23533D196DbBE7EfEeDea4F", "walletAddressMemo": "1684" }, "receipt": { "sourceTransactionHash": "0x637f3f8c7b15a83657901ca9f9e0134f0b7dad09e09fbac8a637d026343f586e", "gatewayFee": "1.95", "networkFee": "1.95", "sourceAmount": "100", "targetAmount": "100" }, "createdAt": "2023-05-05T19:53:08.320Z", "completedAt": "2023-06-05T19:53:08.320Z" }

Inbound message regarding the ramp statusWebhook

Request

When a ramp transitions into a new status, the status update will be sent to the provided callback endpoint to your server.

Bodyapplication/jsonrequired
order_idstringrequired

The ID of the ramp, returned on creation of a ramp, or via the GET ramp endpoint.

Example: "fd04c5780062121628e05324003eef30"
statusstringrequired
StatusDescription
IN_PROGRESSOrder is in progress.
REFUNDEDOrder has been refunded
EXPIREDOrder has expired.
FULFILLEDOrder has been completed.
EXTRA_VERIFICATIONCustomer requires extra verification.
COIN_DEPOSIT_READYCoin deposit is ready.
COIN_DEPOSIT_CONFIRMEDCoin deposit has been confirmed.
COIN_TRANSFERREDCoin has been transferred.
FIAT_TRANSFERREDFiat has been transferred.
CUSTOMER_BLACKLISTEDCustomer has been blacklisted, a separate webhook will be sent with the Identity reference of the customer
PAYMENT_READYPayment is ready to be processed.
PAYMENT_ACCEPTEDPayment has been accepted for the order
PAYMENT_RECEIVEDPayment has been received.
PAYMENT_DECLINEDPayment has been declined.
PAYMENT_CANCELLEDPayment has been cancelled.
Enum"IN_PROGRESS""REFUNDED""EXPIRED""FULFILLED""EXTRA_VERIFICATION""COIN_DEPOSIT_READY""COIN_DEPOSIT_CONFIRMED""COIN_TRANSFERRED""FIAT_TRANSFERRED""CUSTOMER_BLACKLISTED"
Example: "IN_PROGRESS"
status_datestring(datetime)required

The date of the status update

Example: "2023-06-05 19:53:08"
created_atstring(datetime)

The date of the status update

Example: "2023-06-02 14:44:00"
updated_atstring(datetime)

The date of the status update

Example: "2023-06-09 13:53:08"
internal_reasonstringrequired

The internal body for this inbound message containing the reason of the message, this is for internal use.

Example: "Order is in progress"
external_reasonstringrequired

The external reason to provide to your customer via your designated messaging channel.

Example: "Your payment was successfully received. Your order is now being processed."
order_typestring

The transaction type of the ramp

Enum"ONRAMP""OFFRAMP"
Example: "ONRAMP"
crypto_coinstring

The crypto currency requested

Example: "ETH"
crypto_blockchainstring

The blockchain

Example: "ETH"
crypto_amountstring

The amount of crypto

Example: "0.228632"
fiat_currencystring

The requested fiat currency

Example: "USD"
fiat_amountstring

The amount of fiat

Example: "100"
asset_pricestring

The market rate of the asset (crypto)

Example: "0.018656"
paymentstring

The payment requested

Example: "100"
processing_feestring

The processing fee associated to the ramp

Example: "1.95"
network_feestring

The network fee associated to the ramp

Example: "2.33"
usd_exchange_ratestring

Represent the value of 1 unit of the source Fiat in USD

Example: "1.36"
transaction_hashstring

The transaction hash of the completed ramp

Example: "0x9401a7173d7bd2ad73e8b798fdc30c83fb0529e6edbad163c549a5ad136407be"
application/json
{ "order_id": "fd04c5780062121628e05324003eef30", "status": "IN_PROGRESS", "status_date": "2023-06-05 19:53:08", "created_at": "2023-06-02 14:44:00", "updated_at": "2023-06-09 13:53:08", "internal_reason": "Order is in progress", "external_reason": "Your payment was successfully received. Your order is now being processed.", "order_type": "ONRAMP", "crypto_coin": "ETH", "crypto_blockchain": "ETH", "crypto_amount": "0.228632", "fiat_currency": "USD", "fiat_amount": "100", "asset_price": "0.018656", "payment": "100", "processing_fee": "1.95", "network_fee": "2.33", "usd_exchange_rate": "1.36", "transaction_hash": "0x9401a7173d7bd2ad73e8b798fdc30c83fb0529e6edbad163c549a5ad136407be" }

Responses

Your server returns this code if it accepts the callback. On a failed response we will retry sending the webook.

Identities

Enable Sharing and reliance of identity through token(sumsub), reliance or by sending us documents.

Operations
Webhooks

Price

Request a price prior to requesting a On or Off ramp transaction

Operations

Eligibility

Check eligibility for specific transactions

Operations

Limits

Check payment method/customer limits

Operations