# Cypherbook

The Galactica Cypherbook contains dApps to prove various basic statements about KYC and Social Media data.

It can be used as a basis for more complex dApps because the resulting Verification SBTs can be reused for other dApps requiring the same proofs.

## The proofs in the Cypherbook contain:

* Proving that a user has passed the KYC process.
* Proving that a user is at least 18 years.
* Proving that a user is a citizen of a non sanctioned country.
* Proving that a user is a non-US citizen.
* Proving that a user has a X/Twitter account created before 2020.
* Proving that a user has a X/Twitter account with at least 100/1k/10k followers.

## Code locations

* [Basic KYC circuit](https://github.com/Galactica-corp/galactica-monorepo/blob/main/packages/zk-certificates/circuits/zkKYC.circom)
* [KYC circuits for age and citizenship](https://github.com/Galactica-corp/galactica-monorepo/blob/main/packages/zk-certificates/circuits/ageCitizenshipKYC.circom)
* [Twitter follower count](https://github.com/Galactica-corp/galactica-monorepo/blob/main/packages/zk-certificates/circuits/twitterFollowersCountProof.circom)
* [Twitter creation time](https://github.com/Galactica-corp/galactica-monorepo/blob/main/packages/zk-certificates/circuits/twitterCreationTimeProof.circom)
* [Smart contracts](https://github.com/Galactica-corp/galactica-monorepo/tree/main/packages/zk-certificates/contracts/dapps)


---

# 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.galactica.com/galactica-developer-documentation/building-a-galactica-dapp/example-dapps/cypherbook.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.
