DLT Registration Guide: Principal Entity, Header & Content Template

Every legitimate commercial or transactional SMS sent in India has to trace back to three things registered on a telecom operator's DLT (Distributed Ledger Technology) platform: a Principal Entity, a Header, and a Content Template. Here's how the three fit together and what to register, in order.

1. Register as a Principal Entity (PE)

A Principal Entity is the business or organisation sending the messages — a bank, an e-commerce platform, a hospital, a SaaS product. Registration happens on any one telecom operator's DLT portal (Airtel, Jio, Vi and BSNL each run one; registering with one operator is generally enough since the DLT ecosystem is interconnected). You'll typically submit company KYC documents (PAN, GST/CIN, authorised signatory details) for verification. Once approved, you receive a PE ID — a unique identifier for your business across the entire DLT ecosystem, not just that one operator.

2. Register a Header (Sender ID)

A Header — commonly called a Sender ID — is the short name recipients see instead of a phone number (e.g. AXBANK). Headers are typically 6 characters and must be registered under the correct consent category: Transactional, Service (Implicit/Explicit), Promotional, or Government. Since 6 May 2025, operators automatically append a one-letter category suffix to every header at delivery time — -T for transactional, -S for service, -P for promotional, -G for government — so recipients can see at a glance what kind of message they're getting. You don't set this suffix yourself; it's applied based on which category your content template is registered under.

3. Register a Content Template

The Content Template is the exact message you intend to send, with variable portions marked out — for example Dear [VARIABLE], your OTP is [VARIABLE]. or, under the current pre-tagging rules, Dear #alphanumeric#, your OTP is #numeric#. You submit this to a content template registrar (part of the operator's DLT platform); it's typically reviewed and approved or rejected within about two working days. Once approved, it gets a Content Template ID. See the variable pre-tagging guide for the current rules on which variable tags are accepted.

4. Send messages with PE ID, Header and Content Template ID

Your SMS gateway/API payload has to carry all three identifiers alongside the message text: the PE ID, the Header (Sender ID) used, and the Content Template ID the outgoing text is supposed to match. The operator's DLT scrubber checks that the message text structurally matches the registered template for that Content Template ID, that the Header belongs to your PE, and that variable values match their declared types — and only then delivers the message. A mismatch on any of those checks is the most common reason a perfectly well-intentioned transactional SMS silently fails to arrive.

Common rejection reasons

In practice, most rejections trace back to one of: the live message text no longer matching the registered template word-for-word (a copywriter tweaked the wording after registration), untyped or wrong-typed variables under the current pre-tagging rules, a URL or callback number that isn't on the registered CTA whitelist, or a Header/PE ID/Content Template ID mismatch in the API payload itself. The template validator on this site catches the first two before you ever send a message.

Check your template before you register — or before you send

Paste your registered template and the exact message text into the validator to confirm they still match, and to check SMS encoding and segment count. Open the validator →

Need to see the delivered SMS on a real number?

For QA or demos, you can receive the test message on a free temporary Indian number instead of a personal one. Receive SMS online at receive-smss.live →