Welcome to the ethpass docs!
ethpass is a platform that provides an easy and convenient way for you to issue digital passes, specifically designed to be used with Apple and Google Wallet. These passes can be tied to either an NFT (non-fungible token) or a wallet, which allows you to connect your digital assets to a wide range of use cases, such as tickets, reservations, offers, and more.
We provide API endpoints to generate and verify passes and allow you to engage with users anytime through location-based notifications and real-time updates. For passes tied to NFTs, we track changes in ownership through token transfer events and invalidate passes if an NFT is transferred.
Our solution is designed to prioritize the security of your assets. It is entirely non-custodial, which means that we will NEVER request access to your wallet or any of your assets. This is important because it ensures that you always have complete control over your digital assets, and that you don't have to worry about a third party mishandling or losing your assets.
To ensure that you are the rightful owner of your wallet, we use wallet signatures as a free and secure way to verify the owner of an address. Wallet signatures allow us to confirm your identity without compromising your privacy or exposing any private information. Additionally, we only read data that is publicly available on the blockchain.
We do not track any user information, and security and safety are our primary focus.
While we offer the ability for a pass to send push notifications based on location or dates, this feature communicates directly with the Apple Wallet and Google Wallet APIs, and any user data is inaccessible to us.
How We Create and Verify Passes
- To generate a pass tied to an NFT, the user proves their ownership of the token by signing a message with their wallet.
- We use the signed message to verify ownership by cross-referencing the smart contract on-chain.
- If the user holds the NFT, the API will successfully issue an Apple or Google Wallet pass back to the caller.
- Our service will watch for transfer events on the token, and invalidate the pass if ownership changes.
- The pass scanner reads the barcode on the pass, and calls the ethpass API to verify ownership.
- ethpass will confirm the ownership on-chain.
- If the token is still owned by the address attached to the pass, ethpass will respond with a validation, and the pass scans successfully!
We currently support Mainnet, Polygon, Optimism and Arbitrum and their respective testnets. Please get in touch with us if your project requires an EVM chain that we do not currently support.