# Self Protocol

Self is a **privacy-first, open-source identity protocol** built on **zero-knowledge proofs**. It lets developers verify real-world identity attributes — age, nationality, sanctions status, proof-of-human — without exposing personal data.

Self bridges the gap between real-world identity and on-chain activity. Users verify once with the Self app, then selectively disclose attributes across any application that integrates the protocol.

## Products

### Self Pass

Identity verification for applications. Verify that your users are real humans, meet age requirements, or pass sanctions checks — all without seeing their personal data. Supports passports, national IDs, Aadhaar, and KYC attestations from 60+ countries.

[Get started with Self Pass](https://docs.self.xyz/self-pass/self-pass)

### Self Connect

An open-source protocol that maps off-chain identifiers (phone numbers, email addresses, Twitter handles, GitHub usernames) to on-chain blockchain addresses. Enables users to discover and transact with each other using familiar identifiers instead of hex addresses.

[Get started with Self Connect](https://docs.self.xyz/self-connect/introduction-and-overview)

### Self Agent ID

On-chain proof-of-human identity for AI agents. Each agent receives a soulbound ERC-721 NFT backed by a ZK passport verification, enabling trustless proof-of-human for autonomous agents. Implements the ERC-8004 standard with SDKs in TypeScript, Python, and Rust.

[Get started with Self Agent ID](https://docs.self.xyz/self-agent-id/overview)

## Use Cases

* **Sybil resistance** — Prove users are unique humans without collecting personal data
* **Age verification** — Gate content or services by age without revealing date of birth
* **Compliance** — Check sanctions lists (OFAC) and nationality restrictions on-chain
* **Airdrop protection** — Ensure token distributions go to real, unique humans
* **Quadratic funding** — Prevent farmers from skewing rewards
* **Agent identity** — Prove AI agents are backed by verified humans
* **Social identity** — Map real-world identifiers to wallet addresses

## Resources

* [Workshop (ETHGlobal Buenos Aires)](https://www.loom.com/share/8a6d116a5f66415998a496f06fefdc23) — Hands-on introduction to building with Self
* [Self Builder Group](https://t.me/+d2TGsbkSDmgzODVi) — Telegram community for developers
* [Celo Sepolia Faucet](https://faucet.celo.org/celo-sepolia) — Testnet funds for development


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.self.xyz/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
