Skip to content

Status Machine

Every application in the KYC (Know Your Customer) system has a status — a single value that tells you exactly where it stands in the pipeline. If a customer calls asking “when can I trade?”, the status is the first thing you look up. If a batch pipeline fails, the status tells you which applications are stuck and where. If a compliance audit asks “how many applications are pending review?”, the status gives you the answer. This page documents all 12 possible states, the transitions between them, and the triggers that cause each transition. Think of it as the state machine that governs the entire application lifecycle.

12-State Application Lifecycle — Registration to Trading

12-State Application Lifecycle — Registration to Trading

The diagram above shows the complete lifecycle. The happy path flows left to right, from REGISTERED to ACTIVE. The two terminal/blocked states — GATE_FAILED and REJECTED — have retry paths back into the flow. Let us walk through each state.

REGISTERED → PAN_ENTERED → DIGILOCKER_PENDING → FILLING → GATE_CHECK → e_SIGNED → UNDER_REVIEW → APPROVED → REGISTERING → ACTIVE

Terminal/blocked states: GATE_FAILED (any blocking check fails), REJECTED (admin rejection)

The table below is the definitive reference for every status transition. Each row tells you exactly what event causes an application to move from one state to another.

FromToTrigger
REGISTEREDMobile OTP (One-Time Password) verified (Screen 1 complete)
REGISTEREDPAN_ENTEREDPAN (Permanent Account Number) + DOB (Date of Birth) submitted (Screen 2), async checks fire
PAN_ENTEREDDIGILOCKER_PENDINGRedirected to DigiLocker (Government of India’s digital document platform) (Screen 3)
DIGILOCKER_PENDINGFILLINGDigiLocker consent complete, data harvested
DIGILOCKER_PENDINGPAN_ENTEREDDigiLocker cancelled (retry)
FILLINGGATE_CHECKScreen 8 declarations submitted
GATE_CHECKe_SIGNEDGate passed + eSign (electronic signature via Aadhaar OTP) complete (Screen 9)
GATE_CHECKGATE_FAILEDAny blocking check failed
GATE_FAILEDFILLINGUser corrects issue + retries
e_SIGNEDUNDER_REVIEWAuto — enters maker-checker queue
UNDER_REVIEWAPPROVEDChecker approval (after maker review)
UNDER_REVIEWREJECTEDChecker rejection
REJECTEDFILLINGUser resubmits with corrections
APPROVEDREGISTERINGBatch pipelines fire (KRA, CKYC, UCC, BO)
REGISTERINGACTIVEKRA Registered + UCC Approved + BO Active

Each status belongs to one of four phases. Knowing the phase helps you quickly understand where in the overall pipeline an application currently sits.

StatusPhaseDescription
REGISTEREDUser JourneyMobile verified, PAN not yet entered
PAN_ENTEREDUser JourneyAsync checks (PAN, KRA, CKYC, AML) in flight
DIGILOCKER_PENDINGUser JourneyWaiting for DigiLocker consent redirect
FILLINGUser JourneyUser completing Screens 4-8
GATE_CHECKUser JourneyBlocking gate evaluation (Screen 8)
GATE_FAILEDUser JourneyA blocking check failed — user must fix
e_SIGNEDSubmittedAadhaar OTP e-Sign complete
UNDER_REVIEWAdminIn maker-checker queue
APPROVEDAdminChecker signed off
REJECTEDAdminChecker rejected
REGISTERINGBatchAgency pipelines running (KRA/CKYC/UCC/BO)
ACTIVECompleteAll gates passed — can trade

The blocking gate at Screen 8 is the most common point where applications get stuck. The table below shows each check and what the system requires before allowing the application to proceed to eSign.

The gate evaluates these checks before allowing e-Sign:

CheckRequired StatusSource
PAN verificationStatus = E (valid)Decentro
PAN-Aadhaar linkageLinkedDecentro
AML (Anti-Money Laundering) / PEP (Politically Exposed Person) screeningCompleted (any result)TrackWizz
Bank verificationPenny drop completeDecentro
DigiLocker consentData harvestedDigiLocker

If any check hasn’t completed (timeout/error), it blocks with a specific message telling the user what needs resolution.