> For the complete documentation index, see [llms.txt](https://docs.tokenproof.xyz/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tokenproof.xyz/docs/technical-documentation/verifying-a-tokenproof.md).

# Verifying a tokenproof

When a tokenproof token is presented to a Verifier, the following validations are performed:

* [x] Validation to ensure that the animated QR code was generated in the past *n* seconds or minutes. Only applies to offline verification scenarios.
* [x] Validation to ensure that the tokenproof token being presented was in fact issued by tokenproof.
* [x] Validation to ensure that the tokenproof token being presented has not been tampered with. We do this by comparing its hash to the one stored published on decentralized storage.
* [x] Validation to ensure that the tokenproof token being presented has not been revoked.
* [x] Validation to ensure that the Ethereum account holds a valid and unexpired tokenproof Membership.
* [x] Validation to ensure that the Ethereum account complies with rules set by the Verifier. For example, holding a Bored Ape Yacht Club token.
