On this page you will find everything you need to know about vesting your tokens with us.
While our Liquidity Locker allows you to lock Liquidity Provider tokens to prevent classic "rug pulls", it does not allow single tokens (i.e. not LP pairs) to be time-locked.
This is what our Token Vesting feature does.
Token vesting is simply the ability to lock n amount of token for x amount of time as a commitment to hold the token.
A clear token vesting schedule may help gaining the trust of the community supporting the project, and could allow a more sustainable growth of the project by showing their commitment to the community.
Vested tokens are time-locked in a smart contract, fully audited by Chainsulting, and cannot be sent, sold, added to liquidity or staked.
Token Vesting contracts:
"services" button location in our UI
You will be taken to the screen presented below. Next step is pasting a token address into the field.
Note: As mentioned on the image, it is not recommended to lock your LP tokens in the token locker, as they will not be displayed in the browser.
Token Locker initial screen
After pasting the token address you want to lock, you will see the rest of the UI appear on the right side. To lock, simply select "Add a lock", highlighted on the image. Then select your lock.
Adding a new lock
Next thing to do is setting a wallet address allowed to withdraw the tokens on the unlock date, and amount of tokens you want to lock.
Withdraw address and amount
Next step is selecting an unlock date for your tokens.
You can select "Unlock on date", which unlocks all your tokens on the same date.
You can also spot a "Premature Unlock Condition" feature, which works very well with ILOs. You should contact the UNCX team for more details if you want to use it. Note: Once locked tokens cannot be withdrawn before the unlock date. UNCX is a decentralized platform and will not unlock your tokens if you choose a wrong date. Please, double-check everything before proceeding further.
Unlock date of the lock
Or "Unlock over time", allowing you to withdraw your tokens not all at once, but in smaller batches over time. Selecting this option, you will have to set a date of the first unlock, and of the last unlock. Tokens will be unlocked every block between those dates.
Unlock over time
If you selected "Unlock over time" option, you will see a schedule, helping you to better visualize when your token will be unlocked.
Schedule of your tokens' unlocks
You can enable free locking feature, which allows you, or anyone from your community, to lock the specific token how many times you want with just a one time fee.
Fee locking feature
To see already existing locks, get back to the first locking screen, paste a token address and instead of "New lock", select "View locks" tab.
Already existing locks
Sometimes you may need to create a big number of locks at once. Creating them manually, one by one, would be tedious and boring. Lucky for you, we have a tool for that.
After you already proceeded to the lock screen, you will see two small buttons: Import CSV and Download CSV (both highlighted on the screenshot below).
"Download CSV" and "Import CSV" buttons
For now, select "Download CSV". That will start a download on a spreadsheet with the lock template. Let's jump into it.
CSV lock settings
You will see 5 different settings you can customize (note that the formatting might be a little different when you open the file, it does not matter. It works the same).
Going from left to right:
- Owner address: in this field you should input the address of the lock owner.
- Amount of tokens you want to lock: The amount of tokens that will be locked in one lock.
- Start date: Start date of the tokens emission (input needs to be epoch). Note: change this only if you want to create a linear lock. If you want a standard lock it should stay at 0.
- End date: The date of the unlock of the tokens (input needs to be epoch).
- Premature unlock condition: Address of a contract with a premature unlock condition
Multiple locks in CSV file
After you created your lock, you can copy it as many times you want in a way displayed on the image above.
If your locks are ready to go, save the file. Now, navigate back to the lock screen (first screenshot of this guide). Select "Import CSV".
After importing the CSV file, all your locks will be displayed on the lock screen.
Also, for a better view you can switch to the table view, using the button highlighted on the screenshot below.
Table view button
By using the table view you can quickly confirm all the information for all your locks, as well as edit them.
First, connect to the app using the wallet allowed to withdraw the tokens and go to your profile. You can do it by selecting an icon in the top right corner of the screen.
Once you are there, select "Token locks" tab, you will be able to see all the tokens you locked. Select the one you want to withdraw.
Your token locks
Once you selected your token, you can use filter options for easier navigation through your locks.
The next step is selecting the gear icon and selecting "Withdraw". Then just select the amount you want to withdraw.
Withdrawing your tokens
Another thing you can do using the withdrawal screen is editing your lock. We have implemented few unique features to give our customers more flexibility with their tokens and locks.
Advanced locker features
UNCX lockers support relocks directly from the UI. Token developers do not need to withdraw the their tokens to relock them. It can be done with 1 click from the above UI.
Simply, choose a different address allowed to withdraw the locked tokens.
This allows any token developer, already locking with us, to add more tokens for an existing lock. Simply approve and lock!
It is possible to split your lock in different sub-locks. You can find more information on the image above.
This guide will walk you through locking your tokens using transaction builder, a built-in feature of Gnosis Safe.
After selecting the transaction builder in the Gnosis Safe UI, you will be taken to the screen presented below.
First thing you have to do is approve our vesting contract to transfer your tokens.
In order to do that, enter the address of your token to the first field and its ABI to the second.
You can find an ABI of your token in the "Contract" tab on your token's page in the blockchain explorer.
Next, select "approve" method, and fill the next two fields:
Spender: in this field, you should input the address of OUR VESTING CONTRACT (you can find each contract at the start of this page).
Amount: In this field, you should input the amount of tokens you want to approve. Keep in mind you will not be able to lock more tokens than you approved. Also, keep in mind you have to include every digit, so if your tokens has 18 digits and you want to lock 10 tokens, you will input 10 + 18 zeros into this field (10000000000000000000).
After filling all the fields, select "Add Transaction" and proceed to the next one.
Next step is creating a lock transaction. The first step here is to input a contract address of our locker and ABI. You can find the ABI in the "Contract" tab on the blockchain explorer.
Next, select the "lock" method and input the address of the token you want to lock in the _token (address) field.
For the last field, you have to fill it in the way explained below:
[["owner address", "amount of token you want to lock", "Start Emission date", "End Emission date", "condition"]]
owner address: Wallet address you input here will have an ownership of the lock and be able to edit it/withdraw tokens
amount of token you want to lock: Simply, an amount you want to lock. NOTE: you cannot lock more than you approved in the previous step NOTE2: you have to include every digit, so if your token has 18 digits and you want to lock 10 tokens, you will input 10 + 18 zeros into this field (10000000000000000000).
Start Emission date: If you want to create a standard lock, set this to 0 and proceed. If you want to create an incremental lock, this will be the date of the start of token emission. NOTE: In order to set this setting you will have to input epoch. You can use Epoch Converter to convert a date to an epoch.
End Emission date: If you are creating a standard lock this will be a date when your tokens unlock. If you are creating an incremental lock, this will be a date of the emission end. NOTE: In order to set this setting you will have to input epoch. You can use Epoch Converter to convert a date to an epoch.
Condition: If you have a condition for premature unlock, you can input it here. If not, just enter "0x0000000000000000000000000000000000000000"
Then proceed by selecting "Add Transaction" button.
At this point, you should have at least two transactions on the right side of your screen (desktop). If you want to create multiple locks, you can do it just by adding more lock transactions. You don't have to approve more than once.
Proceed by selecting "Create Batch" button.
In the final screen, you can first try to "Simulate" your transaction to verify if there are no errors in the settings. If everything
If there are no errors, you will see an information about the successfull simulation below the buttons. You can proceed by selecting "Send Batch" buttons. And that's it!
If you set an owner of the lock to a wallet address different than the safe, you can view your locked tokens by connecting the wallet to our dapp, selecting the human icon in the top right corner of the dapp (desktop), and going to "Token Locks" tab. You can withdraw then the standard way.
Althought, if you selected your gnosis safe address as the owner, you can still withdraw using the transaction builder (see the guide in the next section).
To withdraw your locked tokens using the transaction builder, you have to locate your lock in our dapp first.
Once you are there, you have to input a token address you locked, and select "view locks" tab.
Next step is selecting the lock you want to withdraw from, expand it by selecting it and find the lock ID. Save or remember it, you will need it to withdraw the tokens.
It's time to use the transaction builder. Input an address of the vesting contract your token are locked in and its ABI (you can find it on the blockchain explorer page of the contract, under the "Contract" tab).
In the next step, select "withdraw" from the method list and input the lock ID you previously checked in our dapp.
Input the amount and proceed.
NOTE: you have to include every digit, so if your token has 18 digits and you want to lock 10 tokens, you will input 10 + 18 zeros into this field (10000000000000000000).
You should have at least one transaction on the right side of your screen now (desktop).
Select "Create Batch" to proceed.
In the final screen, you can test your transaction by selecting "Simulate" button to make sure there are no errors if the settings. If the simulation is successfull proceed by selecting "Send Batch" button. That's it!