Articles on: PERCS NFT Gating

Exclusive access to a product with limited redemption per NFT - FAQ and support

Background


FAQ

What makes the method used by PERCS for tokengating exclusive access to a product with limited redemption per NFT secure
Can I have multiple products as part of this campaign
Can I combine this campaign with a discount campaign
Can I have the product associated with this campaign on the product display page

Campaign support

Is the token in the wallet address given?
Has the NFT been redeemed
Did the user abandon the checkout during redemption
Finding an open draft order
Send the invoice so user can complete the order


Background



FAQ



What makes the method used by PERCS for tokengating exclusive access to a product with limited redemption per NFT secure


There are two main reasons why the flow used by PERCS to create this campaign as outlined in this doc is secure

Removing the product from active sales channels prevents potentially fraudulent orders since a user can't force an item into a cart and then checkout
The order will have the metadata of the connected wallet (wallet ID, token ID, and more) along with unique ID time based signatures added to the order information. Since there is a limited redemption per token ID then there can only be one such order. This is assuming that Verify Access is turned on in Settings, with more information on this in the Experimental Features section of this doc

Can I have multiple products as part of this campaign


No, only one product ID can be associated with an exclusive access tokengating campaign with limited redemption per NFT

Can I combine this campaign with a discount campaign


No, since the product is in draft mode for security, Shopify restricts draft products from having users add discount codes during checkout.

One alternative is to create a discount campaign on the product with a limited redemption per NFT instead of this campaign. More info can be found in this doc in particular the section titled Product giveaway using a discount campaign. Note that the campaign does not have to be a giveaway, it depends on the amount discounted

Can I have the product associated with this campaign on the product display page


No, for security reasons the product is removed from active sales channels so the only way the product can be added to a checkout is after the user has connected their wallet holding an NFT from an allow-list audience

Campaign support



A customer has reached out for support with redeeming a token to access a product. Typically this is in response to a giveaway, but the product could have a price, however the campaign has a limited number of redemptions per NFT.

In this doc we’ll talk about what information is important to get in order to determine what support is needed

Please edit any sample emails to match your company’s branding

Is the token in the wallet address given?


In order to verify if the token is in the wallet address given go to https://opensea.io/assets/ethereum/<CONTRACT ADDRESS>/<TOKEN ID>

Verify if the owner has the same wallet address as the one given by the user (or shown in the screenshot)

If the token is in the wallet please continue to the next section
If the token isn't in the wallet shared here is what the screenshot should look like

Connected wallet does not hold NFT

Here is a sample email:
It appears that the token ID isn't in the wallet shared but in <Share wallet address holding the NFT>
If you've recently purchased the NFT it may take a few hours for the blockchain to process the transaction so please try again tomorrow.


Has the NFT been redeemed


You can check this in your NFT redemption checker by entering the token ID

Redeemed token ID
If the token has been redeemed please continue on to the next section

If the token has not been redeemed here is a sample email:
Please redeem your NFT by navigating to <NFT redemption URL> the recommended flow is to use a desktop/laptop using a Chrome browser with the MetaMask wallet extension


Did the user abandon the checkout during redemption


We have determined that the user has redeemed their NFT. The user should have sent a screenshot that looks similar to the following:

Stuck order
Notice the strikeout on the NFTs and the “You must select a token” error message
When a token is redeemed as part of an access campaign with limited redemptions per NFT a draft order is created. Below are some definitions:

Draft order status types

Draft order - Open status
An open draft order is one that was created but is missing information in order for it to be completed. For example if a user hasn’t entered their shipping information or paid for their shipping the order is considered open. This is likely what needs to be shared

Draft order - Completed status
A completed draft order has received all information expected from the user and has now created an unfulfilled order waiting for shipment. If you open a completed draft order you will see a link to the order that was created from that draft order which is waiting for fulfilment.

Draft order - Completed status

Draft order - Invoice sent status
A draft order with invoice sent status was an order with open status but the user was emailed a link to the checkout so that they can enter their shipping and email information and pay for shipping. There will be a note in the draft order timeline that this was done

Draft order - Invoice sent

Finding an open draft order


How to find an open draft order

If the user abandoned the checkout there will be an open draft order in your Shopify Admin. This draft order will have metadata that matches the user’s wallet address and token ID. You can access this by following these steps:

From the Shopify admin click Orders
Select Drafts
Click Open to filter by open orders

If the token ID and the wallet address match the values given by the user then you have found the draft order created when they redeemed their NFT

If you know the approximate date and time that the user redeemed their tokens open the draft orders in that time range. Each draft order created as part of a tokengated access campaign with limited redemptions per NFT has the following metadata:

Order metadata

Send the invoice so user can complete the order

Once the correct open draft order is found, you can scroll down to the payment section where you will find a Send invoice button

Send invoice to allow user to complete NFT redemption

Sending the user this invoice will give them a link to where they dropped off, allowing them to complete their order. The open draft order will change its status to Completed Status when they do so and an Unfulfilled Order will be created wait for the product shipment to be fulfilled.

Updated on: 29/01/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!