Onchain Atlas

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.

▶ Run interactive simulation animated mechanism with editable parameters

Statusmajor success
Launched2022-06-08
ChainsEthereum, Optimism, Base, Arbitrum, Linea, Scroll, zkSync Era, Ceramic
Mechanismsverifiable-credentials, decentralized-identifiers, stamp-aggregation, humanity-scoring, onchain-attestations, quadratic-funding-defense
Official sitehttps://passport.human.tech/
Project X@HumnPassport (verified_by_official_website)
FoundersKevin Owocki (co-founder of Gitcoin, which created Passport) (@owocki), Gitcoin (organization / FDD workstream that built and operated Passport) (@gitcoin)

How it works onchain

Diagram of how Gitcoin Passport's mechanism worksOpen full-size diagram
Original diagram derived from this entry’s researched mechanism description.

Summary

Gitcoin Passport is an aggregate proof-of-personhood and Sybil-resistance protocol first launched by Gitcoin on 8 June 2022, alongside Grants Round 14 (GR14). It was built to solve a specific, expensive problem: quadratic-funding matching pools reward the number of unique contributors, which creates a direct financial incentive for attackers to create many fake accounts ("Sybils") to skim the pool. Rather than requiring biometrics or KYC, Passport lets a user assemble a portable identity record made of "stamps" — verifiable credentials attesting to control of web2 accounts (Google, GitHub, LinkedIn, Facebook, Coinbase) and web3 signals (ENS, POAP, on-chain activity, prior Gitcoin participation). Each stamp contributes weighted points toward a "Unique Humanity Score," and gated applications set a threshold (commonly ~20) that a wallet must clear to be treated as a distinct human. Passport became the de-facto Sybil layer for Gitcoin Grants (defending nine-plus consecutive rounds) and was later adopted broadly for airdrops, governance, and community gating. In February 2025 the Holonym Foundation acquired Passport for a reported $10M, rebranding it "Human Passport" under human.tech. It reports 2M+ passports and 43M+ credentials issued.

Design (Mechanism)

The core primitive is credential aggregation. Passport originally stored each user's identity record as a Decentralized Identifier (DID) document on the Ceramic Network, holding a collection of Stamps, each of which wraps one or more W3C Verifiable Credentials (VCs) signed by the Gitcoin issuer. Crucially, verification is designed to avoid storing personally identifiable information — the system keeps hashed signals rather than names, emails, or IP addresses, so a "Google stamp" proves account control without revealing the underlying account.

Scoring is off-chain and weighted: different stamps carry different point values reflecting how hard they are to farm (a KYC-grade or costly credential is worth more than a free social login). An application chooses a threshold; wallets above it pass. This turns Sybil resistance into an economic problem — an attacker must acquire enough independent, costly credentials per fake identity that farming the matching pool stops being profitable.

Passport was deliberately paired with a second, complementary defense: Gitcoin's machine-learning Sybil Account Detection (SAD/FDD) pipeline, which analyzes behavioral and graph patterns to flag coordinated fake clusters after the fact. Passport gates entry (proactive); the ML models catch what slips through (reactive). The later "Human Passport" era pushed further into real-time, model-based wallet scoring (e.g., the Stamp-based and behavioral models used to defend GG23).

To make scores usable inside other smart contracts, Passport added an on-chain attestation layer built on the Ethereum Attestation Service (EAS). Users can "mint" their score/stamps as an attestation on a cheap L2 (originally Optimism, for roughly a couple of dollars), after which any contract can read it. The GitcoinVerifier checks that an attestation request is signed by the Gitcoin issuer and calls verifyAndAttest(); the GitcoinResolver stores the user's attestation UID; and the recommended GitcoinPassportDecoder lets third-party contracts read a wallet's stamps or score directly on-chain across Optimism, Base, Arbitrum, Linea, Scroll, and zkSync Era, rather than trusting a centralized API.

Outcome

Status: major_success. Passport moved from an alpha SDK announced at GR14 (nearly 15,000 participants created Passport IDs in that first round) to the standard identity/Sybil layer of Gitcoin Grants and a widely integrated third-party product. Reported figures include 2M+ passports issued, 43M+ credentials, 120+ ecosystem partners, and hundreds of millions of dollars in airdrops and public-goods matching pools defended. The commercial validation was concrete: in February 2025 Holonym Foundation acquired it for a reported $10M and rebranded it Human Passport, folding its 2M-user base into a larger proof-of-humanity effort. Few onchain-identity experiments reach both durable production usage across many rounds and a real acquisition; Passport did.

Why it worked

  • A sharp, quantified problem. Quadratic funding created a measurable dollar incentive for Sybils, so a Sybil-defense tool had an obvious, funded customer (Gitcoin itself) and a clear success metric.
  • Aggregation over a single oracle. By stacking many independent, differently-costly credentials, Passport avoided depending on one identity provider or one biometric vendor, and let each integrator tune its own cost-vs-inclusivity threshold.
  • Privacy-preserving by construction. Storing hashed signals and VCs instead of PII lowered the trust and regulatory barrier to adoption relative to KYC/biometric competitors.
  • Composability. The EAS-based on-chain decoder made scores readable by any contract, turning Passport from a Gitcoin-internal gate into reusable infrastructure.

Limitations and criticisms

  • Sybil resistance is probabilistic, not absolute. A determined, well-funded attacker can still buy or farm enough stamps to cross a threshold; the mechanism raises cost, it does not eliminate fakes, which is exactly why the ML SAD layer remained necessary.
  • Inclusivity vs. security tension. Raising thresholds excludes legitimate but low-footprint users (privacy-conscious people, users in regions with few of the supported providers), while lowering them lets Sybils through.
  • Credential-provider dependence. Many stamps ultimately lean on web2 platforms (Google, GitHub, etc.), reintroducing centralized chokepoints and the risk that providers change APIs or a "unique" account is trivially purchasable.
  • Loss of independence. The 2025 acquisition and rebrand to Human Passport ended Passport's life as a Gitcoin-native public good, folding it into a commercial proof-of-humanity roadmap with different incentives.

Lessons

  • Design the attacker's P&L, not just the credential. The right question for Sybil resistance is "does the cost per fake identity exceed the marginal reward it can steal?" Passport succeeded by making scoring an economic dial rather than a binary human/not-human oracle.
  • Layer proactive gating with reactive detection. No single primitive catches all Sybils; combining entry-gating (Passport) with post-hoc ML clustering (SAD) covered each other's blind spots and should be treated as complementary, not redundant.
  • Portability and composability drive adoption. Making the score an on-chain, contract-readable attestation (via EAS) turned an internal tool into shared infrastructure other protocols would integrate.
  • Privacy is an adoption feature, not just an ethic. Avoiding PII storage was a competitive advantage over KYC/biometric approaches and lowered integration friction.

Redesign (EDITORIAL — hypothesis, not fact)

The following is the researcher's editorial analysis, not established fact.

Passport's central weakness is that a static, additive score is legible to attackers: once weights are public, farmers optimize the cheapest bundle of stamps that clears a threshold, and honest low-footprint users are excluded at the same margin. A redesign could shift from a fixed public score toward context-dependent, ZK-attested trust budgets. Concretely: (1) keep credential aggregation but move stamp verification and scoring inside zero-knowledge proofs, so an application learns only "this wallet exceeds threshold T for policy P" without revealing which stamps were used — reducing the roadmap-legibility that lets farmers reverse-engineer the cheapest path. (2) Replace a single global threshold with per-application risk pricing, where the required trust scales with the value at stake (a small governance vote demands less than a large airdrop), so inclusivity and security are traded off per-context rather than globally. (3) Add stake-and-slash or time-decay to at least some stamps, so identities carry ongoing cost and freshly farmed clusters are penalized, complementing rather than merely feeding the ML detector. (4) Diversify away from web2 provider dependence by weighting hard-to-mass-produce on-chain history (long-lived, economically active wallets) and social-graph attestations more heavily. The Human Passport/human.tech direction — real-time behavioral models and ZK features — is broadly consistent with points (1) and (3); the open design question is whether per-context risk pricing can be standardized enough that integrators actually use it instead of copy-pasting a single "score ≥ 20" gate.

Sources

  1. Streamlining Sybil Defense for Gitcoin Grants with Gitcoin Passport (Gitcoin Blog) — primary (docs)
  2. Human Passport (formerly Gitcoin Passport) official site — primary (docs)
  3. Smart contract reference — Human Passport developer docs — primary (contract)
  4. eas-proxy GitcoinPassportDecoder.sol (Passport onchain contracts, GitHub) — primary (contract)
  5. Passport is now part of human.tech (Human Tech blog) (governance)
  6. Digital Identity Startup Holonym Acquires Gitcoin Passport (CoinDesk) (news)
  7. Defending GG23 with model-based Sybil detection (Human Tech blog) (analysis)

Related experiments

Last verified: 2026-07-26 · Spot an error? Suggest a correction