Token Vesting with Hedgey
Learn how to propose token vesting plans with Hedgey on Tally.
Last updated
Learn how to propose token vesting plans with Hedgey on Tally.
Last updated
Using Hedgey, you can make a proposal for ERC-20 token vesting plans. Token vesting plans allow onchain teams to issue vesting token plans to members, mirroring traditional vesting with features like cliffs, flexible schedules, and backdated start dates. It's fully onchain, revocable, and customized for onchain teams' needs.
Key features include linear/periodic unlock strategies, onchain governance voting, customizable dates, governance rights to vesting tokens, admin features for transferring vesting plans, delegation of vesting plans to multiple addresses, and beneficiaries' ability to claim tokens at their discretion. The contracts are fully onchain, ensuring interaction even without Hedgey UIs.
You can create vesting plans one at a time or multiple in the same transaction. You need to add 2 custom actions to a proposal.
The first custom action is to approve the allowance for the Hedgey contract to spend the tokens to create vesting plans.
Target contract address: the address of your DAO governance token, or whatever token you are planning to use for vesting
Contract method: approve
Calldatas:
spender: 0x3466EB008EDD8d5052446293D1a7D212cb65C646 (the Hedgey Batch Planner contract address)
amount: the total amount that you will deploy in the vesting batch
Create a second custom action with the following.
Target contract address: 0x3466EB008EDD8d5052446293D1a7D212cb65C646
Contract method: batchVestingPlans
Then, input the parameters as follows:
Locker: 0x1bb64AF7FE05fc69c740609267d2AbE3e119Ef82 (address of the vesting plans contract)
Token: address of your DAO token
totalAmount: the total amount of tokens to be distributed to vesting recipients
Plans: this is an array (tuple) of each grants plan, which you can paste in the details of each recipient individually
Recipient: address of grant recipient
Amount: total amount of tokens they will granted (include decimals)
Start: Unix time stamp of when the unlocking will start
Cliff: Unix time stamp of an optional cliff, if no cliff you can input 0 or the start date
Rate: The amount of tokens that unlock each period - use the spreadsheet helper
Period: the seconds in the period for vesting, so for instance use a 1 for a streaming style period.
vestingAdmin: the admin of the vesting plans who can revoke plans
adminTransferOBO: this allows the vestingAdmin to transfer plans on the recipients behalf in the case of emergency
mintType: 7; this is a specific number for the Hedgey dApp to display things properly.
Note all of the plans batched need to have the same period and vesting admin.
Consider the following example:
If you have a specified total amount of tokens, for example 100,000, that you are distributing with a 2-year vesting term, the calculation for streaming would be different than for monthly payments.
For streaming: The vesting term spans 63,072,000 seconds, as there are 31,536,000 seconds in a year. Assuming your token has 18 decimals, you would calculate the rate of token distribution per second as follows: (100,000 * (10^18)) / 63,072,000 = 1,585,489,599,188,230. If your token has a different number of decimals, replace 18 with the appropriate number in the formula.
For monthly payments: Over a 2-year vesting term, there are 24 discrete periods (months). The calculation for the rate of token distribution per month would be: (100,000 / 24) * (10^18) = 4,167 * (10^18). This implies that 4,167 tokens will vest each month. However, in the last month, only 4,159 tokens will vest to complete the total distribution of 100,000 tokens.