How to configure the Ethereum Attestation Service (EAS) Access Gate Requirement

How to configure the Ethereum Attestation Service (EAS) Access Gate Requirement
Do not index
Do not index
👋
This FAQ is relevant when you’re setting up an access requirement for the Ethereum Attestation Service (EAS). In order for you to gate your DeForm based on the validity of the users’ EAS attestations, you must specify various metadata pertaining to the relevant attestations.

Configure the EAS Schema UID

1. Go to the Ethereum Attestation Service website and go to the desired EAS schema page.

Here’s an example:
Obtain the schema UID from the top of the page, under the schema’s name. Alternatively, the same schema UID is part of the schema page’s URL.

2. Input your EAS schema UID into the access gate requirement setup

notion image
Make sure to save your requirement!

[Optional] Configure the EAS attester address

In the case that you want to make sure you only check for a particular EAS schema’s attestations that are issued by a certain address, you can configure the address in the requirement below.
Note: we don’t allow you to configure multiple issuers right now. If this is something you need, please let us know here: https://deform.canny.io/feature-requests
notion image

[Optional] Configure advanced filters for EAS attestations

In the case that you want the EAS attestations to contain certain data in its payload, you can configure the EAS attestation requirement on DeForm.
You can add as many key-value pairs as you’d like - in the example below, we check whether a user’s received attestations is associated to a particular EAS schema, issued by a particular attester address, and has the following key value pairs in its payload:
  • key = uint128, value = 1011
  • key = address, value = 0x0000000000000000000000000000000000000000
  • key = uint128_array, value = [1, 2, 3] *
  • key = string_array, value = ["item1", "item2", "item3"] *
* Note that for array values, we’re able to check whether the attestation’s array contains a list of items. For example, if the attestation’s array value is [1, 2, 3, 4] and the filter is [1, 2, 3], the filter would be valid because we’re checking for the values 1, 2, 3 out of the array. If the filter is [1, 2, 5], the filter would be invalid because the number 5 is not in the attestation’s array payload.
notion image