Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Indy AnonCreds

Indy AnonCreds is a credential format and protocol suite for decentralized identity that enables selective disclosure and revocation using zero-knowledge proofs.
Chainscore © 2026
definition
DECENTRALIZED IDENTITY PROTOCOL

What is Indy AnonCreds?

A foundational protocol for issuing, holding, and verifying privacy-preserving digital credentials, originally developed for the Hyperledger Indy distributed ledger.

Indy AnonCreds (Anonymous Credentials) is a W3C Verifiable Credentials-compatible data format and protocol that enables cryptographic, privacy-preserving proofs of identity attributes. It allows a holder to prove they possess a credential from a trusted issuer—such as a university degree or government ID—without revealing the credential itself or any unnecessary personal data. This is achieved through zero-knowledge proofs (ZKPs), specifically CL signatures, which enable selective disclosure and predicate proofs (e.g., proving one is over 21 without revealing their birth date).

The protocol's architecture is built around three core roles: the issuer (who creates and signs credentials), the holder (who receives and stores credentials in their digital wallet), and the verifier (who requests and cryptographically checks proofs). Credentials are issued against a DID (Decentralized Identifier) stored on a verifiable data registry, typically a permissioned blockchain like the Indy ledger. This creates a trust model where verifiers can cryptographically confirm the issuer's DID and credential schema without needing to query a central database, enhancing both privacy and decentralization.

A key innovation of AnonCreds is linkability control. Holders can generate unique, unlinkable correlation identifiers for each interaction, preventing verifiers from tracking their activity across different services. This stands in contrast to some public credential systems. The original Indy AnonCreds 1.0 uses CL signatures and is implemented in the Hyperledger Aries framework. AnonCreds 2.0 and the newer AnonCreds 3.0 specification extend this model to work on any decentralized web ledger (like cheqd or Ethereum) by utilizing W3C DID Core and BBS+ signatures, which support more complex zero-knowledge proof capabilities.

The primary use cases for Indy AnonCreds are in self-sovereign identity (SSI) ecosystems requiring high-assurance privacy. This includes enterprise access control, where employees prove employment status; educational credential verification, where graduates share diplomas; and regulated industries like finance (KYC) and healthcare, where proving compliance or eligibility without exposing full records is critical. Its design directly addresses the principles of data minimization and user consent central to modern data protection regulations like GDPR.

While powerful, AnonCreds presents implementation complexities, such as managing revocation registries (to invalidate credentials without compromising privacy) and the computational overhead of ZKPs. It is often compared to other credential formats like W3C JSON Web Tokens (JWTs) or SD-JWT-VCs, which are simpler but offer less sophisticated privacy guarantees. The ongoing development of AnonCreds 3.0 aims to improve interoperability and performance, solidifying its role as a core cryptographic trust layer for decentralized identity networks.

etymology
TERM ORIGIN

Etymology and Origin

The name "AnonCreds" is a portmanteau that directly reflects its core technical architecture and purpose within the Hyperledger Indy ecosystem.

AnonCreds is a compound term derived from Anonymous Credentials, a cryptographic protocol standard developed for the Hyperledger Indy distributed ledger. The name was coined by the project's architects to succinctly describe a system that enables the issuance, holding, and verification of verifiable credentials with strong privacy guarantees. Unlike simpler attestations, AnonCreds allows a holder to prove predicates about their credentials (e.g., "I am over 21") without revealing the credential itself or creating a correlatable identifier, hence the emphasis on anonymity.

The protocol's origins are deeply tied to academic research into zero-knowledge proofs and attribute-based credentials, notably the Idemix (Identity Mixer) system developed by IBM Research and the U-Prove technology from Microsoft. Hyperledger Indy's implementation synthesized these concepts into a practical, ledger-anchored system. The "Creds" portion of the name signifies its focus on a specific, reusable data format—the W3C Verifiable Credentials data model—making it a credentialing system first and foremost.

As a core component of the Self-Sovereign Identity (SSI) stack, AnonCreds was designed to solve the fundamental privacy shortcomings of traditional PKI and blockchain-based identity systems. Its development was driven by the need for selective disclosure, unlinkability, and minimal disclosure, principles that are baked into its name. The term has become a proper noun within the SSI lexicon, specifically referring to the ZKP-based credential implementation native to the Indy ecosystem, distinguishing it from other signature-based approaches like JSON Web Tokens (JWT) or BBS+ signatures used in other verifiable credential systems.

key-features
INDY ANONCREDS

Key Features

AnonCreds is a decentralized credential specification built on Hyperledger Indy, enabling the issuance, holding, and verification of verifiable credentials with strong privacy guarantees.

01

Zero-Knowledge Proofs

AnonCreds uses zero-knowledge proofs (ZKPs) to enable selective disclosure. A holder can prove a claim (e.g., 'I am over 21') without revealing the underlying credential data or identifier, minimizing data exposure and enhancing privacy.

02

Decentralized Identifiers (DIDs)

All parties (issuer, holder, verifier) are identified using self-sovereign Decentralized Identifiers (DIDs) anchored to a distributed ledger. This eliminates reliance on centralized identity providers and enables verifiable, persistent identities without correlation.

03

Schema & Credential Definitions

  • Schema: Defines the structure of a credential (attribute names and types).
  • Credential Definition: Published by an issuer to the ledger, binding a schema to a specific cryptographic key pair. This allows any verifier to check the credential's cryptographic integrity and issuer authenticity.
04

Revocation Registries

Supports credential revocation without revealing the holder's identity. Issuers publish cryptographic revocation registries (e.g., accumulators) to the ledger. Verifiers can check a credential's revocation status via a zero-knowledge proof, ensuring the check is privacy-preserving.

05

Correlation Resistance

A core privacy feature. Credential presentations are unlinkable across different verifiers and sessions. This is achieved through the use of unique, one-time link secrets and blinded issuer signatures, preventing tracking of a user's activities.

06

W3C Compatibility & AnonCreds v3

The newer AnonCreds v3 specification aligns with W3C Verifiable Credentials Data Model standards while preserving its core privacy features. This enables broader interoperability with other VC ecosystems and credential formats like JSON-LD.

how-it-works
MECHANISM

How Indy AnonCreds Works

Indy AnonCreds is a decentralized credential system that enables the issuance, holding, and verification of cryptographically secure, privacy-preserving credentials without a central authority.

Indy AnonCreds, short for Anonymous Credentials, is a zero-knowledge proof (ZKP)-based credential system originally developed for the Hyperledger Indy distributed ledger. Its core innovation is allowing a user to prove specific claims from a credential—like being over 21—without revealing the entire credential or any other identifying information. This is achieved through the use of Camenisch-Lysyanskaya (CL) signatures, a cryptographic scheme that enables selective disclosure and predicate proofs. The system operates on a public, permissioned blockchain (the Indy ledger) which stores only the essential cryptographic anchors—schemas, credential definitions, and revocation registries—needed for trust and verification, not the personal data itself.

The workflow involves three key roles: the issuer, the holder, and the verifier. An issuer (e.g., a university) creates a credential schema defining the attribute names (e.g., name, degree, graduation_date) and publishes a corresponding credential definition to the ledger, which contains its public key. When issuing a credential to a holder, the issuer creates a signed credential object containing the attribute values and a cryptographic link to the credential definition. The holder stores this credential securely in their digital wallet. Crucially, the holder can generate a presentation or proof for a verifier (e.g., an employer) that discloses only the required attributes or proves statements about them (e.g., degree == "Bachelor of Science"), while the verifier uses the ledger to check the issuer's public key and credential status.

A critical feature is revocation. Issuers can revoke credentials by updating a revocation registry on the ledger. During verification, the holder must prove non-revocation as part of their zero-knowledge proof, typically by providing a cryptographic witness that their credential is not on the current revocation list. This allows for credential lifecycle management without compromising the holder's privacy. The entire protocol ensures data minimization and unlinkability, meaning multiple presentations of the same credential cannot be correlated by different verifiers, providing strong protection against tracking and profiling.

The architecture is ledger-agnostic in its later specifications (AnonCreds 1.0), allowing the core cryptographic protocols to be implemented on other verifiable data registries beyond Hyperledger Indy. This has led to its adoption in ecosystems like the Cheqd network and its standardization work within the Decentralized Identity Foundation (DIF). The system's design directly enables self-sovereign identity (SSI) principles, giving individuals control over their verifiable data and facilitating trusted digital interactions without reliance on centralized identity providers.

core-components
INDY ANONCREDS

Core Technical Components

Indy AnonCreds is a decentralized credential system built on Hyperledger Indy, enabling the issuance, holding, and verification of verifiable credentials with strong privacy guarantees.

PROTOCOL COMPARISON

AnonCreds vs. W3C Verifiable Credentials

A technical comparison of two major credential formats for decentralized identity, highlighting core architectural and cryptographic differences.

Feature / CharacteristicIndy AnonCreds (Legacy)W3C Verifiable Credentials (VCs)AnonCreds on W3C VCs (AnonCreds 2.0)

Core Data Model

Proprietary JSON-based format

Standardized W3C JSON-LD or JWT format

W3C VC Data Model with ZKP extensions

Cryptographic Proofs

CL-Signatures (Camenisch-Lysyanskaya)

Linked Data Proofs (e.g., Ed25519Signature2020)

BBS+ Signatures (Blind Boneh-Shacham-Shacham)

Selective Disclosure

Zero-Knowledge Proofs

Schema & Credential Definition

On-ledger (Hyperledger Indy)

Off-ledger, referenced by URL

Off-ledger, referenced by URL or on-ledger

Revocation Registry

On-ledger, uses accumulators

Status List (2021) or other methods

Status List (2021) or other methods

Primary Standardization Body

Hyperledger Indy Community

World Wide Web Consortium (W3C)

Combines W3C VC with AnonCreds specs

Interoperability Focus

Hyperledger Indy/Aries ecosystem

Broad web and cross-platform

Bridge between AnonCreds features and W3C ecosystem

examples-ecosystem
ANONCREDS IN ACTION

Examples and Ecosystem Usage

Indy AnonCreds is a mature credential system powering real-world identity networks. These examples highlight its core use cases and the projects building on its foundation.

05

Healthcare Credentialing

Used in systems like Evernym's CareCred and other pilot programs to issue verifiable professional licenses and patient health credentials. This allows:

  • Medical professionals to prove their licensure instantly.
  • Patients to share specific health data (e.g., vaccination status) with minimal disclosure.
  • Cryptographic non-correlation, ensuring health data presentations cannot be linked back to the original issuance event, enhancing privacy.
security-considerations
INDY ANONCREDS

Security and Privacy Considerations

Indy AnonCreds is a decentralized credential system built on Hyperledger Indy, enabling verifiable credentials with advanced privacy protections. This section details its core security mechanisms.

01

Zero-Knowledge Proofs (ZKPs)

AnonCreds uses zero-knowledge proofs to enable selective disclosure. A holder can prove a claim (e.g., 'age > 21') without revealing the underlying credential data or identifier. This is implemented via Camenisch-Lysyanskaya (CL) signatures, which allow for proving predicates about attributes while keeping the attributes themselves hidden.

02

Decentralized Identifiers (DIDs)

Identifiers are based on W3C Decentralized Identifiers (DIDs) anchored to a distributed ledger. This eliminates reliance on a central issuing authority for identity. DIDs are cryptographically verifiable, ensuring the issuer of a credential is authentic and cannot be impersonated without control of their private keys.

03

Correlation Resistance

The system is designed to prevent unwanted correlation across different interactions. Key features include:

  • Unlinkable Credential Presentations: Each presentation can use a unique, one-time blinded link secret, preventing verifiers from linking multiple presentations back to the same holder.
  • Pairwise Pseudonymous DIDs: Holders use unique DIDs for each relationship, avoiding a single identifier that could be tracked across services.
04

Credential Revocation

AnonCreds supports privacy-preserving revocation using cryptographic accumulators (like a RSA accumulator or CL accumulator). The revocation status is published to the ledger without revealing which specific credential identifier was revoked. Verifiers can check if a credential is in the valid set without learning anything about other revoked credentials.

05

Schema & Credential Definition

Security is enforced through on-ledger schemas (defining attribute names and types) and credential definitions (issuer's public key for a specific schema). This creates a verifiable chain of trust. Any credential presented can be cryptographically traced back to its published definition and schema, preventing tampering with attribute semantics or issuer keys.

06

Trust Model & Threat Considerations

While technically robust, security depends on the trust model.

  • Issuer Trust: Verifiers must trust the issuing authority's diligence (e.g., a DMV issuing driver's licenses).
  • Ledger Integrity: Assumes the underlying distributed ledger is secure against consensus attacks.
  • Holder Security: The holder's wallet must securely manage private keys and link secrets; compromise leads to full credential theft.
evolution-legacy
FOUNDATIONAL PROTOCOL

Evolution and the AnonCreds Legacy

This section traces the development of the original AnonCreds specification, its deep integration with the Hyperledger Indy ecosystem, and its lasting influence on modern verifiable credential architectures.

Indy AnonCreds refers to the original, canonical implementation of anonymous credentials developed for the Hyperledger Indy distributed ledger, establishing the core data model, cryptographic protocols, and revocation mechanisms that defined the AnonCreds standard. It is a W3C-CCG-registered credential format specifically designed for privacy-preserving, selective disclosure of attributes and unlinkable proofs across multiple interactions. The protocol leverages CL signatures (Camenisch-Lysyanskaya) and zero-knowledge proofs to enable a holder to cryptographically prove possession of credentials from one or more issuers without revealing the credential itself or creating correlatable transactions.

The architecture is intrinsically linked to the Indy ledger, which acts as a public utility for publishing DIDs, schema definitions, credential definitions, and revocation registries. This design means a verifier can independently check the credential's validity—issuer identity, schema structure, and revocation status—by querying the immutable ledger, without contacting the issuer directly. This decentralized trust model was a foundational innovation, moving away from centralized credential validators. However, this tight coupling also meant traditional AnonCreds were not natively portable to other blockchain networks or non-ledger environments.

The legacy of Indy AnonCreds is profound, serving as the practical blueprint for decentralized identity. Its concrete implementation solved real-world problems around interoperability (through standardized object types like cred_def_id), cryptographic agility, and privacy-by-design. The specific constructs it introduced—such as link secrets for credential binding, predicate proofs for proving attributes meet numerical thresholds (e.g., age >= 21), and non-correlation guarantees—became required reading for any subsequent credential system. Its limitations, particularly ledger dependency, directly inspired the development of AnonCreds v2 and the W3C Verifiable Credentials Data Model.

Today, while AnonCreds v2 (or AnonCreds on JSON-LD) evolves the standard to be ledger-agnostic and more flexible, the original Indy AnonCreds remains in widespread production use. Major ecosystems like the European Blockchain Services Infrastructure (EBSI) and numerous SSI deployments are built upon its proven, battle-tested codebase. Understanding Indy AnonCreds is essential for grasping the historical constraints, design trade-offs, and cryptographic primitives that continue to underpin the field of verifiable credentials and self-sovereign identity (SSI).

INDY ANONCREDS

Frequently Asked Questions

AnonCreds is a decentralized credential system built on Hyperledger Indy, enabling privacy-preserving verifiable credentials. These questions address its core concepts, use cases, and technical implementation.

Indy AnonCreds are a specific implementation of W3C Verifiable Credentials built on the Hyperledger Indy blockchain, designed for privacy-preserving, cryptographic proof of attributes. They work by separating the roles of Issuer, Holder, and Verifier. An issuer creates a credential schema and definition on the ledger, then issues a signed credential to a holder's wallet. The holder can later generate a zero-knowledge proof (ZKP) from this credential, selectively disclosing only the necessary attributes (e.g., proving they are over 21 without revealing their birthdate) to a verifier, who checks the proof against the public definitions on the ledger.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
Indy AnonCreds: W3C-Compatible Credential Format | ChainScore Glossary