# Create a vesting strategy

This page walks you through creating a vesting strategy from scratch: configuring the schedule, choosing the vesting type, and uploading wallet allocations.

If you haven’t read it yet, start with **“How vesting strategies work”** so the concepts (linear, interval, monthly, revocable vs immutable) are familiar.

***

### When to create a new strategy

Create a new vesting strategy whenever a group of wallets should follow the **same rules** for unlocks.

Examples:

* Seed investors
* Private / strategic investors
* Team allocations
* Advisors
* Marketing & ecosystem incentives
* Grant programs or community rewards

Each of these is typically a separate strategy with its own schedule and category.

***

### Step 1 – Start a new strategy (Draft)

In the TMS admin app:

1. Go to **Vesting** in the sidebar.
2. Click **“Add new strategy”** (or the equivalent button).

You’ll land on a form where you define the **basic metadata**:

**Strategy Name**\
Use a clear, descriptive name, e.g. “Seed Round”, “Team 4-Year”, “Advisor 2-Year”.

**Vesting schedule**

* **Linear –** tokens unlock each second continuously.
* **Interval** – tokens unlock in equal chunks every X days.
* **Monthly** – tokens unlock in equal chunks every N months.

**Start date / TGE date**

* When vesting begins.
* Often, your token listing event.

**End date & time:** The vesting duration, not including the cliff. For example, Team tokens have a 12-month cliff and 24-month vesting. Select two-year vesting to achieve this and add a 12-month cliff.\
\
**Cliff (optional)**

* Period after start where no tokens unlock (except any initial unlock portion you explicitly configure).
* Example: 6 months cliff for team allocations.

**Initial unlock (TGE %) (optional)**

* Portion that unlocks at the start of the schedule.
* Example: 10% at TGE, with the remaining 90% vesting over time.

As you adjust these values, TMS will show:

* A summary of the schedule.
* A visual curve or table of unlocks over time.

If something doesn’t match your expectations, this is the time to fix it before any wallets are assigned to the strategy or the start date.

<figure><img src="/files/zlzlqmD0PPjDypNc23aW" alt=""><figcaption></figcaption></figure>

***

### Step 2 – Upload wallet allocations

Once the schedule is configured, you define **who** is included and **how many tokens** they receive.

You can add allocations while the strategy is still in **Upcoming**:

<figure><img src="/files/oSDnpyuum0PaPeVN35mp" alt=""><figcaption></figcaption></figure>

#### Method 1 – CSV upload (recommended for larger rounds)

1. Download the CSV template (if provided in the UI), or follow the expected column format:
   * `wallet_address`, `allocation_amount` (and any optional fields like label/note).
2. Fill in your data:
   * One row per wallet.
   * Use **plain numbers** for amounts (no commas).
   * Use decimals if needed (e.g. `12345.6789`).
3. Upload the CSV file from the strategy’s **Allocations** section.

Typical constraints (adjust to match your current system):

* Up to **150 wallets per transaction**. \[Capped to make sure TX goes through].
* A strategy does not have a limit on how many wallets can be assigned to it.

If anything is invalid (bad address, non-numeric amount, duplicates), TMS will show an error and highlight which rows need fixing.

<figure><img src="/files/PgIR2tMoUKGu6io1TpKo" alt=""><figcaption></figcaption></figure>

#### Method 2 – Manual entry (for small batches)

For a handful of wallets:

1. Click **“Add allocation”**.
2. Enter:
   * Wallet address.
   * Allocation amount.
3. Repeat as needed.

Manual entry is convenient for:

* One-off advisor or partner allocations.
* Small corrections before you finalize the strategy.

<figure><img src="/files/kd9yzoLh0stkZ7si9iSa" alt=""><figcaption></figcaption></figure>

***

### Step 3 – Add funds to the smart contract

Once you've created a vesting strategy and assigned wallets to it, the system will display the amount of funds required.

<figure><img src="/files/DL2gH0lx2vbBpXo57Bj4" alt=""><figcaption></figcaption></figure>

If the contract does not have sufficient funds to fulfill the claim, it will give the end user an error.

Once the contract is sufficiently funded, the system will show 0.00 funds required (either exact or surplus).&#x20;

<figure><img src="/files/kavSZ3cTXUjsW9du6PXf" alt=""><figcaption></figcaption></figure>

***

### Step 4 – Decide on revocability vs immutability

By default, a strategy that has started is **Active and revocable**:

* Terms and allocations are fixed.
* You can:
  * Let it run as planned.
  * **Disable** the strategy.
  * **Lock** the strategy to make it immutable once you’re fully confident.

#### When to keep it revocable

Keep a strategy revocable (Active but not locked) when:

* You’re early in your project and need some flexibility.
* You’re still monitoring behavior and adoption.
* You might need to take corrective actions at the strategy level.

#### When to lock it (immutable)

Lock a strategy when:

* You have **double-checked** all parameters and allocations.
* The schedule is clearly communicated to investors and the community.
* You want to enforce a **hard guarantee** that no one can change or disable (pause) it.
* You can lock a strategy only if the contract is fully funded to support the strategy's entire vesting schedule.

Locking is a one-way operation:

> Once locked, the strategy cannot be edited or cancelled.

Use it as a powerful trust signal, especially for major allocations (team, major investors).

***

### Summary

Creating a vesting strategy in TMS follows a simple pattern:

1. Define the **schedule**.
2. Choose **how** it unlocks (linear / interval / monthly + initial unlock).
3. Upload **wallet allocations**.
4. Review while everything is still **a draft**.
5. Deploy and let the strategy become **Active** at its start time.
6. When you’re ready, **lock** it to make it **immutable**.

Once that’s in place, your Vesting & Claim Portal can safely handle all user-facing claims.


---

# 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://tms-finance.gitbook.io/tms.finance/vesting-and-lockups/create-a-vesting-strategy.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.
