> ## Documentation Index
> Fetch the complete documentation index at: https://docs.proofable.me/llms.txt
> Use this file to discover all available pages before exploring further.

# NFT and token gating

> Require NFT ownership or a minimum token balance before content, rewards, or access unlock, then reuse the holder's proof at every gate.

Require a holder before access. Holdings change, so ownership is checked at a point in time. Set the contract, the token rule, and how recent the check must be in your published gate.

| Require                  | Check                                          |
| ------------------------ | ---------------------------------------------- |
| An NFT from a collection | [`nft-ownership`](/verification/nft-ownership) |
| A minimum token balance  | [`token-holding`](/verification/token-holding) |

## Add the gate

```jsx theme={"dark"}
import { VerifyGate } from '@proofable/sdk/widgets';

export function HolderContent() {
  return (
    <VerifyGate gateId="gate_your-holder-gate">
      <ProtectedContent />
    </VerifyGate>
  );
}
```

Confirm on your server with `gateCheck` before you grant access. Set a recency window on the gate so a holder who sold does not keep access through an old proof.

[Sell access with one gate](/gates/sell-access) walks through publishing and server checks.
