Common Flows

Step-by-step walkthroughs for our most popular API use cases

1. Display a POAP Collection

You can easily fetch and display a user’s POAPs and have them available in your application for any use case.

Prerequisites

  • An API key to access POAP’s API, apply for one here
  • A user's Ethereum address, ENS, or email

Flow

  1. Use GET /actions/scan/{address} to fetch a user's POAP collection, where address is the Ethereum address, ENS, or email of the user you are trying to display the POAPs for.

Result

When a user logs in to your application you will be able to display their POAPs.



2. Token Gating With POAPs

By leveraging POAP, you can implement token gating using POAPs by specific Event ID. This allows only users with a POAP from a specific event to access your app, functionality, or content.

Prerequisites

  • An API key to access POAP’s API, apply for one here
  • An auth token to generate an access token, apply using the same link here
  • A POAP event ID.

Flow

Result

If a user has logged in with their Ethereum wallet that has a POAP from POAP event ID specified, you can grant them access.



3. Creating an Event, submitting a request and checking the status of a request

You can programmatically create an event using the API. This event will still need to be reviewed by the POAP Curation Body.

Prerequisites

  • An API key to access POAP’s API, apply for one here
  • An auth token to generate an access token, apply using the same link here
  • Details of your event (you can check required fields here)

Flow

  1. Create an event using POST /events by providing the details of the event you’d like to create.
    1. You can define a six-digit secret_code value when creating the event. Please store this code as you'll need it once your request is approved.
    2. Ensure you are adding the content-type: multipart/form-data header.
    3. If you will be using mint links as a distribution method, you can use the requested_codes fields to select how many mint links you need. If you will be using another distribution method, assign a value of 0 to the requested_codes field.
    4. If the creation is successful, you will receive an id in the response. Use this id to refer to your event when using other endpoints.
  2. Once you've created your event, you will need to submit a request for the distribution method of your choice. If you used a value different than zero for the requested_codes field, you can skip this step.
    1. You can have a pending request for each of the distribution methods at any given time. The POAP Curation Body will review all requests. After your request is reviewed, you can submit additional requests if needed.
  3. After submitting a request, The POAP Curation Body will review it. Reviews can take up to 24 hours.
    1. Your request will be in the pending state until it is reviewed. To find out whether your request is still pending or not, use the GET /redeem-requests/active/count endpoint. A result of 0 means that there are no pending requests. Any other value indicates that your requests have not been reviewed yet.
    2. The POAP Curation Body may request additional information or changes to your event or request. You will receive an email from [email protected] to the email address provided when creating your event if that is the case. Follow the instructions in that email to communicate with the Curation Body.
    3. Your request may be either approved or rejected. If your request is rejected, you will receive an email with the rejection reason and tips to improve your requests. You can create another event or submit additional requests applying these tips.
  4. If your request is approved, use POST /event/{id}/qr-codes with the event_id obtained after creating your event (step 1) and the secret_code you entered in step 1 to retrieve the mint links for your drop. The mint links will also be sent via email.
  5. Each mint link has one use. The endpoint will provide the status of each mint link to indicate if it has already been used or not.

Optional: Requesting additional mint links as a top-up

  1. To request additional mint links as a top-up, use POST /redeem-requests with the event_id associated to the drop you are requesting additional mint links for and requested_codes as the amount of top-up you are requesting, along with secret_code created when the original drop was created.

This goes back to Step 3 (above) - After submitting a request, The POAP Curation Body will review it. Reviews can take up to 24 hours.



4. Minting a POAP directly to a wallet

Prerequisites

  • An API key to access POAP’s API, apply for one here
  • An auth token to generate an access token, apply using the same link here
  • An event has been created
  • A user's Ethereum address, ENS, or email

Flow

  1. Use POST /event/{id}/qr-codes to get a qr_hash (claim codes) for your event.
  2. Use GET /actions/claim-qr and pass in a qr_hash from the previous step to get the claim secret.
  3. Once you have the qr_hash and the secret, you can mint the POAP to your user's Ethereum address, ENS, or email using POST /actions/claim-qr.

If you need additional claim codes, use the POST /redeem-requests endpoint.