Verify staked NFTs to give out Discord Roles 🤝

To date, verifying staked NFTs in users' wallets to then give out Discord roles has been a bit limiting. After testing our new staked NFT verification system for just under a month, the problem has been solved.

We’re excited to announce Whop can now verify ownership of an NFT whether the project is set up as standard, or if they have a staking mechanism.

How does it work?

It’s quite simple. When projects join Whop without a staking mechanism, we do the following:

  1. Pull in all of the holders from the contract at the time of the project joining Whop.
  2. Monitor it by the minute moving forward to track any transfers within the contract.
  3. Whenever an individual tries to verify their NFT on Whop we can instantly validate whether or not they’re an active holder of the NFT on the contract.
  4. If the user owns a token from the contract -> they get the role. If they do not own a token from the contract -> they get no role.

The biggest component of wallet verification, is what happens when someone sells their NFT?

For non-staked projects, we simply monitor the contract, and when a new transaction is made and the token is transferred to a different wallet, we remove the roles from the wallet that transferred the token out.

Hopefully, this has been simple to follow along so far. Here is how all of this plays into verifying user’s tokens that are staked.

Techincally, all staking a token/NFT is, is sending your token to a different contract address, and reaping benefits for essentially “locking” it up.

So, all we’ve added is the ability to whitelist contract addresses ahead of time, so if a token in transferred to a staking contract, we don’t treat that as an act of selling the NFT, we treat it as a user staking their NFT and still retaining their Discord roles.


BAYC joins Whop and has the contract address everyone minted their NFTs from (we’ll call this 0xxx1), and then just added a staking mechanism (we’ll call this 0xxx2).

When BAYC sets their project up on Whop, they will input the 0xxx1 contract address as the base contract, and 0xxx2 as the main staking contract address.

Now, if a user ever sends their token/NFT between the two addresses (0xxx1 & 0xxx2) Whop will not remove any of their roles. But, if a user transfers their token to a different address that was not whitelisted by BAYC, they will still lose their role.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Buy and sell access to digital things.