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

# NFT/Token Gating

> [card] Recommended: JavaScript SDK for React Native
>
> While this SDK is still supported, we recommend using newer [JavaScript SDK](https://docs.dynamic.xyz/docs/javascript/reference/react-native-quickstart.md), which is optimized for React Native, but also comes with a host of other benefits.

For concepts, console setup, and the two outcomes (block vs scope), see [Access Control](https://docs.dynamic.xyz/docs/auth/access-control/overview.md) and [Gates](https://docs.dynamic.xyz/docs/auth/access-control/gates.md). This page covers React Native—specific usage including scopes and UI.

Use checks to read scopes and adjust your UI. See scope examples below.

### Examples

**Block site for users without specific amount of tokens.**

Gate setup:

* User needs to have at least 1 SHIB to enter the site.

![](https://mintlify.s3.us-west-1.amazonaws.com/dynamic-docs/images/dashboard/console-access-gate-shib-config.png)

* User is blocked in the SDK UI:

![](https://mintcdn.com/dynamic-docs/S0I4gBjjMnJYbuz8/images/widget/widget-token-gate-rejection.png?fit=max\&auto=format\&n=S0I4gBjjMnJYbuz8\&q=85\&s=40e7c90826c089cc0c575f1b975c9b66)

**Add scope for users' JWT when having specific NFT**

Gate setup:

* User needs to have specific NFT to have `admin` scope

![](https://mintlify.s3.us-west-1.amazonaws.com/dynamic-docs/images/dashboard/console-access-gate-scope-config.png)

* User has an `admin` scope added to the `jwt`
  ```Text json theme={"system"}
  {
    ...
    "scope": "admin",
    ...
  }
  ```

### Working with scopes


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.