Skip to main content
POST
/
api
/
v1
/
bank-verification-pennyless
Bank Verification
curl --request POST \
  --url https://api.example.com/api/v1/bank-verification-pennyless \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountNumber": "<string>",
  "ifscNumber": "<string>",
  "async": true
}
'

Bank Account Verification

Verify bank account details instantly using account number and IFSC code. Returns account holder name, bank details, and account status.

Overview

This endpoint helps businesses:
  • Verify bank account ownership
  • Validate IFSC codes
  • Get account holder name for verification
  • Confirm account status (Active/Inactive)

Request

accountNumber
string
required
Bank account number (9-18 digits)
ifscNumber
string
required
IFSC code of the bank branch (format: XXXX0XXXXXX)
async
boolean
default:"true"
If true (default), request is queued and result delivered via webhook. If false, wait for result synchronously (up to 30 seconds).

Headers

HeaderValueRequired
X-API-KeyYour API keyYes
Content-Typeapplication/jsonYes

Example Request (Async Mode - Default)

curl -X POST "https://api.txncheck.com/api/v1/bank-verification-pennyless" \
  -H "X-API-Key: txncheck_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "accountNumber": "920020056012360",
    "ifscNumber": "UTIB0000519"
  }'

Example Request (Sync Mode)

curl -X POST "https://api.txncheck.com/api/v1/bank-verification-pennyless" \
  -H "X-API-Key: txncheck_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "accountNumber": "920020056012360",
    "ifscNumber": "UTIB0000519",
    "async": false
  }'

Response

202 Accepted

Request accepted and queued for processing. Results will be delivered via webhook.
{
  "statusCode": 202,
  "message": "Request accepted and queued for processing",
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "QUEUED"
}

Result Data (via webhook or polling)

When the request completes, you’ll receive a webhook or can poll the status endpoint:
{
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "method": "bank-verification-pennyless",
  "status": "COMPLETED",
  "result": {
    "bankVerification": {
      "accountNumber": "920020056012360",
      "ifsc": "UTIB0000519",
      "nameAtBank": "Alex Kumar",
      "bankName": "AXIS BANK",
      "branchName": "Mumbai Main Branch",
      "accountType": "Savings",
      "accountStatus": "Active",
      "verifiedOn": "2024-01-20T10:30:00Z"
    }
  },
  "webhookStatus": "SENT",
  "createdAt": "2025-01-11T10:30:00.000Z",
  "completedAt": "2025-01-11T10:30:02.000Z"
}

Result Fields

FieldTypeDescription
accountNumberstringThe verified bank account number
ifscstringIFSC code of the bank branch
nameAtBankstringAccount holder name as registered with the bank
bankNamestringName of the bank
branchNamestringName of the bank branch
accountTypestringType of account (Savings, Current, etc.)
accountStatusstringAccount status (Active, Inactive, etc.)
verifiedOnstringISO 8601 timestamp of verification

Error Responses

400 Bad Request

Invalid account number or IFSC format.
{
  "statusCode": 400,
  "message": ["Account number must be 9-18 digits", "IFSC must be in format XXXX0XXXXXX"],
  "error": "Bad Request"
}

401 Unauthorized

Invalid or missing API key.
{
  "statusCode": 401,
  "message": "Invalid API key",
  "error": "Unauthorized"
}

402 Payment Required

Insufficient account balance.
{
  "statusCode": 402,
  "message": "Insufficient wallet balance",
  "error": "Payment Required"
}

403 Forbidden

Method not enabled for your account.
{
  "statusCode": 403,
  "message": "Access to method 'bank-verification-pennyless' is not allowed",
  "error": "Forbidden"
}

404 Not Found

Bank account not found or invalid.
{
  "statusCode": 404,
  "message": "Bank account not found or invalid",
  "error": "Not Found"
}

408 Request Timeout (Sync Mode Only)

Request processing timed out. Only occurs with async: false.
{
  "statusCode": 408,
  "message": "Request processing timed out after 30 seconds. Use async mode or check status later with request ID: 550e8400-e29b-41d4-a716-446655440000",
  "error": "Request Timeout"
}

429 Too Many Requests

Rate limit exceeded.
{
  "statusCode": 429,
  "message": "Too Many Requests",
  "error": "Too Many Requests"
}

Use Cases

Verify vendor bank accounts during registration to ensure payouts reach the correct recipients.
Validate borrower bank accounts before disbursing loans to prevent failed transactions.
Verify customer bank details before processing refunds to ensure successful credit.
Validate employee bank accounts during HR onboarding for seamless salary disbursements.