# Architecture Overview

The system architecture includes the front-end web interface, back-end services, smart contracts, and a database for tracking user achievements and badge issuance. The architecture is designed to ensure privacy and security through the integration of ZK technology.<br>

## OP Passport Creation Flow

The creation of an OP Passport involves several steps, integrating both off-chain and on-chain processes to ensure a secure, verifiable, and privacy-preserving digital identity. Here's a summarized flow:

1. **User Eligibility & Initiation:**
   * A user eligible for creating an OP Passport initiates the process through the Passport frontend.
2. **Passport Creation Request:**
   * The request is sent to the OP Passport API, which creates the passport, updates the database, and sends a task to GCP Cloud Task for further processing.
3. **Safe Wallet Creation:**
   * A Safe wallet is created for the user, which will store their digital identity.
4. **Attestation Process:**
   * The Attestation API constructs the necessary EAS schemas for the passport and user achievements.
   * The system attests the passport and achievements on-chain using the Ethereum Attestation Service (EAS).
5. **Finalization:**
   * The passport and associated achievements are recorded on-chain with their respective EAS IDs and transaction hashes (TxHash).
   * The OP Passport API updates the passport with all relevant on-chain data, completing the process.

This flow ensures that each user's governance participation and achievements are securely documented, providing a verifiable and transparent on-chain identity.

<figure><img src="https://3817958265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEN1RJ3eCtXI1GY74SLLk%2Fuploads%2FYitrvk8gdeqhaXTf0WdK%2Foppassport%20flow.png?alt=media&#x26;token=2931e979-0997-4e7c-a317-f5fb4d450043" alt=""><figcaption></figcaption></figure>
