> For the complete documentation index, see [llms.txt](https://collabberry.gitbook.io/collabberry-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://collabberry.gitbook.io/collabberry-docs/technical/images-and-media/team-points.md).

# Team Points

***

## Design

\
The **TeamPoints** contract represents ownership in a project. It extends the ERC20 standard with several custom settings:

1. **Weights for Material and Time Contributions**
   * **Material Contribution Weight**: This multiplier reflects the value of monetary contributions. In early-stage teams where funds are often limited, Collabberry provides the option to adjust the monetary weight. For example, our internal team uses a multiplier of **x4**, meaning that a $1 investment earns 4 TeamPoints (TP). Note, however, that TeamPoints cannot be publicly purchased with money. Only the admin can mint tokens to reflect contributions.
   * The **Time Contribution Weight** is automatically calculated based on the contributor's commitment over time. It starts with a multiplier of **x2** and gradually increases to reward long-term dedication, potentially reaching the same level as the Material Contribution Weight (**x4**) after eight years.

     The proposed design uses a **linear increase** (not exponential), starting after the **6th month**, with an increment of **0.125 per month**. This means:

     * **0–6 months**: Multiplier = **2x**
     * **6 months**: Multiplier = **2.125x**
     * **1 year**: Multiplier = **2.25x**
     * **1.5 years**: Multiplier = **2.375x**
     * **2 years**: Multiplier = **2.5x**
     * **3 years**: Multiplier = **2.75x**
     * **4 years**: Multiplier = **3x** (optional cap, or continue increasing)
     * **8 years**: Multiplier = **4x** (final increase)

     These multipliers are **not applied retroactively** to previously allocated points. Instead, they apply only to future contributions, ensuring fairness and incentivizing ongoing commitment.

     This approach provides a clear and fair path for contributors to earn increasing rewards for their time, fostering long-term engagement and loyalty.
2. **Transferability Settings**
   * **isTransferable**: This setting determines whether TeamPoints are **Soulbound** (non-transferable). If set to false, TeamPoints cannot be transferred.
   * **isOutsideTransferAllowed**: This setting applies only if `isTransferable` is set to true. It specifies whether transfers are limited to contributors (token holders) or allowed outside the organization.

By tailoring these settings, the TeamPoints contract aligns ownership distribution with the unique needs and constraints of early-stage teams.

## Roles and Access Control&#x20;

The **TeamPoints** smart contract defines two distinct roles: **admin** and **contributor**.

The **admin role** is crucial within Collabberry and will eventually integrate with each organization's unique governance model. To accommodate this variability, the contract relies on an **Admin address** to manage admin privileges.

Admins have access to specific functions that contributors do not, including:

* **addAdmin/removeAdmin**: Manage admin roles by adding or removing admin addresses.
* **mint/batchMint**: Mint TeamPoints for individual or multiple contributors.
* **updateSettings**: Adjust contract settings, such as contribution weights or transferability options.

This structure ensures flexibility and adaptability to the governance needs of different organizations.

***
