Errors

The BVNK API responds with detailed information in the event of a failed request. Below is a comprehensive list of payment error codes, along with brief descriptions on how to address them. This resource serves as a valuable reference for developers, enabling them to efficiently troubleshoot and address errors in their applications' integration with BVNK's API.

Error codes categories

  • 1xxx: Authentication & Authorization errors
  • 2xxx: Client errors (validation, not found, business logic)
  • 3xxx: Internal service errors (contact administrator)
  • 4xxx: Internal service errors (contact administrator)

0001-0099

Fiat payouts

CodeMessageDescription
BVNK:PAYMENT:0001Received Bad RequestThe system received a request with invalid parameters or missing required information. Check the request format, parameters, and ensure all required fields are correctly filled.
BVNK:PAYMENT:0002Payout with the given identifier could not be foundThe system was unable to locate the requested payout using the provided ID. Verify that the payout ID is correct and exists in the system.
BVNK:PAYMENT:0003Forbidden → received request with wrong authentication detailsThe request was rejected due to an authentication failure. Ensure your API keys, tokens, or credentials are valid and correctly included in the request header.
BVNK:PAYMENT:0004Error while receiving or validating beneficiaryThe beneficiary details could not be retrieved, or failed validation checks. This may occur due to missing or malformed fields (name, address, account identifiers), failed KYC/KYB or sanctions screening, or temporary downstream connectivity errors. Verify beneficiary data to ensure the required fields and formats (e.g., IBAN/ABA) are accurate. Confirm the beneficiary is allowed, and retry once issues are resolved.
BVNK:PAYMENT:0005Validation of the beneficiary has failedThe beneficiary did not pass mandatory validation rules. Typical reasons include invalid account identifiers, an unsupported destination, a mismatched currency/network, or a compliance screening failure. Correct the beneficiary information (names, address, account numbers, tags/memos where required) or select a different, validated beneficiary before retrying.
BVNK:PAYMENT:0006Payout with the idempotency key already existsA payout using the provided idempotency key already exists. For idempotent safety, the platform rejects creating a new payout with the same key. If you intend to retry the same request, use the original response; otherwise, generate a new, unique idempotency key for a new payout.
BVNK:PAYMENT:0008The payment method is not supportedThe platform does not currently support the payment method specified in the request. Review the documentation for a list of supported payment methods.
BVNK:PAYMENT:0009Specific functionality is not enabled for this account or walletThe specific functionality or flow is not enabled or provisioned for this account or wallet. Check your permissions and product enablement. If the feature is available, enable it in the portal; otherwise, contact support to request access.
BVNK:PAYMENT:0010The Virtual Account has been disabled for this given wallet. Customer should use a different wallet or choose different payment method.The Virtual Account assigned to the specified wallet is disabled. Use a different wallet or select an alternative payment method. If you need this Virtual Account re-enabled, review the wallet configuration and contact support or your account manager.
Mass Payouts
BVNK:PAYMENT:0030Could not find a single payment within a given payout batchThe referenced payout batch contains no payments matching your query, or the payments have not been associated with the batch yet. Verify the payout batch identifier, ensure the batch was created successfully, and confirm that items were added and not removed by validation. If you are filtering, check the date/status filters to ensure you are querying the correct environment (sandbox vs. production).
BVNK:PAYMENT:0031Could not find specific payout batchThe payout batch could not be located. The batch identifier may be invalid, belong to another account, or the batch may have been archived/expired. Double-check the batch ID/token and your account permissions, then try again. If the batch was created recently, allow a short delay and retry.
BVNK:PAYMENT:0032Cannot delete a single payout from a batch, as it has started processing alreadyOnce batch processing has started, individual payouts become immutable. Deletions are only permitted while the batch is in a pre‑processing state. To remove items, cancel the whole batch if supported, or create a new batch without the unwanted payout.
BVNK:PAYMENT:0033Cannot update a single payout from a batch, as it has started processing alreadyIndividual payout updates are blocked after batch processing begins. Modify items only before submission. If you need changes, cancel the batch (where supported) and recreate it with corrected payout details, or submit a follow‑up adjustment as a new payout.

Fees

CodeMessageDescription
BVNK:FEES:0001Invalid wallet selected on client request.The wallet selected in the client request is invalid. Check that the wallet identifier is correctly formatted and belongs to a valid wallet type.
BVNK:FEES:0002Provided wallet not found for a specific account.The system was unable to find the specified wallet associated with the requested account. Verify that the wallet exists and is correctly linked to the account.
BVNK:FEES:0003Invalid customer fee wallet configuration.The customer fee wallet configuration contains invalid settings or parameters. Review and correct the fee wallet configuration in your account settings.

1000-1999

These errors are returned in the format below:

{
    "code": "MER-PAY-XXXX",
    "status": "Forbidden",
    "message": <error message>,
    "documentLink": ""
}
CodeMessageDescription
MER-PAY-1000Not authorized to perform this actionA user or merchant is not authorised to perform the requested action. This can occur due to insufficient permissions or invalid authentication credentials.

2000-2999

🚧

Should you encounter any of the errors outlined in this section, be aware that your payment or transaction attempt will not be successful. The system will reject the transaction at the API level, consequently preventing the creation of a failed transaction record. Therefore, you will not find any evidence of the unsuccessful operation within the merchant portal.

These errors are returned in the format below:

{
  “errorList”:
    [
      {
        “code”: "MER-PAY-XXXX",
        “parameter”: <parameter causing error>,
        “message”: <error message>
      }
    ]
}
CodeMessageDescription
MER-PAY-2000Invalid parameter valueThe request parameters fail validation. This includes JSON parsing errors, missing required parameters, invalid data types, or constraint violations on request fields.
MER-PAY-2001Amount x.xx <currency> failed is less than minimum limit of x.xx <currency>The payment amount fails validation. This occurs when the amount is below the minimum limit or above the maximum limit for the specified currency.
MER-PAY-2002Payment has no quoteAn error occurs when a payment operation requires an exchange quote, but none is found. This typically occurs when attempting to process payments that require currency conversion.
MER-PAY-2003Exchange quote <id> for payment <id> has status ACCEPTED so cannot be acceptedAn error is given when attempting to modify a quote that has already been finalised. Once a quote is in a final state, it cannot be changed.
MER-PAY-2004Payment has expiredAn error occurs when attempting to process a payment that has exceeded its expiration time. Expired payments cannot be processed and need to be recreated.
MER-PAY-2005Instruction validation failed messageThe payment instruction data is invalid. This includes validation failures for payment addresses, amounts, or other instruction-specific parameters.
MER-PAY-2006Merchant not foundAn error occurs when the Merchant ID provided in the payment request cannot be found in the account.
MER-PAY-2008Payment not foundAn error occurs when the payment ID cannot be found.
MER-PAY-2009Invalid request messageError given for general request validation failures.
MER-PAY-2010A payment with reference <reference> already exists. Please enter a unique reference.An error was given when a payment was already created using this reference. All references need to be unique.
MER-PAY-2011Currency <currency> is disabledAn error occurs when creating a payment with a disabled currency that is not available for trade.
MER-PAY-2012Insufficient fundsA wallet does not have sufficient funds to complete the requested transaction.
MER-PAY-2014Exchange quote <id> for payment <id> can no longer be accepted as acceptance has expiredA quote is accepted after it has expired.
MER-PAY-2015Crypto instruction not found for payment <id>A required crypto payment instruction cannot be found for the specified payment.
MER-PAY-2016Merchant not authorised to perform this actionA merchant is not authorised to perform the requested action.
MER-PAY-2017Cannot cancel payment with external id <id> and status PROCESSINGAn attempt is made to cancel a payment and the status is not COMPLETE or PENDING.
MER-PAY-2018Resource modified by another requestA concurrent modification conflict arises. This happens when multiple requests attempt to modify the same resource simultaneously.
MER-PAY-2019Currency <currency> not foundThe specified currency is not found in the system.
MER-PAY-2024protocol <protocol> not found for currency <currency>The specified protocol is not found or not supported for the given currency.
MER-PAY-2025Please enter your own wallet address, not the address that you paid into originally.The provided refund address fails validation checks.
MER-PAY-2027address <address> has failed validation for currency: <currency>, protocol: <protocol> and tag: <tag>The crypto payout receive address format is invalid.
MER-PAY-2028We couldn't process your payout request to this address: <address> this time, please try another address.The crypto payout receiving address is rejected due to risk and compliance reasons.
MER-PAY-2029Protocol with code <protocol> not foundThe specified protocol code is not found in the system.
MER-PAY-2030Unable to find protocol <protocol> for currency code <currency>The specified protocol cannot be found for the given currency code.
MER-PAY-2031Account not enabled for flow: <flow>. Please check your permissions or contact support for more information.The account is not enabled for the specific payment flow being requested.
MER-PAY-2033Multiple protocols found for currency <currency> Please specify which one to use: <protocols>.Multiple protocols are available for a currency, but no specific protocol is selected, rendering automatic selection impossible.
MER-PAY-2035mass payout data row validation failedOne or more rows in a mass payout file fail validation checks.
MER-PAY-2036<rows> payments uploaded. This exceeds the maximum number of <max_rows> rows. Please reduce your file to <max_rows> rows.A mass payout file contains more rows than the system maximum allows.
MER-PAY-2037Failed to process mass upload file. File name already exists.Attempting to upload a mass payout file with a filename that already exists.
MER-PAY-2038Failed to process mass upload file. File is required.A required mass payout file is not provided.
MER-PAY-2039Failed to process mass upload file. One of Merchant id or Wallet id fields have to be provided.A mass payout request is missing both the required merchant ID and wallet ID parameters.
MER-PAY-2040Failed to process mass upload file. Header is invalid.The mass payout file contains invalid or missing required headers.
MER-PAY-2041Deleting mass payout item with status CREATED is not allowed.An error is given when attempting to delete a mass payout item that is not in a deletable state.
MER-PAY-2042Updating mass payout item with status <status> is not allowed.An error is given when attempting to edit a mass payout item that is not in an editable state.
MER-PAY-2043One of merchantId or walletId properties have to be provided, both are missingA request requires a merchant ID or a wallet ID, but neither is provided.
MER-PAY-2044network <network> not foundThe specified blockchain network is not valid or supported.
MER-PAY-2045Payout details currency <currency> and network <network> mismatch from previously provided currency <currency> and network <network>The payout details do not match the details previously provided for the estimate.
MER-PAY-2046protocol not found for currency <currency> and network <network>The specified protocol and network combination is not valid or supported.
MER-PAY-2047Estimate cannot be modified. Payment with uuid <uuid> already created for estimate <estimate id>.An error is given when attempting to accept an estimate that already has an associated payment.
MER-PAY-2048Failed to process mass upload file. File is empty.The uploaded mass payout file contains no data rows.
MER-PAY-2049Recipient address is not associated with a contact. You will assign or add a contact to it on the next step.The specified contact cannot be found for the given address or criteria.
MER-PAY-2050Recipient address is associated with more than 1 contact. You'll be asked to choose which contact to use for this transaction.Multiple matching contacts are found for the provided address.
MER-PAY-2051Crypto account <crypto account> is not verified. Please verify your crypto account before using itAn error occurs when attempting to use an unverified cryptocurrency account that requires verification.
MER-PAY-2052This country is unavailable. If you require this region, please reach out to your account manager.Geographical screening encounters an error or fails due to regional restrictions.
MER-PAY-2053The payment can not be processed.Geographical screening determines that the payment cannot be processed due to regional restrictions.
MER-PAY-2054Payment direction 'IN' is not compatible with flow 'EMBEDDED_CRYPTO'An error is given when attempting to use an unsupported payment direction with an embedded crypto flow.
MER-PAY-2055mesh client invalid request messageA request to the mesh client is invalid or malformed.
MER-PAY-2056Customer not found for reference: <customer reference>The specified customer cannot be found in the system.
MER-PAY-2057required header missingA required HTTP header is missing from the request.
MER-PAY-2058Cannot confirm/accept payment <uuid> as it has been cancelledAn error is given when attempting to perform operations on a payment that has been cancelled.
MER-PAY-2059Wallet with ID <walletId> not foundThe specified wallet ID does not exist.

3000-3999

Network

CodeMessageDescription
BVNK-3001Received Bad RequestThe system received a request with invalid parameters or missing required information. Check the request format, parameters, and ensure all required fields are properly filled and formatted correctly.
BVNK-3003Forbidden → received request with wrong authentication detailsAccess to the requested resource is denied due to authentication failure. Ensure your API keys, tokens, or credentials are valid, correctly included in the request header, and have the necessary permissions to perform this operation.
BVNK-3040Transfer not foundThe requested transfer could not be located in the system. Verify that the transfer identifier is correct and exists within your account. If you recently initiated the transfer, it may still be processing.

Customers

CodeMessageDescription
MER-PAY-3003Resource not foundError given when a requested static resource or endpoint cannot be found.
MER-PAY-3XXXUnexpected error - please contact administratorError given for unexpected or unhandled exceptions.

4001-4999

Wallets

CodeMessageDescription
BVNK:LEDGER:4001Received Bad RequestThe system received a request with invalid parameters or missing required information. Check the request format, ensure all required fields are properly filled, and validate that parameter values meet the expected format and constraints.
BVNK:LEDGER:4003FORBIDDEN! You don't have the necessary permissions to access this resource.Access to the requested resource is denied due to insufficient permissions. This could be due to missing capabilities when creating a customer wallet, or because the customer has been rejected in the system. Verify your account permissions and customer status before retrying.
BVNK:LEDGER:4004Wallet creation request with the same idempotency key and account reference existsA wallet creation request with the same idempotency key and account reference already exists in the system. Idempotency keys must be unique for each new wallet creation. Check your records to find the existing wallet or use a new idempotency key for a new wallet.
BVNK:LEDGER:4005Wallet creation request with missing data, one of the customer reference and external reference has to be providedThe wallet creation request is missing essential identifying information. Either a customer reference or an external reference must be provided in the request. Review your request data and include at least one of these required reference identifiers.

Customers

CodeMessageDescription
MER-PAY-4011Customer fee wallet not found. Please contact support if you need assistance.The customer fee wallet has not been set. Configuration error.
MER-PAY-4XXXUnexpected error - please contact administratorError given for unexpected or unhandled exceptions.

Rules

Error CodeMessageDescription
bvnk:payment:rules:4001Wallet configuration already existsA wallet configuration with the specified parameters already exists in the system. This error occurs when attempting to create a duplicate wallet configuration that conflicts with an existing one.
bvnk:payment:rules:4002Address validation errorThe provided wallet address failed validation checks. This error indicates that the address format is invalid, doesn't match the expected format for the specified network, or contains invalid characters.
bvnk:payment:rules:4003Invalid currencyThe specified currency code is not recognized or supported by the system. Ensure you're using a valid currency identifier that matches the supported currencies for your account.
bvnk:payment:rules:4004Unsupported networkThe blockchain network specified in the request is not supported by the payment rules system. Check the list of supported networks and use a valid network identifier.
bvnk:payment:rules:4005Invalid party detailsThe party details provided in the request contain invalid or missing information. This includes issues with party identification, contact information, or other required party-specific data.
bvnk:payment:rules:4006Data integrity violationA data integrity constraint has been violated. This error occurs when the provided data conflicts with existing database constraints or business rules that ensure data consistency.
bvnk:payment:rules:4007Invalid fee typeThe fee type specified in the request is not valid or supported. Check the documentation for valid fee type values and ensure you're using the correct fee structure for your configuration.
bvnk:payment:rules:4008Invalid destination typeThe destination type provided is invalid or not supported for the current operation. Verify that you're using a supported destination type for your wallet configuration.
bvnk:payment:rules:4016Invalid request formatThe request format is malformed or contains invalid structure. This error indicates issues with JSON formatting, missing required fields, or incorrect data types in the request payload.
bvnk:payment:rules:4009Wallet not foundThe specified wallet could not be found in the system. Verify that the wallet ID or identifier exists and that you have the necessary permissions to access it.
bvnk:payment:rules:4010Wallet configuration not foundThe requested wallet configuration does not exist. This error occurs when trying to access, modify, or delete a wallet configuration that is not present in the system.
bvnk:payment:rules:4011Wallet configuration already activeThe wallet configuration is already in an active state and cannot be modified or activated again. Check the current status of the configuration before attempting to change it.
bvnk:payment:rules:4012Currency mismatchThere is a mismatch between the expected currency and the provided currency. Ensure that all currency references in your request are consistent and match the wallet's configured currency.
bvnk:payment:rules:4013Wallet status validation errorThe wallet status validation failed. This error occurs when the current wallet status doesn't allow the requested operation or when the wallet is in an invalid state for the action being performed.
bvnk:payment:rules:4014Wallet configuration state errorThe wallet configuration is in an invalid state for the requested operation. This may occur when trying to perform actions on configurations that are pending, disabled, or in transition states.
bvnk:payment:rules:4015Invalid customer fee configurationThe customer fee configuration contains invalid parameters or values. Check that fee amounts, percentages, and fee structure parameters are within acceptable ranges and properly formatted.

5000-5999

Wallets

CodeMessageDescription
BVNK:LEDGER:5001Wallet not foundThe requested wallet could not be located in the system. Verify that the wallet identifier is correct and exists within your account.
BVNK:LEDGER:5050Wallet balance not foundThe system could not retrieve balance information for the specified wallet. Ensure the wallet exists and has been properly initialized with a balance.
BVNK:LEDGER:5040Bad RequestThe request contained invalid data, malformed parameters, or violated validation constraints. Review your request format and ensure all required fields contain valid data.
BVNK:LEDGER:5051Wallet creation failedThe wallet creation process failed to complete successfully. This could be due to system constraints, validation issues, or conflicts with existing data. Check the request details and try again with valid parameters.

Customers

CodeMessageDescription
MER-PAY-5001The requested wallet could not be located in the system.Verify that the wallet identifier is correct and exists within your account.
MER-PAY-5050The system could not retrieve balance information for the specified wallet.Ensure the wallet exists and has been properly initialized with a balance.
MER-PAY-5040The request contained invalid data, malformed parameters, or violated validation constraints.Review your request format and ensure all required fields contain valid data.
MER-PAY-5051The wallet creation process failed to complete successfully. This could be due to system constraints, validation issues, or conflicts with existing data.Check the request details and try again with valid parameters.

Rules

CodeMessageDescription
bvnk:payment:rules:5001Feature not implementedThe requested feature or functionality is not yet implemented in the current version of the payment rules system. This feature may be available in future releases.
bvnk:payment:rules:5003Wallet validation errorWallet validation services are currently unavailable. This error indicates a temporary issue with external validation services or network connectivity problems affecting wallet verification.
bvnk:payment:rules:5004Internal errorAn unexpected internal server error occurred while processing the request. This indicates a system-level issue that should be reported to technical support for investigation.