Skip to content

CDSL Integration Guide

Before a single real client account can be opened in CDSL (Central Depository Services Limited), your system must pass through a multi-phase certification process that includes UAT (User Acceptance Testing) environment setup, test case execution against CDSL-defined scenarios, and a formal sign-off. After that, production onboarding involves leased line connectivity, IP whitelisting, DSC (Digital Signature Certificate) mapping, and strict security protocols. This page is the practical engineering guide to that journey — from requesting your first test credentials to processing your first live transaction. Whether you are integrating with CDSL for the first time or troubleshooting a production issue with file uploads and sequence numbers, this is where you will find the answers.

Back to CDSL Overview


The first decision you will face is which environment to work in. CDSL provides three tiers — an Innovation Sandbox for prototyping, a DP (Depository Participant) UAT environment for real integration testing, and the production environment for live operations. Understanding the differences between these environments will save you from common mistakes like using test credentials in production or expecting real settlement behavior in UAT.

AspectUAT / TestProduction
WebCDAS URLtest1.cdslindia.comcdslweb.cdslindia.com and cdslapp.cdslindia.com
Mock Environmentmock.cdslindia.com (MOCKCDAS for RTA/DP testing)N/A
API ServicesTest API server (credentials from dprtasupport@cdslindia.com)api.cdslindia.com/APIServices
eDIS PortalSandbox eDIS (on request)edis.cdslindia.com
TPIN GenerationTest TPIN generationedis.cdslindia.com/Home/GeneratePin
easi/EASIESTTest instanceweb.cdslindia.com/myeasitoken/Home/Login
CVL KRA VerificationTest URLvalidate.cvlindia.com/CVLKRAVerification_V1/
Issuer PortalTest instanceissuercentre.cdslindia.com/Home/Login

1.2 Test vs Production Environment Differences

Section titled “1.2 Test vs Production Environment Differences”
AspectUAT / TestProduction
DP IDTest DP ID assigned by CDSL (unique per testing entity)Real DP ID (8 digits, assigned at registration)
Client IDsTest Client IDs (no real securities)Real Client IDs auto-assigned by CDAS (Central Depository Accounting System)
API KeySeparate test API key (may have shorter validity)Production API key (longer validity, strict rotation)
eDIS API KeyTest eDIS (Electronic Delivery Instruction Slip) key (separate from production)Production eDIS API key
DataSynthetic data; no real securities or settlementsLive market data, real ISINs (International Securities Identification Numbers), real settlements
DSCTest DSC certificates (relaxed requirements)Production DSC from Registered Authority of TCS (mandatory)
ConnectivityInternet access sufficient; no leased line neededLeased line / MPLS (Multiprotocol Label Switching) / Internet with IP whitelisting
IP WhitelistingMay be relaxed; dynamic IPs may be allowedStatic IPs mandatory; registered with CDSL
SSL/TLSTLS 1.2 (same as production)TLS 1.2 or higher (mandatory)
TransDtls EncryptionSame encryption algorithm as productionSame encryption, production keys
SettlementNo real settlement; simulated settlement cycleT+1 live settlement
Audit LoggingMinimal / test-onlyFull audit trail per SEBI (Securities and Exchange Board of India) requirements
Go-LiveSelf-service testingRequires CDSL UAT sign-off certification

In plain English: the UAT environment mirrors production in its API structure and file formats, but uses synthetic data and relaxed security. Think of it as a flight simulator — the controls are identical to a real cockpit, but crashing has no consequences. Production is the real flight.

Phase 1: Registration & Setup (1-2 weeks)
├─ Submit request to dprtasupport@cdslindia.com
├─ Specify: APIs needed, connectivity mode, test scope
├─ CDSL assigns Test DP ID
├─ CDSL generates Test API Key
├─ CDSL provides Test WebCDAS credentials
└─ MOCKCDAS access granted for file format testing
Phase 2: Integration Development (2-4 weeks)
├─ BO Setup file generation and upload testing
├─ API call testing (BO Setup, eDIS, Transaction Upload)
├─ File format validation (fixed-length positional for BO, XML-tag for transactions)
├─ Error handling and rejection scenario testing
└─ Download report parsing (DP57, DPM3, DPM4)
Phase 3: Test Case Execution (1-2 weeks, CDSL-defined test cases)
├─ BO account opening (all account categories: IND, HUF, BDC, TRU)
├─ BO modification (name, address, bank, contact, KYC attributes)
├─ Nomination (add, modify, opt-out with video verification flag)
├─ eDIS flow (TPIN generation → VerifyDIS → OTP → callback)
├─ DDPI submission (online eSign + offline physical)
├─ Transaction uploads (pledge, IDT, off-market, freeze/unfreeze)
├─ File download parsing (DP57, DPM3, DPM4, Client Master)
└─ Error scenarios (duplicate PAN, missing fields, invalid codes)
Phase 4: UAT Sign-Off (1 week)
├─ CDSL reviews test execution results
├─ Issues UAT completion certificate
└─ Any issues must be resolved before production onboarding
Phase 5: Production Onboarding (1-2 weeks)
├─ Production DP ID + API key provisioned
├─ Client ID range pre-allocation requested (for BO ID on eSigned forms)
├─ IP whitelisting configured for production servers
├─ DSC mapping completed for all authorized signatories
├─ Leased line / MPLS / Internet connectivity certified
├─ Production security configuration verified
└─ Go-Live approval issued by CDSL
AspectDetails
GovernanceSEBI Innovation Sandbox Committee
EligibilityFintech startups, registered intermediaries, educational institutions, individual innovators
ApplicationVia SEBI Innovation Sandbox portal
CostFree for approved applicants
DurationDefined testing window per approval
Test DataSynthetic account statements, holding data, transaction data
File Formats ProvidedUnformatted account statements, BO upload/download specifications, sample files
GuidelinesOperating Guidelines v3 (final) on CDSL website

The Innovation Sandbox is useful if you want to explore CDSL integration before committing to a full DP registration. However, it provides limited API access (data access only) and static test data. For actual integration development, you need the DP UAT environment.

Sandbox vs DP UAT vs Production:

AspectInnovation SandboxDP UATProduction
AccessOpen application via SEBI portalRegistered DP onlyLive registered DP
DataSample/static test dataDynamic test data, simulated flowsLive production data
CredentialsSandbox-specificTest API key from CDSLProduction API key
APIsLimited (data access only)Full API suite for testingFull API suite
File FormatsSample specifications and filesFull upload/download testingProduction file processing
Use CasePrototyping, learning, hackathonsIntegration development and certificationLive DP operations
Contactinnovation-sandbox.indprtasupport@cdslindia.comhelpdesk@cdslindia.com

Every file you upload to CDSL and every API call you make needs a tracking mechanism. CDSL uses a system of sequence numbers and reference IDs that serve as the backbone for idempotency, deduplication, and audit trails. Getting sequence number management wrong is one of the most common causes of production file rejections. This section covers the tracking architecture in detail.

AspectDetails
Field NameUnique Sequence Number
Present InBO setup upload, BO modify upload, and transaction uploads
Mandatory SinceOctober 30, 2015 (initially optional; uniqueness checked if populated)
Uniqueness ScopePer DP ID — each DP maintains its own sequence space
ValidationCDSL checks uniqueness across all records ever submitted by the DP
PurposePrevent duplicate submissions; enable idempotent retries
FormatNumeric; DP-defined; must be unique across all submissions (no reuse)

In plain English: the Unique Sequence Number is like a receipt number at a bank counter — every transaction you submit gets a unique number, and if you accidentally submit the same number twice, CDSL rejects the duplicate. This prevents double account openings, double pledges, and other costly duplication errors.

Reference TypeFormatSourceDescription
Unique Sequence NumberNumeric (DP-defined)DP generatesMaster tracking ID for each record in upload files
eDIS ReqId15-digit numeric (e.g., 291951000000401)DP generatesUnique request ID for eDIS VerifyDIS API calls
File Request IDAuto-generated by CDASCDSL assignsAssigned when file upload is accepted by CDAS
Transaction ReferenceAuto-generated by CDASCDSL assignsUnique reference for each transaction in CDAS
DRN (Demat Request Number)10-digit numericCDSL assignsDematerialization/Rematerialization request number
BO Setup ReferenceDP-generatedDP generatesInternal reference for BO account opening request
Settlement IDExchange-assignedExchangeSettlement number for on-market transactions
CM ID8-digitClearing CorpClearing Member identifier for settlement matching
AspectRecommendation
FormatYYYYMMDD + 6-digit zero-padded counter (e.g., 20260213000001)
ResetNo automatic reset by CDSL; DP must ensure global uniqueness
Counter StrategyMonotonically increasing; never reuse even after rejection
Collision HandlingDuplicate sequence number = record/file rejected by CDSL
Retry LogicOn rejection, generate NEW sequence number and resubmit (never reuse)
StoragePersist sequence counter in database with transaction-safe increment
Multi-InstanceIf multiple application instances, use partitioned ranges or centralized counter
Disaster RecoveryDR system must have access to same sequence counter or separate range

DP57 Report (Common Download):

Format: COD_EXP_<DPID>_<FILE_REQ_ID>_<I/F>_YYYYMMDDHHMM_<SeqNo>.csv
Components:
COD = Common Online Download
EXP = Export
DPID = 8-digit Depository Participant ID
FILE_REQ_ID = File request identifier assigned by CDSL
I/F = I (Incremental during day) or F (Full end-of-day)
YYYYMMDDHHMM = Timestamp of report generation
SeqNo = Sequential number (for multiple files in same period)
Example: COD_EXP_12049200_78542_I_202602131430_001.csv

DPM3 Holdings Report (Statement of Holdings):

Format: SOH_EXP_<DPID>_<ReqID>_<I/F>_YYYYMMDDHHMM_<Seq>.csv
Components:
SOH = Statement of Holdings
EXP = Export
DPID = 8-digit DP ID
ReqID = Request identifier from CDSL
I/F = I (Incremental) or F (Full)
YYYYMMDDHHMM = Generation timestamp
Seq = Sequence number
Example: SOH_EXP_12049200_45321_F_202602130600_001.csv

DP97 Report:

Associated with COD (Cash on Demand) exports; generated alongside DP57 reports.

2.5 File Upload Acknowledgment & Status Polling Flow

Section titled “2.5 File Upload Acknowledgment & Status Polling Flow”

Understanding the upload-poll-download cycle is essential because CDSL processes files asynchronously. You upload a file, receive an immediate acknowledgment, and then must poll for the processing result. This is not a synchronous request-response pattern.

┌─────────────┐ ┌──────────────────┐
│ DP System │ │ CDSL CDAS │
└──────┬──────┘ └────────┬─────────┘
│ │
│ 1. Upload File │
│ (BO Setup / Txn / │
│ Common Upload) │
│ ─────────────────────►
│ │
│ 2. Immediate ACK │
│ (HTTP 200 + File │
│ Request ID) │
│ ◄─────────────────────
│ │
│ [CDSL Processes] │
│ - Validates each │
│ record │
│ - Applies biz │
│ rules │
│ - Checks unique │
│ sequence nos. │
│ │
│ 3. Poll Status │
│ (File Request ID) │
│ ─────────────────────►
│ │
│ 4. Status Response │
│ ◄─────────────────────
│ │
│ Possible statuses: │
│ - Processing │
│ - Accepted │
│ - Partially Accepted│
│ - Rejected │
│ │
│ 5. Download Detail │
│ (record-level │
│ success/reject │
│ with error codes) │
│ ─────────────────────►
│ │
│ 6. Result File │
│ (per record: status │
│ + error code + │
│ assigned BO ID for │
│ successful setups) │
│ ◄─────────────────────
└──────────────────────┘
ModeBehaviorUse Case
File Level UploadEntire file processed if ALL records valid; entire file rejected if ANY record failsCritical batch where all-or-nothing is needed
Record Level UploadSuccessful records processed; error records rejected individuallyRoutine batch processing; partial success acceptable

In plain English: with File Level Upload, a single bad record in a 1,000-record file causes all 1,000 records to be rejected. With Record Level Upload, the 999 good records go through and only the bad one is rejected. For day-to-day operations, Record Level Upload is almost always the right choice.

2.7 Date of Receipt Tracking (SEBI Mandate)

Section titled “2.7 Date of Receipt Tracking (SEBI Mandate)”

Per SEBI directive, CDSL mandates that DPs capture the date of receipt of request from BO for all transaction types. This field is present in:

  • Online CDAS entry screens
  • File upload formats (both BO setup and transaction uploads)
  • API request payloads

Purpose: Audit trail for SLA compliance. CDSL uses this to monitor DP adherence to processing timelines (e.g., 2-day closure SLA, same-day off-market processing).

TimeReport TypeContent
Intra-day (multiple)Incremental (I)Transactions processed since last incremental
End of DayFull (F)All transactions for the entire business day
On-demandFull or IncrementalDP can request specific time window

The DP57 single download was activated for all DPs with effect from January 18, 2011, replacing the need for separate module-specific downloads.


Security is not an afterthought in CDSL integration — it is a multi-layered architecture that spans network isolation, transport encryption, application authentication, transaction authorization, and data-level encryption. As an engineer, you will interact with most of these layers during integration. The security architecture below is not just a reference diagram — each layer maps to specific configuration steps you will need to complete.

┌──────────────────────────────────────────────────────────────────────┐
│ CDSL Security Architecture │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ Layer 1: Network Security │
│ ├─ Leased Line / MPLS VPN (dedicated, physically isolated) │
│ ├─ IP Whitelisting (static IPs registered per DP) │
│ ├─ Firewall rules at CDSL data center (both primary + DR) │
│ ├─ VPN tunnel with IPSec (for internet-based connectivity) │
│ └─ VSAT encryption (satellite connectivity, for remote locations) │
│ │
│ Layer 2: Transport Security │
│ ├─ TLS 1.2+ for ALL HTTPS API communication │
│ ├─ SSL certificates for WebCDAS access │
│ ├─ Encrypted SFTP for batch file transfers (where applicable) │
│ └─ SSL 2.0/3.0 + TLS 1.0 supported for legacy CDAS modules │
│ │
│ Layer 3: Application Authentication │
│ ├─ API Key (unique per DP, generated during registration) │
│ ├─ Login ID + Password for CDAS web application │
│ ├─ Two-Factor Authentication (2FA) for DP module access │
│ ├─ Session management with configurable timeout │
│ └─ Role-based access control within DP module │
│ │
│ Layer 4: Transaction Authorization │
│ ├─ Digital Signature Certificate (DSC) via hardware e-Token │
│ │ ├─ Required for: on-market, off-market, IDT transactions │
│ │ ├─ Provider: Registered Authority of TCS (or Sify Safescrypt) │
│ │ ├─ Class 3 certificate (individual + organizational) │
│ │ └─ Hardware USB token (not software-based) │
│ ├─ TPIN (6-digit, CDSL-generated, BO-only, DP has NO access) │
│ └─ OTP (CDSL sends directly to BO registered mobile) │
│ │
│ Layer 5: Data-Level Security │
│ ├─ eDIS TransDtls payload encryption (CDSL-provided algorithm/key) │
│ ├─ Data at rest encryption per CDSL IT security policy │
│ ├─ Complete audit trail (per SEBI mandate) │
│ └─ ISO 27001 + ISO 22301 certified infrastructure │
│ │
└──────────────────────────────────────────────────────────────────────┘

In plain English: Layer 1 controls who can talk to CDSL’s network. Layer 2 encrypts the conversation. Layer 3 verifies who you are. Layer 4 authorizes specific high-value actions (like moving securities). Layer 5 protects the data itself, even at rest. As an integrating DP, you will configure Layers 1-4 during onboarding. Layer 5 is managed by CDSL.

3.2 Digital Signature Certificate (DSC) — Comprehensive

Section titled “3.2 Digital Signature Certificate (DSC) — Comprehensive”
AspectDetails
Primary CASify Safescrypt (CDSL-approved Certifying Authority)
Other CAseMudhra, nCode, (s)TRUST (Capricorn) — BOs can use DSC from any RA
DSC ClassClass 3 Digital Signature Certificate
Token TypeHardware USB e-Token (software certificates NOT accepted)
Issuance Time7-10 working days from application
Validity PeriodTypically 2-3 years; must be renewed before expiry
Required ForAll on-market, off-market, early pay-in, and inter-depository transactions
MappingEach authorized signatory’s DSC must be mapped to their CDAS user profile
Self-AuthorizationNOT allowed — DSC signatory must differ from DP authorized signatory
BO DSC for EASIESTBO submits filled Annexure + DSC screenshot to DP; DP verifies and sends to CDSL
No BO ChargeCDSL does not charge for mapping DSC from other RAs to BO’s EASIEST login
RenewalMust renew before expiry; expired DSC blocks transaction authorization

3.3 DSC Mapping Checklist (from CDSL Official Checklist)

Section titled “3.3 DSC Mapping Checklist (from CDSL Official Checklist)”
#Checklist ItemRequired
1DSC Authorized Signatory name DIFFERENT from DP Authorized SignatoryMandatory
2Clear and visible snapshot of DSC details providedMandatory
3Duly filled and signed Annexure (individual BO/CBO/CM form)Mandatory
4Print screen of Digital Signature Certificate details attachedMandatory
5DP verification stamp and signature on the formMandatory
6Form submitted to CDSL for DSC-to-user mappingMandatory
AspectDetails
Encrypted FieldTransDtls parameter in VerifyDIS API call
ContentISIN, quantity, exchange (NSE/BSE/MCX), segment (CM/FO/CD/COM), bulk flag
EncryptionDP encrypts using CDSL-provided encryption key and algorithm
Key ProvisioningEncryption parameters provided in API documentation during DP registration
Key RotationCDSL may rotate encryption keys; DP must implement key update mechanism
DecryptionCDSL decrypts server-side on eDIS portal
TPIN EntryALWAYS on CDSL’s eDIS webpage — never on DP portal (prevents DP from capturing TPIN)
OTP DeliveryCDSL sends directly to BO’s registered mobile (DP has zero access)

3.5 WebCDAS Browser Security Configuration

Section titled “3.5 WebCDAS Browser Security Configuration”

From CDSL’s RELID/WebCDAS Installation Guide:

SettingConfiguration
BrowserInternet Explorer / Edge (ActiveX compatibility); Chrome for WebCDAS
Trusted SitesAdd http://cdslweb.cdslindia.com and http://cdslapp.cdslindia.com
SSL SettingsEnable SSL 2.0, SSL 3.0, TLS 1.0 in Tools > Internet Options > Advanced > Security
ActiveX ControlsEnable for CDAS DP Module (signed ActiveX required)
Pop-Up BlockerDisable for CDSL domains
Java RuntimeMay be required for older CDAS modules
Security ZoneCDSL URLs in Trusted Sites zone with Medium security level
CookiesMust be enabled for CDSL domains
AspectDetails
RequirementAll DP servers calling CDSL APIs must have their IP addresses registered
IP TypeStatic IPs only (dynamic IPs NOT permitted for production)
ScopePrimary data center + DR site IPs
Multiple IPsSupported — DP can register multiple IPs
VPN (Virtual Private Network) EgressIf DP connects via VPN, the VPN exit (egress) IP must be whitelisted
Change ProcessWritten request to CDSL operations team; 2-3 working days to update
UAT RelaxationDynamic IPs may be allowed for test/UAT environment
VerificationCDSL may periodically verify that registered IPs are still in use
ModeEncryptionAuthenticationSecurity LevelMonthly CostBest For
Local Leased LinePhysical isolation (inherently secure)N/A (dedicated circuit)HighestRs. 8K-15K/monthLarge DPs with high volume
MPLS VPNProvider-managed label switchingProvider credentials + SLAHighRs. 4K-8K/monthMulti-branch DPs
Site-to-Site VPN (IPSec)IPSec tunnel encryptionCertificate + pre-shared keyHighRs. 2K-4K/monthCost-effective secure connectivity
Internet (HTTPS Direct)TLS 1.2+ for API callsAPI Key + IP whitelistingModerateExisting internet costAPI-only integration, small DPs
VSATSatellite encryptionVSAT credentialsModerateRs. 10K-20K/monthRemote/rural locations

In plain English: if you are a large broker with high transaction volumes, a leased line gives you the most reliable and secure connection. If you are a smaller DP or building a cloud-native integration, HTTPS Direct with IP whitelisting is the most practical starting point. Most new DPs start with HTTPS Direct and upgrade to MPLS or leased line as their volume grows.

AspectDetails
CertificationsISO 27001 (InfoSec), ISO 22301 (Business Continuity), BS 7799
Primary SiteMumbai-based data center
DR SiteGeographically separated Disaster Recovery site
RPONear-zero Recovery Point Objective (synchronous replication)
RTORecovery Time Objective within regulatory requirements
AuditRegular SEBI inspections + internal audits
Penetration TestingPeriodic external penetration testing

The final section of this guide is a comprehensive reference of all SEBI circulars and CDSL communiques relevant to DDPI (Demat Debit and Pledge Instruction), margin pledge, nomination, and BO modifications. Bookmark this section — you will refer to it frequently when tracing a regulatory requirement back to its source circular, or when compliance asks “which circular requires this?“

Circular NumberDateSubject
SEBI/HO/MIRSD/DoP/P/CIR/2022/44Apr 4, 2022DDPI for settlement + pledge (original)
SEBI/HO/MIRSD/DoP/P/CIR/2022/119Jun 2022Implementation timeline extension
SEBI/HO/MIRSD-PoD-1/P/CIR/2022/137Oct 6, 2022DDPI scope expanded: MF + open offer
SEBI/HO/MIRSD/DoP/P/CIR/2022/153Nov 2022Further implementation extension
Circular NumberDateSubject
SEBI/HO/MIRSD/DOP/CIR/P/2020/28Feb 25, 2020Margin pledge/re-pledge in depository system
SEBI/HO/MIRSD/DOP/CIR/P/2020/88Jun 1, 2020Extension to Aug 1, 2020
SEBI/HO/MIRSD/DOP/CIR/P/2020/144Sep 22, 2020MTF securities as maintenance margin
SEBI/HO/MIRSD/MIRSD-PoD/P/CIR/2025/82Jun 3, 2025Automated pledge release + invocation
Circular NumberDateSubject
SEBI/HO/MIRSD/MIRSD-PoD-1/P/CIR/2025/3Jan 10, 2025Revise and Revamp Nomination Facilities
SEBI Feb 28, 2025Feb 28, 2025Clarifications to nomination circular
SEBI Jul 2025Jul 2025Extended Phase II & III implementation

4.4 CDSL Communiques for DDPI/Pledge/Modifications

Section titled “4.4 CDSL Communiques for DDPI/Pledge/Modifications”
CommuniqueDateSubject
DP-115OngoingSEBI Circular on Margin Obligations
DP-234May 22, 2020Operational modalities for margin pledge/re-pledge
DP-304Jul 2021Mandatory updation of certain KYC attributes
DP-332Jun 14, 2022DDPI implementation
DP-408Aug 3, 2018Changes in BO Account Information
DP-412Aug 2020Margin Pledge/Re-Pledge implementation
DP-5565OngoingBO Setup/Modify changes for CM/POA (Power of Attorney)/DDPI holder
CDSL/OPS/DP/POLCY/2024/314Jun 7, 2024Pledge file format: rejection reason code
CDSL/OPS/DP/POLCY/2024/657Oct 30, 2024PAN modification at DP end