> For the complete documentation index, see [llms.txt](https://docs.oppassport.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.oppassport.xyz/system-framework/core-components.md).

# Core Components

**OP Passport Frontend:** Web interface for users to interact with the platform.

**Database:** Storage for user data, badge issuance records, and attestations.

**Back-End Service:**

* Curia Indexer: Indexed data from on-chain and off-chain. This indexed data will be stored in the database for the criteria for each badge issuance record.
* Issuer: The backend service that is responsible for issuing badges to users. It also acts as a relayer for anonymous attestation.

**Smart Contracts:** Blockchain-based contracts for badge minting, identity attributes, and ZK proofs.

* Resolver: for validate on-chain criteria on endorsement attestation and verify proof & signature on anonymous attestation.
* Smart Account: smart contract account as passport and act as identity layer for each user.
