Onchain Atlas

Verifiable Credentials

A cryptographically signed statement about you — 'this person is human,' 'this wallet passed KYC,' 'this address is over 18' — that apps can check without seeing your underlying private data.

Also called: VCs · attestations · onchain credentials · proof-of-personhood/status

What it is

A verifiable credential is a digitally signed claim issued by some trusted party (a government, an identity provider, a DAO, a KYC vendor) about a subject (a person or wallet), which the subject can present to third parties who can cryptographically verify it's authentic without contacting the issuer every time. In crypto, these are often used to prove humanity, jurisdiction, age, or accreditation without revealing the raw documents behind the claim.

How it works

  1. An issuer (an ID verification company, a DAO, a government-backed system) collects some real-world proof from a user — a passport scan, a biometric check, a proof of address.
  2. The issuer runs its own verification process off-chain, then generates a credential: a signed data object stating a claim ("this person passed liveness+ID check", "this wallet is not on a sanctions list") tied to the user's identity or wallet.
  3. The credential is handed to the user, who stores it in a wallet or identity app — sometimes as an onchain attestation (e.g., via an attestation registry), sometimes off-chain as a portable signed object.
  4. When a dApp needs to gate access (a mint, a vote, a regulated product), it asks the user to present the credential.
  5. The dApp verifies the issuer's signature against a known public key or registry, confirming the claim is authentic and unexpired, without needing to see the original passport or re-run KYC.
  6. Advanced schemes layer zero-knowledge proofs on top, letting the user prove a derived fact (e.g., "I am over 18") from the credential without revealing the credential's other contents (exact birthdate, name).
  7. Revocation lists or expiry timestamps let issuers invalidate credentials later (a ban, a status change) without needing users to interact again.

Why designers use it

  • Lets protocols meet compliance or Sybil-resistance requirements (KYC, uniqueness, age-gating) without becoming a data custodian themselves.
  • Decouples "who verified this" from "who uses this" — one issuer's work can be reused across many apps, reducing redundant verification.
  • With zero-knowledge layering, enables selective disclosure: prove a fact without exposing the underlying sensitive data, improving privacy over raw document uploads.
  • Provides Sybil resistance for airdrops, governance, and quadratic funding by attaching a scarce, hard-to-fake "one real human" or "verified entity" signal to a wallet.

Failure modes

  • Issuer capture or compromise: if the issuing key or backend is compromised, arbitrarily many fake credentials can be minted, undermining every downstream app relying on them.
  • Credential markets emerge — people sell or rent verified identities/wallets to Sybil attackers, especially when the credential unlocks valuable airdrops or votes.
  • Centralization risk: most schemes still rely on a small number of issuers, recreating the "trusted third party" problem crypto often tries to avoid.
  • Privacy leakage: naive implementations expose more data than needed (linking a wallet permanently to a real identity) instead of using selective disclosure, creating a honeypot for deanonymization.
  • Revocation is often weak or delayed in practice, meaning a credential from a now-banned or compromised identity can remain "valid" longer than it should.

What to check before using it

  • Who is the issuer, how are they vetted, and what happens to your app if that issuer is compromised or goes offline?
  • Does the credential support selective disclosure/zero-knowledge proofs, or does verifying it require exposing more personal data than necessary?
  • Is there a functioning revocation mechanism, and how quickly does your app pick up revocations?
  • How resistant is the underlying real-world verification to Sybil attacks (buying accounts, renting verified identities, using stolen documents)?
  • Are you creating a single point of censorship — could the issuer selectively refuse or revoke credentials to exclude certain users from your app?

Experiments that used it · 4

Shown oldest first, so you can watch the design evolve.

Fractal ID
Berlin-based web3 KYC/proof-of-personhood provider whose 'verify once, reuse everywhere' identity layer powered 250+ crypto projects — and whose 2024 breach of ~55k users' passport data became the canonical argument against centralized KYC honeypots.
2018 partial success
Orange Protocol
A reputation 'minting' middleware that aggregates on-chain and off-chain data through pluggable data and model providers to issue portable reputation proofs as Verifiable Credentials, NFTs, and zkTLS-backed humanity scores.
2021 ongoing
Gitcoin Passport
An aggregate proof-of-personhood and Sybil-resistance protocol that scores a wallet's 'unique humanity' by collecting verifiable-credential 'stamps' from web2/web3 identity providers, originally built to protect Gitcoin Grants quadratic-funding matching pools.
2022 major success
Disco.xyz
A 'data backpack' for portable, privacy-preserving identity: user-owned decentralized identifiers plus off-chain verifiable credentials spanning Web2 accounts and multiple chains, which never found a self-sustaining market and merged into Privado ID in 2024.
2022 partial success