> For the complete documentation index, see [llms.txt](https://docs.underdogprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.underdogprotocol.com/resources/projects.md).

# 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](/resources/projects/nfts.md). 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](/resources/projects/transferable-projects.md)
2. [Non-Transferable Projects](/resources/projects/non-transferable-projects.md)

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="/pages/9EqZAzoo5Jcwi72DNZyM" %}
[Transferable Projects](/resources/projects/transferable-projects.md)
{% 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="/pages/WdBg1AuPUTnc9AweQY8M" %}
[Non-Transferable Projects](/resources/projects/non-transferable-projects.md)
{% 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="/pages/QS7CX9Z4VK9v6fKwO2Ns" %}
[NFTs](/resources/nfts.md)
{% endcontent-ref %}
