Install
openclaw skills install erc20-tokenomics-builderDesign and model ERC20 tokenomics with vesting schedules, allocation tables, Uniswap liquidity math, and investor documentation for new token launches.
openclaw skills install erc20-tokenomics-builderEnd-to-end token launch readiness: allocation design → vesting contracts → liquidity math → investor docs.
Standard allocation buckets (adjust to project):
| Category | % Supply | Cliff | Vesting | TGE Unlock |
|---|---|---|---|---|
| Team | 15–20% | 12 mo | 36 mo | 0% |
| Investors (seed) | 10–15% | 6 mo | 24 mo | 0–5% |
| Investors (priv) | 8–12% | 3 mo | 18 mo | 5–10% |
| Ecosystem/DAO | 20–30% | 0 | 48 mo | 5% |
| Community/Airdrop | 10–15% | 0 | 0–12 mo | 100% |
| Liquidity | 5–10% | 0 | 0 | 100% |
| Reserve/Treasury | 10–20% | 0 | Governance | 0–5% |
Output format: Markdown table + CSV for investor decks.
OZ VestingWallet handles cliff + linear release natively.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/finance/VestingWallet.sol";
// Deploy one per beneficiary (or use a factory)
// constructor(address beneficiary, uint64 startTimestamp, uint64 durationSeconds)
// Example: 12mo cliff + 24mo linear for team member
// start = TGE timestamp + 12 months (cliff built in by setting start = cliff end)
// duration = 24 months (linear release after start)
VestingWallet teamVest = new VestingWallet(
teamMemberAddress,
uint64(tgeTimestamp + 365 days), // start after 12mo cliff
uint64(730 days) // 24mo linear vesting
);
Key methods:
release(token) — beneficiary calls to claim vested tokensvestedAmount(token, timestamp) — query how much is unlockablereleasable(token) — current claimable balanceCliff pattern: Set startTimestamp = TGE + cliffDuration. Vesting begins linearly after cliff with no special code needed.
Multi-beneficiary factory pattern: See references/vesting-factory.md
Calculate monthly unlock amounts for each category:
Monthly unlock (post-cliff) = (allocation_tokens / vesting_months)
TGE unlock = allocation_tokens × tge_pct
Remaining = allocation_tokens × (1 - tge_pct)
Linear_per_month = Remaining / vesting_months_after_cliff
Circulating supply projection formula:
CS(t) = Σ [tge_i + max(0, (t - cliff_i) / vest_i) × (1 - tge_pct_i)] × supply_i
Where t = months since TGE, i = each allocation bucket.
Model month-by-month in a table through month 48. Flag any month where unlock > 5% of circulating supply (selling pressure risk).
Initial price = ETH_amount / TOKEN_amount
k = ETH_amount × TOKEN_amount
Slippage for trade size S:
price_impact = S / (ETH_reserve + S)
tokens_out = TOKEN_reserve × S / (ETH_reserve + S)
Recommended: price impact < 1% for typical retail trade size
→ Pool depth = trade_size / 0.01
Example: Target $10k retail trade at <1% impact → Need $1M TVL in the pool
[P_low, P_high] where P = token price in ETH/USDCtickLower / tickUpper = log(price) / log(1.0001)Listing price discovery:
FDV_target = total_supply × listing_price
Implied_MC = circulating_supply × listing_price
Liquidity_ratio = pool_TVL / MC → target 5–15% for healthy launch
See references/uniswap-math.md for deeper tick/range calculations.
## Token: [NAME] ($TICKER)
- Total Supply: X,000,000,000
- TGE Date: [DATE]
- Network: Ethereum / [L2]
- Contract: [0x...]
## This Round
- Round: Seed / Private / Strategic
- Raise: $X at $Y/token → $Z FDV
- Allocation: X% of supply
- Vesting: X mo cliff, X mo linear, X% TGE
- VestingWallet: [contract address or "to be deployed"]
## Token Release Schedule
[Month-by-month unlock table for this tranche]
## Use of Funds
[breakdown]
After deploying VestingWallet, provide:
vestedAmount(tokenAddress, block.timestamp) callrelease() automation → beneficiaries forget; use a keeper scriptreferences/vesting-factory.md — Solidity VestingWallet factory + batch deploymentreferences/uniswap-math.md — Detailed Uniswap v2/v3 tick math and liquidity formulasreferences/allocation-templates.md — Pre-built allocation tables for DeFi, GameFi, DAO, Infrastructuresolidity-audit-precheckdefi-position-trackermulti-sig-treasuryupgrade-solidity-contracts