# NFTs

Fuul supports NFTs (ERC-721 and ERC-1155) as on-chain rewards. Like ERC-20 token rewards, NFTs are distributed through the voucher-based claiming system.

## How it works

The NFT reward flow mirrors the standard token flow:

1. User performs a qualifying action
2. Fuul issues a signed claim check for the specific token ID
3. User submits a claim transaction to the Fuul contract
4. The NFT is transferred from the project's contract to the user's wallet

The claim check includes a `token_id` field specifying which NFT the user is entitled to claim.

## Token type reference

| Token type | Value | Description                             |
| ---------- | ----- | --------------------------------------- |
| `ERC20`    | `1`   | Fungible tokens                         |
| `ERC721`   | `2`   | Non-fungible tokens (unique items)      |
| `ERC1155`  | `3`   | Multi-token standard (editions, badges) |

## Use cases

* **Exclusive membership NFTs** — reward early adopters or top users with a unique collectible
* **Achievement badges** — mint on-chain badges for reaching milestones (e.g., first trade, 100 referrals)
* **Access passes** — NFTs that unlock features or content in your protocol
* **Event participation** — distribute NFTs to users who participated in a specific campaign

{% hint style="info" %}
Claiming NFT rewards works identically to claiming ERC-20 tokens. Users submit a transaction with their signed claim check. See [Claiming Onchain Rewards](https://docs.fuul.xyz/developer-guide/claiming-onchain-rewards/evm) for the full implementation guide.
{% endhint %}
