# Registering an OSS Project

Once your project is registered, it will be visible within the ***tea*** community, attracting potential supporters, contributors and users. You can also track the utilization and impact of your project, which can earn you rewards based on its value and receive vulnerabilities reports from other members of the ***tea*** community. Registering your project on the ***tea*** protocol showcases your commitment to the sustainability and integrity of open-source software.

## Why register an OSS Project?

Registering your OSS project on the ***tea*** protocol offers several benefits. It allows you to gain visibility within the ***tea*** community, attract potential contributors and users, and track the utilization and impact of your project. This data can be used to earn rewards based on the value of your project. Additionally, registering your project on the ***tea*** protocol incentivizes security researchers to disclose vulnerabilities ethically and responsibly.

The ***tea*** protocol introduces the concept of [teaRank](https://docs.tea.xyz/tea/i-want-to.../learn-about-proof-of-contribution/what-is-tearank), which measures a project's utilization or dependents in the open-source ecosystem. A project's teaRank is calculated using the [Proof of Contribution](https://docs.tea.xyz/tea/i-want-to.../learn-about-proof-of-contribution) algorithm, which assesses the project's impact on the entire open-source software ecosystem.

Based on your project's teaRank, the protocol determines the number of rewards to be distributed on a daily basis. Higher teaRank, achieved through more (reputable) open-source software depending on your project, results in more rewards.

## How to register a project?

To register an OSS project on the protocol you need to follow these steps:

<mark style="background-color:red;">**IMPORTANT - YOU CAN ONLY REGISTER PROJECTS THAT YOU ARE A CORE CONTRIBUTOR TO AND FOR WHICH YOU HAVE PERMISSION TO PERFORM DIRECT COMMITS.**</mark>

1. Visit the ***tea*** web app and log in to your ***tea*** protocol account.
2. Go to the "My Projects" section, click on "Register a New Project" button.

<figure><img src="https://2948256053-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqiGksQPlVqufGUphG22z%2Fuploads%2FXMkIiHoQPWZJHqbukfZ6%2FScreenshot%202025-08-26%20at%2022.41.33.png?alt=media&#x26;token=f5cc511a-f9a3-4af0-8ffa-641ca6b8b265" alt="image of the OSS project name input and selection page"><figcaption></figcaption></figure>

3. Provide the project’s name. Make sure to double check that it's the correct project by checking its package manager and URL.

<figure><img src="https://2948256053-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqiGksQPlVqufGUphG22z%2Fuploads%2FsoVTAyN8SdVUEp8yJvQn%2FScreenshot%202025-08-27%20at%2010.41.37.png?alt=media&#x26;token=319c42f2-ebfe-42f3-b822-02a0a55450aa" alt="Image of the constitution configuration screen"><figcaption></figcaption></figure>

4. Continue to your project's constitution configuration screen, where you can decide to add contributors. The quorum rules define the minimum number of contributors required to approve any treasury disbursement, any treasury deposits, etc.<br>
5. You will need to download your project's constitution file, and manually commit the file to your project's repository. For more information on what the constitution file is, check out [this](#what-is-the-tea.yaml-file-and-why-does-my-project-need-it) FAQ.<br>
6. Once the file is committed, click on "Validate Constitution". Once the file's presence in the repo is confirmed and contents validated, the ***tea*** Protocol will deploy the project's treasury (on-chain account). You can find your project's on-chain address in the project details page.

### Updating your URL based on your package manager

If the tea Application shows an error message indicating that your project is missing a URL, the most likely cause is that you need to update the package metadata that you published to include your project's URL. For each package, we index a specific field to build the URL, and enable project registration.

| Package Manager | URL Field            | Source                                                                                                                                           |
| --------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| NPM             | repository           | package.json                                                                                                                                     |
| PyPI            | project\_urls.Source | You can use setup, or pyproject.toml to specify this                                                                                             |
| rubygems        | source\_code\_uri    | spec.metadata.source\_code\_uri in the gemfile, or gemspec                                                                                       |
| crates          | repository           | Cargo.toml, under the packages section                                                                                                           |
| Homebrew        | parsed.stable.url    | Homebrew Formula:[ https://github.com/Homebrew/homebrew-core/tree/master/Formula](https://github.com/Homebrew/homebrew-core/tree/master/Formula) |
| PKGX            | url                  | Pkgx yaml files:[ https://github.com/pkgxdev/pantry/tree/main/projects](https://github.com/pkgxdev/pantry/tree/main/projects)                    |

## FAQs

<details>

<summary>What is the <code>tea.yaml</code> file and why does my project need it?</summary>

For a project to be registered on the ***tea*** Protocol it requires a `tea.yaml` file which serves as the project's constitution to govern its number of contributors and number of votes required to carry out certain actions.

Variables required by the file are:\
1\. `codeOwners`: A list of addresses of said project's contributors that have profiles on the ***tea*** Protocol.\
2\. `quorum`: The minimum number of contributors required to approve any treasury disbursement, any treasury deposits, etc.\
3\. `version`: Your constitution's current version.

</details>

<details>

<summary>Why verify ownership?</summary>

We have been informed that multiple projects were getting spammed with PRs from ***tea*** users attempting to register a project that was not theirs. <mark style="background-color:red;">This behavior goes against the very principles of the</mark> <mark style="background-color:red;"></mark>*<mark style="background-color:red;">**tea**</mark>* <mark style="background-color:red;"></mark><mark style="background-color:red;">Protocol and will not be tolerated.</mark>&#x20;

To protect the OSS developers that the ***tea*** Protocol aims to serve, all users will have to prove a direct association with the project in order to continue with the registration process.&#x20;

The ***tea*** Protocol will confirm the user’s association with the project based on GitHub activity. Users that are confirmed contributors on GitHub will be able to register that project. Users that are not may be banned from registering any project.

</details>

<details>

<summary>Will my project start earning staking rewards immediately after registering it?</summary>

If your registered project exceeds the minimum teaRank threshold, it is eligible to receive boosted staking rewards.

</details>

<details>

<summary>Are projects I register tied to my <em>tea</em> account or are they independent?</summary>

Projects you register are tied to your ***tea*** account as long as you are a signing contributor of said projects.&#x20;

</details>

<details>

<summary>Can I register projects that I do not own?</summary>

<mark style="background-color:red;">No, you can not</mark>. You can only register projects that you are a core contributor to, in which you have permission to perform direct commits. Registration will only be complete once the `tea.yaml` file has been committed to the project's repository.

</details>

<details>

<summary>Are there any fees associated with registering projects on the <em>tea</em> protocol?</summary>

At launch, no fees will be associated with project registration on the ***tea*** protocol. Fees may be introduced in subsequent updates to the ***tea*** protocol.

</details>
