Onchain Passports
Passports onchain functionality enables users to store their verified Stamps and scores onchain, and makes this data available via smart contracts.
We also discuss the onchain use cases in the following resources:
- Quick start: Get to "Hello World" with the smart contracts
- Tutorial: Building an app using onchain Passport data
- Reference: Learn about the available smart contracts and typical onchain developer flow
Why onchain?
In addition to accessing Passport XYZ data offchain using the Passport API, Passport has also released a smart contract stack that enables developers to access Passport score and Stamp data directly from the blockchain.
This onchain Passport data enables partners that want to maintain a decentralized, permissionless backend to engage directly with our smart contracts instead of storing and processing Passport data pulled from our API.
Why not onchain?
Minting Passports onchain is an optional feature for users. Not all users will add their Passports onchain. Also, onchain Passports may not reflect the most up-to-date data for users, since the onchain mint is point-in-time and users could verify more Stamps or Stamps could expire (note that onchain attestations expire).
Onchain Passport
Passport data can be converted into onchain attestations that are stored and engaged with via the Ethereum Attestation Service (EAS) (opens in a new tab) or Verax (opens in a new tab), which make that data accessible to developers via smart contracts. This enables quadratic funding, rewards, governance, access control, and other programs to exist entirely onchain with their Passport integration.
A simplified onchain Passport data flow follows this process:
- A user decides to mint their Passport onchain (opens in a new tab) to one of the available networks via the Passport App.
- Passport creates a Stamp (Passport) (opens in a new tab) and score (opens in a new tab) attestation, and mints them onchain to EAS and other attestation registries, depending on which network they choose.
- A developer utilizes our smart contract stack (opens in a new tab) and users’ wallet addresses to request the Passport data from these onchain attestation registries.
- The developer uses this Passport data in their web3 programs to satisfy their use case (opens in a new tab).
Of course, there are some additional complexities to this, including Stamp expirations.
Available networks
This onchain smart contract stack is currently deployed to the following networks:
Mainnet
- Arbitrum
- Linea
- Optimism
- Scroll
- Shape
- ZkSync
Testnet
- Optimism Sepolia
- Scroll Sepolia
- Shape Sepolia
- ZkSync Sepolia
Please note that you can explore our testnet functionality via the app using Test Mode.
Available registries
Attestations will be minted to one or two different registries, depending on which network the user chose to push their Passport.
- All onchain Passports will be minted to EAS, regardless of which network the user selects.
- If the user selects Linea or Linea Goerli, the full attestation will be written to EAS, and a partial attestation will be written to Verax.
Why isn't Passport onchain by default?
Onchain Passports are entirely opt-in. Users can still use Passport XYZ without migrating your data onchain.
While onchain Passports are in their infancy, the offchain Passport is useful as a single source. The offchain infrastructure is also perfectly sufficient for many use cases.
Next steps
Learn more about onchain Passports:
You can also ask questions about onchain Passports in our developer support channel on Telegram (opens in a new tab)