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

AnonCreds

AnonCreds is a credential format and protocol suite for decentralized identity that uses CL signatures for zero-knowledge proofs and linkable secrets for credential binding.
Chainscore © 2026
definition
VERIFIABLE CREDENTIALS PROTOCOL

What is AnonCreds?

AnonCreds is a decentralized, open-source protocol for issuing, holding, and verifying privacy-preserving digital credentials, enabling selective disclosure of attributes.

AnonCreds (Anonymous Credentials) is a W3C Verifiable Credentials-compatible specification that enables the creation of zero-knowledge proofs for credential attributes. It allows a holder to cryptographically prove they possess a valid credential from a trusted issuer—such as a university degree or professional license—without revealing the credential itself or any unnecessary personal data. This selective disclosure is a core privacy feature, preventing correlation and tracking across different verification events. The protocol is built upon CL-signatures (Camenisch-Lysyanskaya), a form of blind signature that underpins its privacy guarantees.

The AnonCreds ecosystem operates on three primary roles: the Issuer (who creates and signs the credential), the Holder (who receives and stores the credential in a digital wallet), and the Verifier (who requests and checks proof from the holder). Credentials and their associated schemas (defining the data structure) and credential definitions (containing the issuer's public key) are typically written to a verifiable data registry, such as a Hyperledger Indy distributed ledger. This decentralized architecture ensures no single entity controls the credential infrastructure, enhancing security and interoperability.

A key technical innovation of AnonCreds is its support for predicate proofs and non-revocation proofs. A holder can prove that a number in their credential (e.g., their age) satisfies a condition like "over 21" without revealing the exact value. Simultaneously, a verifier can request a proof that the credential has not been revoked by the issuer, which is checked against a revocation registry on the ledger. This combination allows for complex, real-world verification scenarios while maintaining user privacy and issuer control.

Originally developed for the Hyperledger Indy project, AnonCreds has evolved into a W3C Community Group standard, promoting wider adoption beyond its initial SSI (Self-Sovereign Identity) context. Its JSON-LD-based data model ensures compatibility with the broader verifiable credentials ecosystem. Practical applications range from KYC/AML compliance in finance, where only necessary information is shared, to educational credentialing and employment background checks, providing a more secure and private alternative to traditional paper-based or centralized digital systems.

When compared to other credential formats like W3C Verifiable Credentials with Data Integrity Proofs (e.g., using JSON Web Tokens), AnonCreds is distinguished by its inherent support for zero-knowledge proofs and link-secret-based holder binding. The holder uses a master secret to generate proofs, ensuring credentials cannot be used by anyone else even if the data is copied. This makes AnonCreds particularly suited for high-assurance, privacy-sensitive use cases where minimizing data exposure and preventing credential correlation are paramount requirements.

etymology
TERM ORIGINS

Etymology and Origin

The term **AnonCreds** is a portmanteau that directly reflects the core cryptographic principles of the technology it describes.

AnonCreds is a compound word formed from Anon (short for anonymous) and Creds (short for credentials). This name was chosen to succinctly describe a specific type of verifiable credential system built on zero-knowledge proofs (ZKPs). The primary goal of this system is to allow an individual to prove a claim—such as being over 18 or holding a professional license—without revealing the underlying credential data or their identity, hence providing anonymous attestation.

The protocol originated from academic research into attribute-based credentials and anonymous credentials, most notably the work of cryptographers like Jan Camenisch and Anna Lysyanskaya. Their CL-signature scheme forms a foundational cryptographic primitive for AnonCreds. The technology was first implemented in a production blockchain context by the Hyperledger Indy project, which established it as a core component of its decentralized identity stack, designed for privacy-preserving interactions.

The evolution of AnonCreds is closely tied to the development of Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs) standards at the World Wide Web Consortium (W3C). While the W3C VC Data Model provides a general framework, AnonCreds specifies a particular cryptographic suite and data format optimized for selective disclosure and issuer correlation resistance. This makes it a specific implementation choice within the broader verifiable credentials ecosystem.

A key differentiator in its origin story is its link to the Ursa cryptographic library. Hyperledger Ursa was created to provide a shared, secure repository of cryptographic implementations for distributed ledgers, and the AnonCreds cryptographic operations are implemented within this library. This separation ensures that the complex ZKP math is consistently and securely applied across different platforms adopting the standard.

Today, the term AnonCreds has transcended its initial Hyperledger Indy association. Managed by the AnonCreds Working Group under the Decentralized Identity Foundation (DIF), it is being standardized as a credential format interoperable across various blockchains and distributed ledgers. This move from a project-specific tool to a formal, community-driven standard underscores its recognized utility in achieving privacy-by-design in digital identity systems.

key-features
ANONCREDS

Key Features

AnonCreds is a decentralized identity credential system built on Hyperledger Indy, enabling privacy-preserving, verifiable credentials using zero-knowledge proofs.

01

Zero-Knowledge Proofs

The core privacy mechanism. AnonCreds uses CL-Signatures to allow credential holders to prove statements about their credentials (e.g., 'I am over 21') without revealing the credential itself or any other identifying data. This enables selective disclosure and minimizes data exposure.

02

Decentralized Identifiers (DIDs)

AnonCreds credentials are bound to Decentralized Identifiers (DIDs) stored on a distributed ledger (like the Indy ledger). This eliminates reliance on a central issuing authority, giving users control over their identity and enabling global, cryptographically verifiable credential resolution.

03

Credential Schema & Revocation

Issuers define the structure of a credential using a Credential Definition published to the ledger. A separate Revocation Registry allows issuers to revoke credentials without revealing which specific credential holder is affected, maintaining privacy even in revocation checks.

04

Interoperability (W3C VC-DM)

AnonCreds is a mature implementation aligned with the W3C Verifiable Credentials Data Model. It provides a mapping specification to convert AnonCreds data into the standard W3C VC JSON-LD format, ensuring compatibility with the broader SSI ecosystem.

05

Holder-Centric Model

Credentials are stored in a digital wallet controlled by the user (the holder). The holder acts as the intermediary between issuers and verifiers, deciding exactly what to share and with whom, enabling true self-sovereign identity (SSI).

06

Blinded Issuance

During credential issuance, the issuer does not see the link secret (a private key held by the user) used to create the credential. This prevents the issuer from correlating the issued credential with its later use, adding a strong layer of unlinkability.

how-it-works
MECHANISM

How AnonCreds Works

AnonCreds is a decentralized credential system enabling privacy-preserving, verifiable credentials using zero-knowledge proofs and public-key cryptography.

AnonCreds is a decentralized credential system that enables the issuance, holding, and verification of verifiable credentials while preserving user privacy. It leverages zero-knowledge proofs (ZKPs) and public-key cryptography to allow a credential holder to prove specific claims—like being over 18—without revealing the underlying credential data or their identity. This mechanism is built upon the Hyperledger Indy blockchain stack, which provides a public, permissioned ledger for storing decentralized identifiers (DIDs) and credential schemas, but not the private credential data itself.

The workflow involves three primary roles: the Issuer, the Holder, and the Verifier. An issuer, such as a university, creates a credential schema and definition, publishing their public key (from a cryptographic keypair) to a verifiable data registry like an Indy ledger. They then issue a signed credential to a holder. The holder stores this credential securely in their digital wallet. When a verifier, like an employer, requests proof of a claim, the holder generates a zero-knowledge proof derived from their credential. This proof cryptographically demonstrates the claim is valid and was signed by a trusted issuer, without exposing any extraneous personal data.

The core privacy technology is the CL signature scheme (Camenisch-Lysyanskaya), a type of blind signature that supports the creation of selective disclosure and predicate proofs. This allows for attribute-based credentials, where a single credential can contain multiple attributes. A holder can selectively disclose only the necessary attributes (e.g., "birth year > 2000") or prove predicates about hidden attributes (e.g., "age ≥ 21") using ZKPs. This prevents correlation between different presentations of the same credential, a critical feature for user anonymity across multiple interactions.

For verification, the verifier receives the holder's proof along with the relevant credential definition and issuer's public key from the ledger. The verifier's software cryptographically verifies the proof's validity against the public key and the stated policy. The entire process ensures data minimization and user sovereignty, as the holder controls their credentials and decides what to share. Unlike some systems, AnonCreds credentials are revocable; issuers can publish revocation registries on the ledger, allowing verifiers to check if a credential is still valid without learning the holder's identity.

AnonCreds is a foundational component of Self-Sovereign Identity (SSI) architectures. Its design is interoperable through the W3C Verifiable Credentials Data Model and is widely implemented in ecosystems like the Indy, Aries, and Ursa projects. A key differentiator is its reliance on a public permissioned ledger for trust anchors (DIDs and schemas), which avoids the need for direct issuer-verifier communication or centralized certificate authorities, establishing a decentralized trust model for digital credentials.

core-cryptographic-components
ANONCREDS

Core Cryptographic Components

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

01

What Are AnonCreds?

AnonCreds are a specific implementation of W3C Verifiable Credentials that use zero-knowledge proofs (ZKPs) and CL-signatures to allow selective disclosure. A holder can prove a claim (e.g., 'I am over 21') without revealing the underlying credential data, preserving privacy.

02

Core Architecture

The system is built on three key components:

  • Issuer: Creates and signs credentials, writing their schema and credential definition to a distributed ledger.
  • Holder: Stores credentials in a digital wallet and generates proofs from them.
  • Verifier: Requests specific claims and verifies the proofs against the public data on the ledger, without contacting the issuer.
03

Key Cryptographic Primitives

AnonCreds rely on advanced cryptography:

  • Camenisch-Lysyanskaya (CL) Signatures: Enable the creation of zero-knowledge proofs where the signature remains hidden.
  • Link Secrets: Unique, holder-generated secrets that bind credentials together without creating a correlatable identifier.
  • Blinded Issuance: Allows an issuer to sign a credential without seeing its attributes, enhancing privacy during the issuance process.
04

Selective Disclosure & Predicates

This is the core privacy feature. A holder can disclose only the necessary information:

  • Attribute Disclosure: 'My name is Alice.'
  • Predicate Proof: 'I am over 21' (proving age > 21 without revealing the exact birth date). This minimizes data exposure and prevents credential correlation across different verifications.
05

Role of the Distributed Ledger

Hyperledger Indy's ledger acts as a public, permissioned trust anchor. It stores only public data necessary for verification:

  • DIDs for issuers.
  • Schemas (structure of a credential).
  • Credential Definitions (the issuer's public key for a specific schema). Crucially, it does not store personal data or credentials, which remain off-ledger with the holder.
examples
ANONCREDS

Examples and Use Cases

AnonCreds is a W3C Verifiable Credentials standard for issuing, holding, and verifying zero-knowledge proofs of identity attributes. Its primary use cases center on privacy-preserving digital identity and selective disclosure.

01

University Diploma Verification

A university issues a verifiable credential containing a graduate's degree, major, and graduation date. The graduate can generate a zero-knowledge proof to prove they hold a valid Master's degree from that institution without revealing their student ID, GPA, or exact graduation year. This proof is used for job applications or professional licensing.

02

KYC/AML Compliance for DeFi

A regulated entity issues an AnonCreds credential attesting a user has passed Know Your Customer (KYC) checks. The user can then prove to a DeFi protocol that they are from a permitted jurisdiction and are over 18, without revealing their name, address, or date of birth. This enables privacy-preserving compliance and access to financial services.

03

Selective Disclosure for Healthcare

A patient holds a credential from their doctor with multiple attributes: name, date of birth, vaccination status, and blood type. To access a pharmacy loyalty program requiring proof of vaccination, the patient can generate a proof disclosing only their vaccination status, keeping all other personal health information private.

04

Corporate Access Credentials

An enterprise issues credentials to employees encoding their role, department, and security clearance. To access a physical building or a software repository, the employee proves they are a member of the Engineering department with Level 2 clearance, without disclosing their employee number or manager's identity. This minimizes data exposure in access logs.

06

Revocation with Privacy

AnonCreds supports credential revocation via cryptographic accumulators (like CL signatures). An issuer can revoke a credential by updating a public revocation registry. Verifiers can check this registry to confirm a credential is still valid, but the check is done in a zero-knowledge manner, preventing the verifier from linking the check to a specific credential or user.

PROTOCOL COMPARISON

AnonCreds vs. W3C Verifiable Credentials

A technical comparison of two leading credential data models and their associated cryptographic suites for decentralized identity.

FeatureAnonCreds (CL-Signatures)W3C VCs (Data Model)Notes / Common Ground

Core Data Model

JSON-based, but defined by Hyperledger Indy artifacts (Schema, Cred Def, Rev Reg)

JSON or JSON-LD, defined by W3C Recommendation

Both enable machine-readable, tamper-evident claims.

Primary Crypto Suite

CL Signatures (Camenisch-Lysyanskaya)

Linked Data Proofs (e.g., Ed25519Signature2020, BBS+)

W3C VC is crypto-agile; AnonCreds is a specific implementation.

Selective Disclosure

Via BBS+ signatures or ZKPs

AnonCreds uses CL signatures natively; W3C VC requires specific suites.

Revocation Mechanism

Cryptographic accumulators (Revocation Registry)

Status List (2021) or other VC-compatible methods

Different cryptographic approaches to a shared requirement.

Schema & Issuer Binding

Credential Definition publishes issuer's public key on ledger

Issuer's DID and verification method in the proof

Both bind credential validity to an issuer's cryptographic key.

Zero-Knowledge Proofs

Native support via CL signatures

Supported via specific suites (e.g., BBS+)

Enables predicate proofs (e.g., age > 21) without revealing data.

Primary Governance

Hyperledger Indy/Aries community

W3C Credentials Community Group

Underlying Identifier

DID:indy (ledger-specific)

Any W3C DID (did:key, did:web, etc.)

W3C VC is DID-method agnostic.

ecosystem-usage
ANONCREDS

Ecosystem and Adoption

AnonCreds is a decentralized identity credential format and protocol, originally developed for Hyperledger Indy, that enables the issuance, holding, and verification of verifiable credentials with strong privacy guarantees.

01

Core Privacy Mechanism

AnonCreds uses zero-knowledge proofs and CL signatures to enable selective disclosure. This allows a holder to prove specific claims (e.g., 'I am over 21') from a credential without revealing the entire document or any correlating identifiers, ensuring minimal data exposure.

02

Decentralized Identifiers (DIDs)

The protocol relies on W3C Decentralized Identifiers (DIDs) for issuers, holders, and verifiers. These DIDs are anchored to a distributed ledger (like Indy or other ledgers via the AnonCreds specification), providing a globally resolvable, non-correlatable foundation for trust without a central registry.

03

Schema and Credential Definition

Issuers publish two key artifacts to a ledger:

  • Schema: Defines the attribute names and types (e.g., name, birthdate).
  • Credential Definition: Contains the issuer's public key and references the schema, enabling cryptographic verification. This two-layer model separates data structure from issuing authority.
04

Revocation Registry

To support credential revocation, AnonCreds uses a cryptographic accumulator (a revocation registry) published to the ledger. Verifiers can check a zero-knowledge proof that a credential is not revoked, without learning which credential in the registry is being checked, preserving holder privacy.

06

Key Ecosystem Tools

Development and deployment are supported by several major tools and libraries:

  • Aries Framework (Go, .NET, JavaScript, Python): Agent frameworks for building AnonCreds-compatible wallets and agents.
  • indy-sdk / indy-vdr: Core libraries for interacting with Hyperledger Indy ledgers.
  • AnonCreds-rs: A Rust implementation for broader ledger compatibility beyond Indy.
security-considerations
ANONCREDS

Security and Privacy Considerations

AnonCreds is a decentralized, privacy-preserving credential system built on Hyperledger Indy, enabling selective disclosure and zero-knowledge proofs for verifiable credentials.

01

Zero-Knowledge Proofs (ZKPs)

AnonCreds uses zero-knowledge proofs to allow credential holders to prove they possess certain attributes without revealing the underlying data. This enables selective disclosure, such as proving you are over 21 without revealing your exact birth date. The system employs Camenisch-Lysyanskaya (CL) signatures, a cryptographic scheme that supports efficient ZKP generation for credential attributes.

02

Decentralized Identifiers (DIDs)

Identifiers in AnonCreds are based on Decentralized Identifiers (DIDs), which are stored on a distributed ledger (like the Indy ledger). This eliminates reliance on a central issuing authority for identity. DIDs provide a persistent, verifiable identifier that the holder controls, enhancing security by preventing issuer lock-in and enabling portability of credentials across systems.

03

Correlation Resistance

A core privacy feature is preventing the correlation of a user's activities across different interactions. AnonCreds achieves this through:

  • Unlinkable Credential Presentations: Each presentation of a credential can generate a unique, one-time proof.
  • Blinded Issuance: Credentials can be issued to a blinded identifier, preventing the issuer from linking the credential to its later use.
  • Pseudonymity: Users interact via different pairwise pseudonymous DIDs with different verifiers, making it difficult to build a composite profile.
04

Credential Revocation & Integrity

AnonCreds manages credential status without compromising privacy using a cryptographic accumulator (a revocation registry).

  • The issuer publishes a revocation registry to the ledger.
  • To prove a credential is still valid, the holder provides a non-revocation witness as part of the ZKP.
  • The verifier checks this witness against the public registry. This method allows for revocation checks without revealing which specific credential is being validated.
05

Schema & Credential Definition

Security is enforced through a structured, on-ledger publishing model.

  • Schema: Defines the attribute names for a credential (e.g., name, degree, date). Published by an issuer.
  • Credential Definition: Contains the public key used for issuing credentials under a specific schema and defines the revocation support. This binds cryptographic material to a schema, ensuring verifiers can cryptographically verify all credentials of that type.
06

Trust Model & Threat Considerations

AnonCreds operates on a public permissioned ledger model (Indy), which introduces specific trust assumptions.

  • Ledger Trust: Participants must trust the consensus of the Indy validator nodes.
  • Issuer Trust: Verifiers must trust the issuer's DID and credential definition on the ledger (trust over IP model).
  • Key Management: The holder's wallet must securely manage private keys for DIDs and credentials; loss means irrevocable loss of identity.
  • Metadata Leakage: While attribute values are hidden, the credential definition ID used in a proof can reveal the type of credential held.
ANONCREDS

Frequently Asked Questions

AnonCreds is a decentralized identity credential system built on Hyperledger Indy. These questions address its core concepts, technical implementation, and relationship to other standards.

AnonCreds are a decentralized credential system that enables selective disclosure and zero-knowledge proofs for identity verification. They work by issuing credentials to a user's decentralized identifier (DID). The user stores these credentials in a personal wallet. When proving a claim (e.g., being over 21), the user can generate a cryptographic proof that reveals only the necessary attribute, without exposing the entire credential or the issuer's identity. This system relies on a public permissioned blockchain (like Hyperledger Indy) to host a verifiable data registry for schemas, credential definitions, and revocation registries, ensuring trust without a central authority.

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
AnonCreds: Anonymous Credentials for SSI | ChainScore Glossary