Skip to main content

Matter's Distributed Compliance Ledger (DCL): The Source of Truth for Device Attestation

Abu Abu 7 min read

A device is only as real as the record that says it’s certified. We’ve watched devices fail onboarding because the Distributed Compliance Ledger (DCL) said nothing about them. The DCL is that record - a permissioned blockchain holding every product’s certification status, every vendor’s PAA root certificates, and every compliance record. Get it wrong and a commissioner can’t tell your certified product from a clone.

What problem does the DCL solve?

Matter devices join ecosystems run by Apple, Google, Amazon, and Samsung. No single company owns the certification authority. A central database run by one entity would be a single point of failure, a single point of censorship, and a trust bottleneck. The DCL solves all three:

Problem DCL solution
Single point of failure Distributed across validator nodes run by Alliance member companies globally (10 validators on mainnet as of mid-2026)
Single point of censorship Byzantine Fault Tolerant (BFT) consensus - no single node can block a transaction; safety holds as long as fewer than one-third of validators are malicious
Trust bottleneck Permissionless reads, permissioned writes - anyone can verify, only authorized roles can publish

The DCL is the canonical record of which devices are certified, which PAA certificates are trusted, and which certifications have been revoked. Commissioner tooling pulls its PAA roots from the DCL before commissioning (see how attestation actually works ).

Why a blockchain?

The DCL is built on Cosmos SDK and CometBFT (Tendermint) . It’s not a cryptocurrency - no token, no mining, no gas fees. Blockchain gives it three specific properties:

Immutability. Once a block commits, it can’t be altered. Each block hashes the previous one. Tamper with a record and every block after it breaks, so tampering is cryptographically detectable.

Byzantine Fault Tolerance. Safety holds as long as fewer than one-third of validators are Byzantine; liveness needs more than two-thirds online. Consensus is CometBFT (Tendermint) BFT. Proof-of-Authority governs which nodes validate - trustee-approved Alliance members - but the consensus algorithm itself is BFT, not PoA.

Decentralized verification. Any node can independently verify the entire ledger state. No trust in a central server required.

Validator Nodes
(Alliance members)

CometBFT BFT consensus
(>2/3 validators)

Immutable ledger
(blockchain)

Observer Nodes
(public reads)

Commissioner
(Apple, Google, Alexa)

What the DCL stores

Four categories of records:

1. Vendor records

Each Alliance member gets a Vendor account: Vendor ID (VID), company name, contact info. The VID is the same identifier stamped into every DAC your devices carry.

2. PAA root certificates

Product Attestation Authority (PAA) certificates are the trust roots for device attestation. Before a commissioner can verify a device’s DAC chain (PAA -> PAI -> DAC), it has to trust the PAA. PAA roots are proposed by the Alliance’s Trustee and approved by the other DCL Trustees - that’s how they enter the trust store commissioners validate against (matter-handbook DCL guide ).

This is why the DCL matters for commissioning. If your PAA isn’t approved and listed, no trusted commissioner validates your DAC chain. Your device fails attestation. Period.

3. Product models and versions

Each product entry includes Model, Model-Version, software version, firmware information, and OTA update metadata. Commissioners use this to check that the VID/PID in the device’s DAC matches a certified product in the DCL.

4. Certification status

After certification passes, the CSA Certification Center writes the Certification Declaration (CD) reference into the DCL: certification ID, date, compliance status. If a certification is revoked, the status updates here, and commissioners see it on the next attestation check.

Vendor

Writes VID, model,
version info

Proposes PAA
(trustee-approved)

DCL Ledger

Certification
Center

Writes cert.
status

Reads PAA certs,
VID/PID, status

Commissioner
during attestation

How the DCL fits into device attestation

Device attestation is the cryptographic handshake that proves a Matter device is genuine and certified. The DCL underpins three checks:

Sends DAC + PAI + CD

PAA roots

All pass

Any fail

Matter Device

Commissioner

DCL

1. Trust PAA
(local store)

2. Verify chain
PAA -> PAI -> DAC,
VID/PID match

3. Verify CD
(CSA signature, VID/PID)

Chain check

Device
onboarded

Device
rejected

Step 1 - Trust the PAA. Commissioner tooling pulls approved PAA roots from the DCL into a local trust store - the Matter SDK ships a script for exactly this (credentials/fetch_paa_certs_from_dcl.py ). At commission time the commissioner validates the device’s chain against that local store; it doesn’t query the ledger live on every onboarding.

Step 2 - Verify the chain. The commissioner checks that the device’s PAI was signed by a trusted PAA and the DAC by that PAI, and cross-checks the VID/PID in the DAC subject against the CD’s dacOriginVendorId/dacOriginProductId and the Basic Information cluster. A VID that was never registered in the DCL means no trusted PAA ever signed the chain.

Step 3 - Verify the CD. The commissioner cryptographically verifies the Certification Declaration - signed by the CSA Certification Center, binding VID/PID, certificate ID, and (since Matter 1.1) the list of authorized PAAs. Certification status, including revocation, is what the CSA records in the DCL; a revoked certification is visible to ecosystems that check the ledger.

Node types and roles

The DCL network has a defined set of roles:

Role Permissions
Trustee Approve/reject new PAA certificates, disable validator nodes, approve other roles
Node Admin Instantiate and manage a single validator node
Vendor Write vendor info, product models, and software versions to ledger
Vendor Admin Add and update vendor account information
Certification Center Submit, update, or revoke certification status of products

Three node types exist (plus a Light Client Proxy and Seed node type):

  • Validator Nodes (VN) - participate in BFT consensus, run by Alliance member companies, write transactions.
  • Sentry Nodes (SN) - wrap validators, provide DDoS protection and access control, don’t participate in consensus.
  • Observer Nodes (ON) - serve public reads and authenticated writes; the entry point for commissioners and client apps.

For manufacturers, the practical interface is the DCL WebUI (browser-based vendor/product management) or the dcld CLI for automation.

Main-Net vs Test-Net

Main-Net. The production ledger. Real products, real certification data. VID, model, and version entries must be complete before CSA certifies your product.

Test-Net. A parallel network for development. Validate your vendor account, product models, and PAA submissions here before touching Main-Net. Identical API and tooling.

What manufacturers must do

Before shipping:

  1. Create a Vendor account. Request a Vendor role through the CSA for write access to vendor and product records.
  2. Add your VID and company info. Register your VID - the same one that appears in every DAC your factory provisions.
  3. Add product models and versions. List each Model and Model-Version that will ship. The VID/PID in your DAC must match a DCL entry.
  4. Submit PAA certificates. Running your own PAA? Propose it; Trustees must approve. Using a third-party PAA (recommended for most)? Confirm it’s already listed.
  5. Complete certification. After certification passes, the CSA Certification Center writes your status to the ledger. Now it’s publicly verifiable.
  6. Update on firmware changes. Ship a new certified firmware version, update the Model-Version entry. Commissioners check this field; a version not in the DCL can fail attestation depending on ecosystem policy.

What happens if you skip the DCL

Your device fails commissioning. Valid DAC chain, valid CD, passed certification - none of it matters if your PAA was never approved and listed. The DCL is how the ecosystem decides which PAA roots to trust at all.

Ecosystems block onboarding. Apple, Google, and Amazon commissioners all validate against PAA roots published in the DCL. No listing, no trust, no fallback - the DCL is the authoritative registry.

Certification is not complete. CSA doesn’t issue a Certification Declaration until your product records exist in the DCL and match your application. The DCL listing is a prerequisite, not an afterthought.

DCL and the DAC provisioning pipeline

The DCL is the trust anchor for the whole PKI chain in the DAC provisioning pipeline . Every certificate - PAA, PAI, DAC - is only as trustworthy as the commissioner’s ability to verify it against the DCL.

The sequence for a production run:

1. DCL Setup
VID, models, PAA

2. DAC Provisioning
inject PAA→PAI→DAC

3. Certification
lab testing

4. DCL Publish
CSA writes status

5. Ship
devices verifiable

Get the DCL entries wrong and devices fail end-of-line testing . Get them right and every commissioner on the planet can verify your device without you running a single server.