Cashfree Secure ID — Identity Verification & KYC

Integrates Cashfree Secure ID APIs for KYC, bank account verification, and biometric identity checks.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/dasara-varun/orange --skill cashfree-secure-id-identity-verification-kyc-dasara-varun
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Cashfree Secure ID — Identity Verification & KYC
Source: https://github.com/dasara-varun/orange/tree/main/.cursor/cashfree-skills/secure-id
Command: npx skills add https://github.com/dasara-varun/orange --skill cashfree-secure-id-identity-verification-kyc-dasara-varun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Integrating identity verification and KYC into an application requires navigating dozens of Cashfree Secure ID endpoints, authentication schemes, webhook events, and SDK variants, and mistakes like using the wrong penny drop endpoint or skipping webhook signature verification cause real production failures. ## Core Features & Use Cases - Bank Account & Identity Verification: Covers penny drop (BAV sync/async/bulk), PAN, Aadhaar via DigiLocker, GSTIN, driving licence, passport, voter ID, and KYB checks like CIN and Udyam. - Onboarding & Biometrics: Provides integration guidance for KYC links, Video KYC SDKs (Web/Android/iOS), 1-Click Onboarding, DigiLocker React Native SDK, face match, face liveness, and Smart OCR. - Webhooks & Security: Documents webhook event types, HMAC-SHA256 signature verification, 2FA via IP whitelisting or RSA public key signatures, and sandbox/production base URLs. - Use Case: A fintech backend developer needs to validate beneficiary bank accounts before payouts; the skill directs them to POST /bank-account/sync, explains the async webhook trap, and warns against misusing Reverse Penny Drop. ## Quick Start Ask the assistant to show how to verify a bank account using Cashfree Secure ID penny drop with the correct headers and webhook handling.

Frequently Asked Questions about Cashfree Secure ID — Identity Verification & KYC

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify a bank account with Cashfree penny drop?▼

Use POST /bank-account/sync for real-time bank account verification, which returns account_status, name_at_bank, and a name-match score in the HTTP response. For bulk or high-volume checks, use the async endpoint and capture results via webhook or polling.

What is the difference between penny drop and reverse penny drop?▼

Penny drop (BAV) deposits ₹1 into the account to validate a beneficiary before payout. Reverse penny drop has the account holder send ₹1 from their own account via UPI, and is meant for user self-verification during onboarding, not beneficiary validation.

How do I verify Cashfree Secure ID webhook signatures?▼

Compute an HMAC-SHA256 of the webhook timestamp concatenated with the raw request body using your client secret, then base64-encode it and compare with the x-webhook-signature header. Always verify signatures before processing events.

Does Cashfree Secure ID support DigiLocker Aadhaar verification?▼

Yes, via a flow of verify-account, creating a consent URL valid for 10 minutes, user OTP consent, and fetching documents like Aadhaar, PAN, or DL. Note that sandbox DigiLocker requires real Aadhaar numbers, and status arrives via webhook.

Can I call Cashfree Secure ID APIs from frontend code?▼

No, Secure ID API calls must be routed through your backend because they require the X-Client-Secret header, which must never be exposed client-side. Only specific SDKs like DigiLocker React Native, Video KYC, and 1-Click Onboarding run on the frontend.

Why is my Cashfree Secure ID async verification response missing the result?▼

The async BAV endpoint returns only an acknowledgement with a reference_id, not the verification outcome. You must implement a webhook handler for BANK_ACCOUNT_VERIFICATION events or poll GET /bank-account with the reference_id to get the final account_status.