Error Codes

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.