Creating a new Stamp

This is an overview for leaders of services like POAP and BrightID to understand how they can become a Stamp Provider for Passport

Implement a new IAM Provider

In the iam package, all Provider implementations are in iam/src/providers.
Providers must implement a verify() method that receives a proof payload, and verifies it.
The verification process could involve requests to external servers, reading on-chain data from a smart contract, etc. The proof payload could contain an access token, a blockchain address, etc.

Implement a new Provider Card in the Passport dapp

In the app package, each Provider is represented as a ProviderCard in app/components/ProviderCards.
Each Provider also has an entry in the STAMP_PROVIDERS constant inapp/config/providers specifying the name, description, and icon.
Each ProviderCard will implement custom logic for the Verify button, which should request and collect proof data from the user to be submitted to the IAM server.
This process could involve initiating an OAuth flow, requesting a signed message from the user's wallet, etc.

Submit a PR

To be added as a new Stamp Provider for the Gitcoin Passport, please submit a PR to https://github.com/gitcoinco/passport implementing the iam and app changes described above.
For reference, here are past PRs implementing the current stamp providers: