Error Codes

This section outlines the possible error codes returned from API calls. These codes help developers to understand the specific reasons behind an unsuccessful user or transaction creation.

Use this reference to identify the error code, where it appears in the response envelope, and the expected HTTP status.

Legend (envelope): rest → code appears at the top level of the error response; validation details → code appears inside a details array (HTTP status as listed); basicAuth → flat { message, code }; success data → code returned in a success payload; webhook/catalog → emitted in webhooks or order failure fields, not as REST errors.

Authentication Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
CUSTOMER_NOT_FOUNDAll404basicAuthThe username and password used for authentication could not be found in the system.
UNAUTHORIZED_CUSTOMERAll401basicAuthThe MID header is either empty or could not be found in the system.

Request Validation Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
INVALID_ARGUMENTSAll400validation detailsInvalid arguments provided in the request.
MISSING_ARGUMENTSAll400validation detailsRequired arguments are missing from the request.
NOT_FOUNDAll404restData not found.
VALIDATION_ERRORAll400rest (catalog codes may appear in details)Request validation failed (e.g., missing API keys, authorization header, or invalid parameters).
CRYPTO_CURRENCY_NOT_FOUNDAll404validation detailsCrypto currency not found.
CRYPTO_NETWORK_NOT_FOUNDAll404validation detailsCrypto network not found.
CRYPTO_TICKER_NOT_FOUNDAll404validation detailsCrypto ticker not found.

Rate & Quote Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
CURRENCY_NOT_FOUNDAll400restThe requested currency is not supported or not found.
QUOTES_LIMIT_ERRORExchange Rates, Order400restThe provided amount is not in the limits for selected trading pair.
QUOTES_EXPIREDExchange Rates, Order400restThe provided quotes have expired and are no longer valid.

User Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
CONFLICTUser409The user already exists in the system.
USER_NOT_FOUNDUser404 (rest); 400 (nested)rest or validation detailsThe specified user could not be found in the system.
AGE_LIMIT_ERRORUser400restThe user's age is outside the allowed limits.
USER_ALREADY_EXISTSUser201 (success payload)success dataUser already exists with the provided email or phone.
USER_ALREADY_EXISTS_AS_BUSINESSUser400restIndividual user creation failed because user already exists as a business.
USER_ALREADY_EXISTS_AS_INDIVIDUALUser400restBusiness user creation failed because user already exists as an individual.
USER_CREATION_ERRORUser400restFailed to create user (individual or business).
USER_ORGANIZATION_MISMATCHAll400rest or validation detailsUser does not belong to the organization.
USER_TYPE_MISMATCHKYC / KYB400validation detailsUser is not an individual user.
USER_NOT_AN_INDIVIDUALKYC / KYB400rest or validation detailsUser is not an individual.
USER_NOT_A_BUSINESSKYC / KYB400restUser is not a business.

KYC / KYB Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
`INVALID_TOKENKYC - Same vendor422restInvalid share token
INVALID_TOKEN_DETAILSKYC - Same vendor422restUser email or phone does not match with share token email or phone.
TOKEN_DATA_INCOMPLETEKYC - Same vendor422restRequired KYC information is missing in the share token response.
KYC_IMPORT_FAILEDKYC - Same vendor400restInvalid token format.
KYB_LINK_GENERATION_FAILEDKYB400restKYB simplified level verification has already been initiated.
BASIC_KYC_NOT_APPROVEDKYC400validation detailsUser has not completed basic KYC.
STANDARD_KYC_NOT_APPROVEDKYC400validation detailsUser has not completed standard KYC.
KYC_ALREADY_SUBMITTEDKYC400validation detailsUser has already submitted the KYC (standard or advanced).
USER_BLOCKED_OR_REJECTEDKYC / KYB, Order400rest or validation detailsUser is blocked or rejected.
INVALID_COUNTRY_CODEKYC / KYB400restInvalid country code.
INVALID_ID_DOC_ISSUER_COUNTRY_CODEKYC / KYB400restInvalid ID document issuer country code.
INVALID_NATIONALITY_CODEKYC / KYB400restInvalid nationality code.
COUNTRY_NOT_SUPPORTEDKYC / KYB400restCountry is not supported.
ID_DOC_ISSUER_COUNTRY_NOT_SUPPORTEDKYC / KYB400restID document issuer country is not supported.
NATIONALITY_NOT_SUPPORTEDKYC / KYB400restNationality is not supported.
INVALID_ID_DOC_TYPEKYC / KYB400restInvalid ID document type.
BASIC_KYB_NOT_APPROVEDKYB400restUser has not completed basic KYB.
STANDARD_KYB_NOT_APPROVEDKYB400restUser has not completed standard KYB.
STANDARD_KYB_ALREADY_APPROVEDKYB400restUser has already completed standard KYB.
ADVANCED_KYB_ALREADY_APPROVEDKYB400restUser has already completed advanced KYB.

Invoice Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
FILE_REQUIREDOrder400validation detailsAn invoice is required to perform the transaction.
INVALID_FILE_TYPEAll400validation detailsUploaded invoice file type is invalid.
FILE_TOO_LARGEAll400validation detailsUploaded invoice file exceeds allowed size.
INVOICE_ID_REQUIREDOrder400validation detailsInvoice ID is required.
INVOICE_NOT_FOUNDOrder404 (invoice GET); 400 nestedrest or validation detailsInvoice not found for the provided ID.
INVOICE_USER_ID_MISMATCHOrder400validation detailsInvoice user ID does not match the request user.
INVALID_INVOICE_TYPEOrder400validation detailsInvoice type is invalid for the requested flow.
INVOICE_ALREADY_PROCESSEDOrder400validation detailsInvoice has already been processed.

Transfer / Order Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
INSUFFICIENT_BALANCEOrder400validation detailsThe account has insufficient balance to complete the transaction.
RESTRICTED_ACCESSOrder400restThe user is not allowed to do transaction.
INVALID_ORDER_TYPEOrder400validation detailsOrder type is invalid for the requested flow.
INVALID_SETTLEMENT_TYPEOrder400validation detailsSettlement type is not allowed for the flow.
USER_ID_REQUIREDOrder400validation detailsUser ID is required for the transfer.
DESTINATION_USER_NOT_FOUNDOrder400validation detailsDestination user not found.
RECIPIENT_USER_NOT_FOUNDOrder400validation detailsRecipient user not found.
COUNTRY_NOT_ALLOWEDOrder400validation detailsUser or organization country is not allowed for the flow.
QUOTE_INSUFFICIENT_ORDER_AMOUNTOrder400validation details (rest in simulations)Quote/order amount is below the minimum required.
AMOUNT_VALIDATION_FAILEDOrder400validation detailsAmount validation failed for the transfer.
SOURCE_AMOUNT_VALIDATION_FAILEDOrder400validation detailsSource amount validation failed for the transfer.
DESTINATION_AMOUNT_VALIDATION_FAILEDOrder400validation detailsDestination amount validation failed for the transfer.
SOURCE_AMOUNT_REQUIREDOrder400validation detailsSource amount is required.
WALLET_CREATION_ERROROrder400validation detailsFailed to create or fetch wallet for the transfer.
WALLET_ADDRESS_REQUIREDOrder400validation detailsWallet address is required for the flow.
WALLET_ADDRESS_INVALIDOrder400validation detailsWallet address failed validation.
SENDERS_WALLET_ADDRESS_INVALIDOrder400validation detailsSender's wallet address failed validation.
INVALID_DESTINATION_CURRENCYOrder400validation detailsDestination currency is invalid for the flow.
PAYMENT_CODE_AND_PAYMENT_TYPE_REQUIREDOrder400validation detailsPayment code and payment type are required for the transfer.
PAYMENT_TYPE_REQUIREDOrder400validation detailsPayment type is required.
PAYMENT_CODE_REQUIREDOrder400validation detailsPayment code is required.
PAYMENT_TYPE_MISMATCHOrder400validation detailsPayment type does not match the expected value.
PAYMENT_METHOD_NOT_FOUNDOrder404 (Rest); 400 (nested)rest or validation detailsPayment method not found for the given payment code/type.
SOURCE_PAYMENT_METHOD_NOT_FOUNDOrder400validation detailsSource payment method not found.
DESTINATION_PAYMENT_METHOD_NOT_FOUNDOrder400validation detailsDestination payment method not found.
SOURCE_PAYMENT_TYPE_REQUIREDOrder400validation detailsSource payment type is required.
SOURCE_PAYMENT_CODE_REQUIREDOrder400validation detailsSource payment code is required.
DESTINATION_PAYMENT_TYPE_REQUIREDOrder400validation detailsDestination payment type is required.
DESTINATION_PAYMENT_CODE_REQUIREDOrder400validation detailsDestination payment code is required.
SUCCESS_REDIRECT_URL_REQUIREDOrder400validation detailsSuccess redirect URL is required.
FAILURE_REDIRECT_URL_REQUIREDOrder400validation detailsFailure redirect URL is required.
DEVICE_DETAILS_REQUIREDOrder400validation detailsDevice details are required (e.g., for card/headless flows).

Compliance Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
EMAIL_VERIFICATION_FAILEDUser, Order400validation detailsEmail verification failed and cannot be used for contact creation. Please contact support for further assistance
EMAIL_UNDER_MANUAL_REVIEWUser, Order400validation detailsEmail is under manual review. Please wait 24-48 hours or contact support.
EMAIL_NOT_ALLOWEDUser, Order409restEmail not allowed for the user (compliance check failed).
DEVICE_UNDER_MANUAL_REVIEWOrder400validation detailsAccount is under manual review due to a device & biometric risk check. Please wait 24-48 hours or contact support.
DEVICE_VERIFICATION_FAILEDOrder400validation detailsAccount is disabled because the device & biometric check failed. Please contact support for further assistance.
KYT_UNUSUAL_BEHAVIOUR_MANUAL_REVIEWOrder400validation detailsAccount is under manual review because the system flagged unusual transaction behavior. Please wait 24-48 hours for a final outcome or contact support.
KYT_VELOCITY_RISK_TEMP_BLOCKOrder400validation detailsAccount is temporarily disabled for 24 hours due to unusual transaction behavior. Please retry after 24 hours or contact support.
KYT_UNUSUAL_BEHAVIOUR_PERM_BLOCKOrder400validation detailsAccount is permanently disabled due to unusual transaction behavior. Please contact support to reinstate this account.
KYT_CHECK_FAILEDOrder400validation detailsKYT check failed.
STANDARD_KYC_REQUIREDOrder400validation detailsLimit breached – Standard KYC is required.
ENHANCED_KYC_REQUIREDOrder400validation detailsLimit breached – Enhanced KYC is required.
BASIC_SCREENING_IN_PROGRESSOrder400validation detailsUser creation is in progress. User's Basic KYC is pending.
BASIC_SCREENING_REJECTEDOrder400validation detailsUser KYC has been rejected.
KYC_EXPIREDOrder400validation detailsUser KYC document has expired.
KYC_PENDINGOrder400validation detailsUser KYC is pending; transfer cannot proceed.
KYC_REJECTEDOrder400validation detailsKYC was rejected.
KYC_MANUAL_REVIEWOrder400validation detailsKYC is under manual review.
RESUBMISSION_REQUIREDOrder400validation detailsUser KYC failed – Please resubmit your KYC.
MAXIMUM_LIMIT_BREACHEDOrder400validation detailsMaximum transaction limit reached. No further orders will be accepted for this user.
KYB_REJECTEDOrder400validation detailsKYB was rejected.
KYB_EXPIREDKYC / KYB400validation detailsKYB has expired.
KYB_MANUAL_REVIEWOrder400validation detailsKYB is under manual review.
KYB_PENDINGOrder400validation detailsKYB is pending.
STANDARD_KYB_REQUIREDOrder400validation detailsStandard KYB level is required.
ENHANCED_KYB_REQUIREDOrder400validation detailsEnhanced KYB level is required.
CUSTOMER_RISK_MATRIX_CHECK_FAILEDOrder400validation detailsCustomer risk matrix check failed.

Internal Errors

Error CodeEndpointHTTP StatusEnvelopeDescription
INTERNAL_SERVER_ERRORSystem500restAn internal server error occurred while processing the request.

Webhook Errors

Error CodeError TypeDescription
PAYMENT_NOT_COMPLETEDOrderUser has cancelled the payment or didn't complete within the session.
NAME_NOT_MATCHEDComplianceUser name on the sender's bank account detail didn't match with TransFi.
USER_CONSENT_NOT_PROVIDEDComplianceUser didn't give gaming order consent within the defined time.
BEHAVIORAL_CHECK_IN_REVIEWComplianceBiometric check of the user's device is under review.
BEHAVIORAL_CHECK_FAILEDComplianceBiometric check of the user's device has failed.
AMOUNT_MISMATCHOrderThe payment amount does not match the expected amount.
AUTHENTICATION_FAILEDOrderUser authentication failed.
BANK_ACCOUNT_ALREADY_IN_USEOrderThis bank account is already linked to another user.
BANK_UNDER_MAINTENANCEOrderThere was a technical issue with the bank.
DECLINED_BY_BANKOrderBank has declined this transaction.
INVALID_ACCOUNT_DETAILSOrderThe provided account details are invalid.
TRANSACTION_EXPIREDOrderPayment is not completed within the time.
VALIDATION_FAILEDOrderValidation has failed for the transaction.
TRANSACTION_FAILEDOrderTransaction has failed.
OTHERSAnyAn unexpected error occurred.