Skip to main content
Cashfree’s Bank Account Verification (BAV) validates whether a bank account exists, is active, and belongs to the intended user. The verification happens in real time using IMPS rails, and the data is validated directly against NPCI as the source, ensuring accuracy and authenticity. To make transactions fool-proof, you can also validate the accuracy of the account holder by using the Name Match feature, which enables faster and more reliable verification. BAV verifies bank account details and the associated account holder name to prevent payout failures, reduce fraud, and enable smoother onboarding and KYC workflows.

Why choose Cashfree

Cashfree’s bank account verification offers the following benefits:
  • Enhanced security and fraud reduction: Confirms that the bank account belongs to the user and is active, helping prevent fraudsters from using fake, inactive, or dormant accounts.
  • Reduced chargebacks: Verifying genuine accounts upfront helps businesses minimise chargebacks arising from unauthorised transactions or incorrect bank details.
  • Faster verification: Enables real-time authentication through IMPS rails, eliminating delays associated with manual verification processes or document checks.
  • Clear reasons for verification failure: Provides precise failure insights, such as invalid account number, incorrect IFSC, or blocked, frozen, or closed accounts, so you know exactly why verification failed in real-time.
  • Bulk verification at scale: Verify up to 10,000 bank accounts in a single batch using APIs or bulk upload via simple Excel sheet uploads, without exposing sensitive financial information to any third party.
  • Approval (maker–checker) workflow: Add maker and checker roles to manage permissions. Each time a maker uploads a batch file, checkers can review, validate, and approve or reject individual records before verification begins.

Use cases

BAV is widely adopted across industries to verify account ownership and reduce payment failures:
SectorUse cases
MarketplacesVerify users and vendors to ensure that payouts are credited only to the intended beneficiaries.
Businesses and individuals for payment verificationValidate bank account details and match the bank-registered name to avoid transfer failures or reversals.
Payments and fintech companiesEnsure frictionless onboarding by verifying user details with the bank to prevent mismatches or failed transactions.
Insurance providersAuthenticate individuals during onboarding or before disbursing insurance amounts.
Wallet service providersFast-track user onboarding and account activation with instant individual or business account verification.
Security and equity investment platformsAllow users to start investing quickly with instant bank account verification. Integrate APIs that are customizable and easy to use.
Lending platformsVerify borrower bank details before loan disbursal to eliminate transfer reversals or failures due to incorrect account numbers.
Recruitment and identification verification companiesValidate employee bank account details and match their names for faster onboarding and minimised transfer failures.

Verification flow

  1. Use the Sync BAV API to instantly verify a bank account.
  • Input the bank account number, IFSC, phone number (optional), and name (optional) to get the account status, such as valid, invalid, or blocked, and detailed failure reasons like invalid IFSC or unsupported NRE accounts.
  1. Use the Async BAV API to verify a bank account within 1–2 hours, after which you can retrieve the final status of the verification using the Get BAV Status API.
  • Possible statuses include: valid, invalid, in_process, rejected, pending.
  1. Use the Bulk BAV API to verify bank account information in bulk by uploading a CSV/XLSX file containing the account details you want to verify.
  • After uploading, use the Get Bulk BAV Status API to track the bulk verification request.
  • You can retrieve the status using either the bulk reference ID or the bulk validation ID.
  • To fetch the status of a specific record, provide the corresponding reference ID in the request.

Verify a bank account

To verify the bank accounts through the Merchant Dashboard, follow the instructions below:
  1. Log in to the Merchant Dashboard.
  2. Go to Secure ID Dashboard > Bank Account > Verify Bank Account.
  3. In the Verify Bank Account pop-up, enter the Account Number, IFSC, and optionally the Account Holder Name and Phone Number.
  4. Click Verify. The bank account information is verified, and you will receive a popup that displays the account status, name match results, and failure reasons if any.
Because of the IMPS constraints, only the first 5 characters of IFSC are validated.
BAV Flow

Verify bank accounts in batch

When you have a large number of bank accounts to verify, you can upload a single file containing all the required details and process them in one go. Batch verification supports .csv, .xls, and .xlsx formats. Each row in the file must include the account number, IFSC code, and, optionally, the account holder’s name and phone number. You can download the sample file to understand the required format before uploading your data. Follow the steps below to upload and verify a batch file:
  1. Log in to the Merchant Dashboard.
  2. Go to Secure ID Dashboard > Bank Account.
  3. Select the Batch tab and click Upload File.
  4. Click Download sample file to get the template (available in CSV or XLS format), fill in your bank account information following the required structure, and save the file.
  5. Click Upload and select the file with the details filled in to submit the batch for verification.
  6. The uploaded file will appear in the Batch tab as a table for easy viewing. BAV Bulk Flow
  7. Click the uploaded file to view the following information:
  • File Name: Name of the uploaded file.
  • Status: Status of the file which can be success, failed, approval pending, etc.
  • Uploaded At: Timestamp showing when the file was uploaded.
  • Uploaded By: Name of the user who uploaded the file.
  • Total records: Total number of bank account records in the file.
  • Valid: Number of accounts that were successfully verified.
  • Invalid: Number of accounts that failed verification. Batch Upload Details
  1. You can view the following details in the table:
  • Bank A/c No.: Displays the bank account number used for verification.
  • IFSC: Displays the IFSC code associated with the account.
  • Phone: Displays the phone number of the bank account holder.
  • Name: Displays the name of the bank account holder.
  • Account Status: Displays the verification result for that account. Bank Verification Details

Approve batch verification flow

To verify a large number of bank accounts in one go, Cashfree supports Batch Upload of bank account details. Since this involves processing all records added in the file at once, you may want to check and approve the file before verification begins. To do this, you must create an approver profile within your Cashfree account. Once the file is approved by an approver, the bank account details will be verified, and the status of each account will be displayed in the file. All files that are pending approval will appear in the Approve Batch section.
Cashfree supports a maker–checker flow to review and approve batch files before they are verified. You can assign up to three approvers for each file. Users with the necessary permissions can view the file and approve or reject it. After approval, the file is processed, and the verification results for each bank account record are displayed accordingly.

Name match scoring

The Name Match feature helps ensure that payments are processed to the correct beneficiary by validating whether the customer-provided name matches the name registered with the bank. Manually checking names can be time-consuming and prone to error, especially when handling large volumes. Name Match automates this process by comparing both names and returning a match result along with a numerical score that indicates how closely they align. Two parameters are returned in the response:
  • nameMatchResult: The classification of the match.
  • nameMatchScore: The numerical score (0 – 100).

Score categorisation

Match ResultMatch Score Range
Direct Match100.00
Good Partial Match85.00 – 99.00
Moderate Partial Match60.00 – 84.00
Poor Partial Match34.00 – 59.00
No Match0 – 33.00

Examples

Name 1Name 2nameMatchResultnameMatchScore
Rohan Mathew ThomasRohan Mathew ThomasDirect Match100.00
Rohan Mathew ThomasRohan ThomasGood Partial Match85.00
Rohan Mathew ThomasRoshan ThomasModerate Partial Match61.00
Rohan Mathew ThomasRohan Mathew KPoor Partial Match55.00
Rohan Mathew ThomasRajeevNo Match14.00

FAQs

You can verify bank accounts across all recognised Indian banks, including all public banks, private banks, and 126+ cooperative banks*.
Verification may not be possible for some cooperative bank accounts.
On Cashfree, you can verify any number of Indian bank accounts using two methods:
  1. Manual verification via the dashboard:
    Enter just two details: bank account number and IFSC.
    For bulk verification, use the bulk upload feature to submit a CSV/XLSX file and receive quick results.
  2. API-based verification:
    Integrate our Verification API with your existing internal systems or ERP to perform single or bulk verification automatically.
Bank account verification can be used across several business workflows, such as:
  • As a key step in validating applicants before issuing loans for health, business, car, etc.
  • Employee background checks: for example, by recruitment agencies.
  • Vendor onboarding—marketplaces can validate vendor account details upfront to ensure accurate payouts later.
Integrating the API with existing ERP systems helps reduce operational effort and significantly saves costs.
Bank account verification supports critical business decisions such as loan disbursals, fraud and risk checks during customer onboarding, and ensuring salaries or payments reach the correct recipient.
In case of timeouts or failures, our system automatically retries verification internally to maintain a high success rate (SR).
BAV responses may include:
VALID, INVALID, NRE_ACCOUNT_FAIL, REJECTED, and more.
Refer to the documentation for a full list of available status codes and their descriptions.
Yes, BAV provides webhooks that send event-based notifications for asynchronous bank account verification.
Yes, if you are using Cashfree Payments marketplace settlement and want to use verification API as well, you need to opt for the feature separately. Our payment experts will help you with integration and you will be able to use the Cashfree Payments marketplace settlement and Secure ID together.
Yes, Payouts is different. Users can integrate bank account verification to do the validation and will be charged separately.
No, there is no such limit. You can use this feature to verify any number of bank accounts in a day 24×7.
On Cashfree, you can verify account numbers instantly. As you submit the request, our API gives an instant response.