Summary: On-Chain Compliance & CIP-113 KYC Standard
In this Developers Office Hour, Thomas Kammerlocher, Senior Full-Stack Developer at the Cardano Foundation, breaks down the CIP-113 KYC substandard and its practical implementation for programmable tokens on Cardano.
The Problem: Permissionless Native Assets
Cardano’s native tokens are first-class citizens and function as bearer instruments, meaning anyone holding them can transfer them freely without restrictions. While this is excellent for decentralization, regulated finance—such as stablecoins and tokenized real-world assets—requires strict adherence to jurisdictional laws like Know Your Customer (KYC) and Anti-Money Laundering (AML) frameworks.
The Solution: CIP-113 and the Global State
CIP-113 introduces a smart contract registry that applies programmable rules to minting, burning, and transferring tokens via the “withdraw zero trick”. When an issuer creates a token, they also mint a “Global State” using a one-shot policy. This Global State holds the token’s security configurations and a list of “trusted entities” (delegated providers) authorized to manage the KYC process.
Lean On-Chain Verification
To handle complex international legal frameworks efficiently, the actual KYC verification happens off-chain. A user presents their identity, such as a verifiable credential via the Veridian app, to the trusted entity. If verified, the entity generates a signed payload containing the user’s public key hash, their specific role, and an expiration timestamp. The on-chain smart contract then simply extracts this signature from the redeemer and checks if it matches an authorized entity listed in the Global State.
Receiver Verification via Merkle Trees
Only verifying the sender is not enough, as sending compliant tokens to a sanctioned or non-KYC’d address would result in locked, permanently unusable funds. To solve this, the system implements robust receiver verification. Trusted entities maintain a Merkle tree of approved users. During a transfer, the receiver must provide a simple membership proof showing they exist in this Merkle tree, guaranteeing fully compliant asset flows on both sides of the transaction.
Ecosystem Adoption and Banking Standards
The CIP-113 ecosystem is already advancing rapidly with real-world applications. Fluid Tokens, for example, is leading the development of a robust substandard that complies with strict German and Swiss banking regulations. This advanced implementation includes scoped roles for power users, enabling features like deny lists, global transfer pauses, and regulatory token caps directly on-chain.
Top Five Q&A (FAQ) about the CIP-113 KYC Standard
Question 1: What core challenge does CIP-113 address for Cardano?
Answer: Because Cardano native tokens are freely transferable bearer instruments, they cannot natively comply with traditional banking laws. CIP-113 adds a programmable smart contract layer that allows institutions to enforce regulatory rules like KYC and AML, which is crucial for adopting real-world assets and institutional stablecoins.
Question 2: What is the “Global State” in the context of CIP-113?
Answer: The Global State is a unique, one-shot UTXO minted alongside the programmable token. It acts as an on-chain configuration file, prominently storing a list of public keys for “trusted entities” that the token issuer has authorized to handle the off-chain KYC verification process.
Question 3: How does the KYC verification process remain lean on-chain?
Answer: To maintain high flexibility across different global jurisdictions, the heavy lifting of KYC is done off-chain. Users prove their identity to a trusted entity (e.g., using Veridian verifiable credentials), and the entity provides a cryptographically signed proof. The Cardano smart contract then simply validates this signature during the transaction flow.
Question 4: Why does the system also require receiver verification?
Answer: If compliant tokens are sent to a non-KYC’d or legally sanctioned wallet, those funds would effectively become locked and unusable for the recipient. By utilizing a Merkle tree of approved users, the smart contract requires receivers to provide a membership proof, ensuring tokens only flow between fully verified participants.
Question 5: Are there already implementations that align with strict banking standards?
Answer: Yes, ecosystem projects like Fluid Tokens are already building advanced CIP-113 substandards. Their implementation successfully models German and Swiss banking regulations by introducing scoped power users capable of managing deny lists, executing global pauses, and enforcing strict minting caps.