> For the complete documentation index, see [llms.txt](https://guide.bocto.octopeeps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.bocto.octopeeps.com/plugins/verify-roles/verification-rules/specific-collectibley-token-id-s-based-roles.md).

# Specific Collectibleы Token Id(s) Based Roles

This rule type allows you to assign a specific role to your **Discord** users based on a specific token ID(s) from a particular <mark style="color:yellow;">**Collectibles NFT collection type**</mark> they own. Works for [supported <mark style="color:$warning;">**EVM**</mark> chains](/basics/chains-marketplaces.md#supported-evm-chains) and <mark style="color:$warning;">**Solana**</mark>.

## <mark style="color:$primary;">Explanation of the Fields.</mark>

* In the <mark style="color:$primary;">**Rule Name**</mark> field, enter your desired rule name.
* In the <mark style="color:$primary;">**Blockchain**</mark> dropdown, select the blockchain where your collection contract is deployed.
* In the <mark style="color:$primary;">**Contract**</mark> field, enter the [collection contract address](/appendix/getting-collection-contract-address.md).
* In the <mark style="color:$primary;">**Token ID(s)**</mark> field, enter the ID (or IDs) of NFT(s) a user should hold to get the role.
* In the <mark style="color:$primary;">**Role**</mark> dropdown, select the prepared <mark style="color:yellow;">**@Role**</mark> you wish to assign to the holders.

{% hint style="danger" %}
Be especially careful when setting the <mark style="color:$primary;">**Contract**</mark> field for <mark style="color:$warning;">**Solana**</mark> collections! Check this [link](/appendix/getting-collection-contract-address.md) before starting!
{% endhint %}

{% hint style="danger" %}
If you set up the <mark style="color:yellow;">**Editions**</mark> collection type instead of the <mark style="color:yellow;">**Collectibles**</mark> type, no error will occur, but the rule won't work!
{% endhint %}

## <mark style="color:$primary;">Setting Up Just One ID.</mark>

In case you want to assign users a <mark style="color:yellow;">**@Role**</mark> depending on whether they have only one NFT with the specific ID, it's just as easy:

<figure><img src="https://3820815315-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnX757myueIMa0YXG4HJl%2Fuploads%2FHa8F9LIQ9nh0omlU5Egu%2FScreen%20Shot%202025-10-31%20at%2013.23.43.png?alt=media&amp;token=a300ae4f-be63-4d36-b3b2-4e534d65fd4f" alt=""><figcaption></figcaption></figure>

## <mark style="color:$primary;">Setting Up Multiple IDs.</mark>

In case you want to assign users a <mark style="color:yellow;">**@Role**</mark> based on whether they possess one of the NFTs with specific IDs, you can list them separated by commas without spaces:

<figure><img src="https://3820815315-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnX757myueIMa0YXG4HJl%2Fuploads%2F3mFRkbCI87gg8c1smgss%2FScreen%20Shot%202025-10-22%20at%2016.45.27.png?alt=media&amp;token=d9becef8-a846-4dc1-8315-8761c99ccff3" alt=""><figcaption></figcaption></figure>

## <mark style="color:$primary;">Setting Up a Range of IDs.</mark>

If you want to assign users a <mark style="color:yellow;">**@Role**</mark> based on whether they possess NFTs with specific IDs within a certain range, you can enter the first and last IDs:

<figure><img src="https://3820815315-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnX757myueIMa0YXG4HJl%2Fuploads%2FrJTF5EOUjHsI86OKHZjd%2FScreen%20Shot%202025-10-22%20at%2016.58.18.png?alt=media&amp;token=8b79a054-b65c-4258-8c89-ffb00f46fa92" alt=""><figcaption></figcaption></figure>

## <mark style="color:$primary;">Mixing Up Multiple IDs and ID Ranges.</mark>

You can also mix and flexibly combine the last two variants like this:

{% columns %}
{% column %}
{% hint style="success" %}
329,333,345-350
{% endhint %}

{% hint style="success" %}
329,333,345-350,356,359
{% endhint %}
{% endcolumn %}

{% column %}
{% hint style="success" %}
329-333,345-350
{% endhint %}

{% hint style="success" %}
333,345-350,355,360-369
{% endhint %}
{% endcolumn %}
{% endcolumns %}

This allows you to use only one rule at a time to set IDs and ID ranges separately, rather than using several rules simultaneously.

{% hint style="warning" %}
If you set more than one ID, the rule will be assigned if the holder has any NFT from the list, not all of them!
{% endhint %}
