What does this API do?
The Bank Account Verification API (powered by Protean eGov Technologies Ltd) allows lenders to verify the authenticity of a customer's bank account using the Penny Drop method. The API initiates a small test transaction to confirm that the account exists and is active, returning the account holder name and a verification status. This enables accurate beneficiary validation, reduces transaction failures, and supports regulatory compliance.
Who can use it?
Any lender or financial institution that has been onboarded to the ULI Platform and has subscribed to the Verify Bank Account service in the Platform Developer Portal.
Prerequisites
Complete all common platform prerequisites as described in Getting Started with ULI Platform APIs.
In addition, the following is specific to this API:
- Verify Bank Account Service Subscription: Subscribe to the Verify Bank Account service in the Platform Developer Portal (separately for Sandbox and Production). Refer to Section 10 of the SOP for Lender Onboarding for subscription steps.
- UAT Penny Drop Limit: Penny drop to a particular receiver bank account will work a maximum of 3 times in the UAT/Sandbox environment.
What are the API endpoints?
| Environment | URL |
|---|---|
| Sandbox | https://extgw.nonprod.rbihub.io/verifybankaccount/1.2/en |
| Production | https://extgw.api.rbihub.io/verifybankaccount/1.2/en |
HTTP method: GET
URL path follows the convention: /{serviceName}/{ver}/{lang}
| URL Parameter | Description | Value |
|---|---|---|
| serviceName | Unique name of the service | verifybankaccount |
| ver | Current version of the API | 1.2 |
| lang | Language for the response | en |
What headers are required?
| Header | Description | Remarks |
|---|---|---|
Authentication | JWT token generated by the authentication server | Refer to the Authentication and Authorization API specification |
client-id | Base64-encoded Client ID issued by the platform at registration | Required |
provider | Service provider code | Use 106 for Protean |
txncode | Unique alphanumeric transaction code provided by the lender | Required |
ts | Request timestamp in ISO-8601 format (yyyy-MM-ddTHH:mm:ssZ) | Required |
consent-id | Reference number of the consent artifact in the lender's application | Alphanumeric |
ifsc | 11-digit alphanumeric IFSC code of the bank branch to be verified | Required. Example: KKBK0000628 |
acctno | Bank account number to be verified | Required |
api-key | 24-character alphanumeric key issued by the platform | Optional; reserved for future use |
x-env-route | Required to route requests to the sandbox environment | Set to /sb for Sandbox only; omit for Production |
What is the request body?
This API uses the HTTP GET method. All inputs are passed as HTTP headers — there is no request body.
What do the response fields mean?
| Field | Description |
|---|---|
result.errcode | E000 on success; a relevant error code on failure |
result.status | success or fail |
result.info | Additional information or error description. Empty on success |
data.account-name | Name of the verified account holder |
data.isverified | Boolean: true if the account was successfully verified; false otherwise |
signature | Digital signature hash of the data field |
meta.txncode | Unique transaction code provided by the lender |
meta.ver | Version of the JSON response template in use |
meta.ts | Request initiation timestamp in ISO-8601 format |
hmac | SHA-256 hash of the data field for integrity verification |
publickey | Platform public key for source verification |
sig-algo | Algorithm used for signing, e.g. SHA256withECDSA |
Sample response:
{
"result": {
"errcode": "E000",
"status": "success",
"info": "Transaction Successful"
},
"data": {
"account-name": "account holder name",
"isverified": true
},
"meta": {
"txncode": "1234",
"ver": "1.2",
"ts": "2023-03-24T14:31:39+0530"
}
}
What are the error codes?
For the full list of platform-wide error codes, refer to the Latest Platform Error Code document. The following are Protean-specific error codes for this service:
| Error Code | Description |
|---|---|
E751 | Invalid IFSC code |
E752 | Invalid account number |
Who do I contact for support?
If you encounter an issue, email support@rbihub.in with the following details:
- Subject: Bank Account Verification API Error
- Platform Service Name: Bank Account Verification
- Platform Environment: Sandbox or Production
- Service Provider code: 106
- Request payload (headers) sent to the platform
- Error code and error message received
- Prerequisites status: IP Whitelisting, URL Whitelisting, Service Subscription, Token Generation
- Screenshot or log of the error (as attachment)
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article