# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.underdogprotocol.com/resources/projects.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
