Vesting
Time-based token vesting via Streamflow.
Overview
Vesting locks tokens and releases them over time according to a schedule. This is commonly used for:
- Team allocations
- Investor tokens
- Advisor grants
- Community rewards
Vesting Modes
Etch supports two vesting modes:
Time-Based (time)
Simple linear vesting with optional cliff:
vestingConfig: {
mode: "time",
cliffMonths: 6, // Tokens locked for 6 months
durationMonths: 24 // Then unlock linearly over 24 months
}Example Timeline (1M tokens):
| Month | Event | Unlocked | Cumulative |
|---|---|---|---|
| 0-6 | Cliff period | 0 | 0 |
| 6 | Cliff ends | 0 | 0 |
| 7 | First unlock | 41,666 | 41,666 |
| 12 | 6 months vesting | 41,666 | 250,000 |
| 18 | 12 months vesting | 41,666 | 500,000 |
| 30 | Fully vested | 41,666 | 1,000,000 |
Hybrid (hybrid)
Split allocation between time-vesting and other uses:
vestingConfig: {
mode: "hybrid",
time: {
percent: 50, // 50% of reserve goes to time vesting
cliffMonths: 6,
durationMonths: 24
}
// Remaining 50% goes to liquidity/treasury
}Claiming Tokens
Beneficiaries can claim unlocked tokens at any time:
Via API
curl -X POST https://etch.film.fun/api/vesting/VEST123.../claim \
-H "Authorization: Bearer etch_sk_live_xxxxx"Via Streamflow UI
- Visit app.streamflow.finance
- Connect your wallet
- View incoming streams
- Click “Withdraw” on your vesting contract
Checking Vesting Status
curl https://etch.film.fun/api/vesting/VEST123... \
-H "Authorization: Bearer etch_sk_live_xxxxx"Response:
{
"contract": "VEST123...",
"beneficiary": "8vP2...",
"total": 1000000,
"unlocked": 250000,
"claimed": 100000,
"claimable": 150000,
"schedule": {
"start": "2026-01-01T00:00:00Z",
"cliff": "2026-07-01T00:00:00Z",
"end": "2028-07-01T00:00:00Z"
}
}Configuration Options
| Field | Type | Default | Description |
|---|---|---|---|
cliffMonths | number | 0 | Months before any tokens unlock |
durationMonths | number | 12 | Months for linear vesting after cliff |
cancelable | boolean | false | Whether sender can cancel stream |
transferable | boolean | false | Whether beneficiary can transfer stream |
Best Practices
- Set reasonable cliffs — 3-12 months is typical for team/investor tokens
- Set a clear schedule — Use cliff and duration that fit your roadmap
- Consider market impact — Large unlocks can affect token price
- Communicate schedule — Publish vesting schedule publicly for transparency
Last updated on