๐Ÿ’พToken Vesting

This Section covers smart contracts related to Vesting


The Token Vesting Contracts allow on-chain teams to distribute tokens to their employees, contributors, grant recipients, and other beneficiaries, with a time based vesting schedule where tokens that are unvested may be revoked and the schedule cancelled at anytime prior to completion. This tool can be used for any ERC20 payment, whether token or stable coin compensation, with the primary goal being a periodic or streaming based payment schedule that can be cancelled and revoked.

The contract has two main users, the Plan Admin (and generally the creator) and the Beneficiary. The Admin has control over cancelling/revoking the plan, which returns tokens back to the Admin address, and the Beneficiary can claim vested tokens from the escrow contract. The jobs that the contract manages are the vesting over time of the tokens, making them redeemable by the Beneficiary, allowing the Beneficiary to participate in governance with unvested tokens, and allowing the Admin to revoke and cancel a plan.

The escrow contract is built on top of the ERC721 standard, with additional features, whereby the beneficiary has an NFT issued to their wallet address that is the owner of the vesting plan. The tokens are stored in the ERC721 escrow contract, and then when an NFT is minted and issued to a beneficiary, the details of that plan are created and stored in storage, including all of the necessary details to claim tokens, revoke tokens and delegation functions.

Vesting plans are not transferable, except in special case where the Vesting Admin can transfer a plan on behalf of the beneficiary. This means that the NFT are 'soul bound' at the contract level, with the caveat of the special OBO transferability.

Beneficiaries may claim vested tokens anytime, tokens do not automatically stream into their wallet, however, they do have to initiate a token claim / redemption each time. Beneficiaries can also delegate the unvested (and vested but unclaimed) tokens locked inside their NFT to themselves or any other address so as to participate in on-chain and/or offchain (snapshot) governance. The contracts support on-chain governance for Governor Bravo / Alpha natively, as well as dedicated snapshot strategies to make adding governance rights simple for users. Once a beneficiary has redeemed 100% of the vesting tokens, the NFT is burned.

Vesting Admins can revoke plans at any time before they are fully vested. Revoking a plan will return any unvested tokens back to the vesting admin, but will not burn the NFT if there are unclaimed but vested tokens still left for the beneficiary to claim, whereupon they may claim manually on their own schedule. Vesting Admins can revoke the plans as of the current block time, or they can revoke with a future date - in case there is an agreement to vest tokens through an agreed upon future time (like letting someone go at the end of the week and vesting their tokens through EOD Friday).

Last updated