Many projects face the need to migrate their tokens at various stages. Whether you need to move your token to a different blockchain, change its name & symbol, replace vulnerable code, or fork out a malicious actor, blockchains make it easy to do so. All addresses, balances, and history are publicly readable, so you can easily airdrop coins to existing addresses by matching the balances 1:1.

With vesting it’s not so simple - migrating tokens with a conventional vesting system can be difficult because it’s hard to restore the vesting state of partially vested tokens when issuing a new token. But with Unvest, the vestingToken smart contract makes this process simple.

Using Unvest, you can query metadata for each user with a balance of vestingTokens, which will tell you how many tokens are claimed, claimable and locked.

You can then recreate your vesting rounds with your new token, and then use a function called importRecipient to restore the state, and the system will make sure the claimed, claimable and locked amounts match, and the vesting still continues from the original date.

That takes care of all of your vesting tokens.

You can then airdrop the new unlocked token 1:1 to the same wallets that hold the old unlocked token, using the Unvest Multisender.

In a few simple steps, you’ve migrated an entire vesting state accross chains or to a new token without having to do any complex calculations or tokenomics changes.