Token vesting, lockups and OTC infrastructure for DAOs and onchain teams. Plans lock ERC-20s and mint an ERC-721 to the recipient — schedules support cliffs, periodic unlocks, governance voting on locked tokens, and admin revocation. Used by Coordinape, Optimism, Arbitrum and others for grant distributions.
- 01investor / team vesting
- 02claimable token grants
- 03voting-enabled locked tokens
- 04batch grant deployments
- 05merkle claim + vest combos
- pnpm add viem wagmi
| Variable | Scope | Description |
|---|---|---|
| HEDGEY_CHAIN_ID | Client | Numeric chain id. Hedgey is deployed on 25+ EVMs (Ethereum, Arbitrum, Optimism, Base, Polygon, Gnosis, Avalanche, Celo, Linea, etc.) — addresses are listed in the docs per-chain. |
Hedgey ships no first-party JS SDK — wire viem/wagmi against the contract ABIs published in `hedgey-finance/Locked_VestingTokenPlans`. Pick the right plan contract: `TokenVestingPlans` (admin-revocable, snapshot-friendly), `VotingTokenVestingPlans` (adds onchain ERC-20 Votes delegation), `TokenLockupPlans` (transferable NFT, no admin revoke), or the `_Bound` variants (non-transferable). Approve the plan contract, then call `createPlan(recipient, token, amount, start, cliff, rate, period, vestingAdmin)` — `rate`/`period` together define the linear-but-periodic unlock. For airdrops, use the `ClaimCampaigns` contract (`createLockedCampaign` with a merkle root) and recipients claim with `claimAndDelegate`. Use `BatchPlanner` to deploy hundreds of plans in one tx.
- ⚑Vesting plans are revocable by `vestingAdmin` only on the `*VestingPlans` contracts; `*LockupPlans` have no admin revoke — pick the contract before deployment, you cannot switch later.
- ⚑Schedules are linear-but-periodic: tokens accrue continuously but only become claimable each `period` seconds (per-second, daily, monthly). A monthly plan with 1 second elapsed shows zero claimable.
- ⚑Voting variants delegate via OZ ERC-20 Votes — recipients must self-delegate (or accept the plan's auto-delegation in `claimAndDelegate`) before the proposal snapshot or their locked tokens count as 0.
- ⚑Plan NFTs on the transferable contracts can be sold/transferred — gate eligibility on the underlying recipient at claim time, not on NFT ownership.
- ⚑BatchPlanner caps at ~100–200 plans per tx depending on chain gas limits; chunk larger campaigns or it will out-of-gas.
- ⚑Locked tokens on `*Bound` contracts cannot move at all — Snapshot strategies that read transferable balances will undercount; use the Hedgey-specific Snapshot strategy.