# Projects

On this page, we'll dive into the different Project endpoints you can use to manage Projects programmatically.

Projects represent a group of related [NFTs](https://docs.underdogprotocol.com/resources/projects/nfts). A Project is itself an NFT. For example, a Project can be a group of NFTs where each NFT is a membership pass.&#x20;

There are two types of Projects:&#x20;

1. [Transferable Projects](https://docs.underdogprotocol.com/resources/projects/transferable-projects)
2. [Non-Transferable Projects](https://docs.underdogprotocol.com/resources/projects/non-transferable-projects)

We'll walk through the different Project types and how the NFTs in each Project type are different.&#x20;

## The Project Model

The Project model contains all the information about your Project, such as its mint address, name, and image.

| Property       | Description                                                | Type    |
| -------------- | ---------------------------------------------------------- | ------- |
| `id`           | Unique ID for a Project                                    | number  |
| `transferable` | Whether or not the NFTs in this project can be transferred | boolean |
| `mintAddress`  | Address for the Project's mint account                     | string  |
| `status`       | Whether your Project has been confirmed on-chain           | string  |
| `name`         | Name stored as on-chain metadata                           | string  |
| `image`        | URL pointing to the image for your Project                 | string  |
| `description`  | Description stored in the metadata for your Project        | string  |

## Project Types

The Underdog API supports two types of Projects that affect how the NFTs in the Project are minted and the transferability of the NFTs in the Project.&#x20;

| Project Type             | Project Path Param |
| ------------------------ | ------------------ |
| Transferable Project     | `t`                |
| Non-Transferable Project | `n`                |

### Transferable Projects `t`

NFTs in a Transferable Project are minted directly to a wallet and can be transfered freely the the owner of the NFT.&#x20;

{% content-ref url="projects/transferable-projects" %}
[transferable-projects](https://docs.underdogprotocol.com/resources/projects/transferable-projects)
{% endcontent-ref %}

### Non-Transferable Projects `n`

NFTs in a Non-Transferable Project are lazily minted. Only when the NFT is claimed is it minted and the claimer cannot transfer the NFT.

{% content-ref url="projects/non-transferable-projects" %}
[non-transferable-projects](https://docs.underdogprotocol.com/resources/projects/non-transferable-projects)
{% endcontent-ref %}

## NFTs

The Projects endpoint includes endpoints to create, update, and manage the Project's NFTs.

The `:transferable` param is set to either `t` for a Transferable Project or `n` for a Non-Transferable Project. The `:projectId` param is set to the Project's ID.&#x20;

{% content-ref url="nfts" %}
[nfts](https://docs.underdogprotocol.com/resources/nfts)
{% endcontent-ref %}
