Vesting
Vesting allows multiple, isolated streams of tokens to vest to an address over a set period of time. All streams within the contract share a vesting period, but each stream may begin vesting or release tokens independently.
- Contracts & NatSpec (opens in a new tab)
- Github (opens in a new tab)
- SDK
- Example (opens in a new tab)
How It Works
- Each Vesting is a payable smart contract with a vesting period and a recipient. ETH and ERC20s sent to Vesting are held until a token-specific vesting stream is started. Multiple vesting streams may exist simultaneously within Vesting.
- Once a vesting stream has begun, tokens in that stream will vest linearly and all tokens will be 100% vested by the end of the vesting period. At any time, anyone may release the vested portion to the recipient.
- Since Vesting is immutable, it's designed to be used in conjunction with a mutable Split or any contract that can be modified. Vesting funds to an immutable contract is equivalent to sending all tokens at once, since there is no way to revoke a stream or remove funds within a Vesting before a stream has begun.
- It is unnecessary to duplicate a Vesting that already exists, therefore each Vesting must have a unique combination of vesting period and recipient.
Addresses
Ethereum - 1
Optimism – 10
BSC – 56
Gnosis – 100
Polygon – 137
Fantom – 250
Base – 8453
Arbitrum – 42161
Avalanche – 43114
Zora – 7777777
Aurora – 1313161554