Revoke an NFT

Permanently remove an NFT from any user's wallet.

If a gym membership was an NFT, think of “revoke” as the gym canceling the membership on behalf of the user without their approval.

Use cases

  • Revoke an NFT from a user who has violated your Terms of Service.
  • Revoke an NFT from a wallet that has been reported stolen.


Can I use this endpoint to revoke NFTs in a non-paper wallet like MetaMask?

Yep. The Minting Toolkit is able to revoke an NFT from any wallet holder, regardless of who’s holding it. It works because the contract always allows the collection owner (our deployer wallet in this case) to revoke the NFT at any time without the user’s approval.

Can I use my own contract to call the revoke endpoint?

Absolutely. The Minting Toolkit supports revoking NFTs with your own contract or with Paper's, with slight differences.

With NFT collection created with Paper’s Minting Toolkit: You’d use Paper’s dashboard or API to revoke the NFT from the holder.

  • Pros: no user prompts
  • Cons: must use the Paper-managed contract

With your own contract: Write your contract while following the metatransactions standard ERC-2771. Thirdweb contracts follow this.

The flow works like this:

  1. You will prompt the user to sign a transaction to get a signature (this doesn’t cost gas).
  2. You will then provide this signature to Paper in the mintMethod. If this signature is valid, the NFT will get revoked.
  • Pros: can use own contract
  • Cons: harder to implement, requires prompting the user.

*Note: Since this is just a specific implementation of mintMethod, it works with any Paper product that uses mintMethod, e.g., Checkouts (the difference there being the user pays fees).

Click Try It! to start a request and see the response here!