###### tags: `sushi` # Wonderland Compensation Mechanics 2 A fixed amount of SUSHI tokens will be deposited into a vesting contract. This amount will only be completely sent to Wonderland if and only if price requirements are met. In other cases, it will return to the Sushi Treasury (2 years after deployment). Disclaimer: code below is pseudocode. 1. A total of 5M SUSHI tokens will get linearly vested in time over a 1 year period. `totalSushi = 5*10**6` `vestedSushi = totalSushi*t/365 ` ![](https://i.imgur.com/p6XBc7P.png =500x) 2. **Time vested:** 1/3 from these can be immediately claimed as they get released. `unlockableTimeVested = 1/3*vestedSushi` 3. **Price vested:** The remaining 2/3 will be made available with a speed that depends on the price of SUSHI. Notice that the price dependence is built on top of the time dependence, so formally it would be better to call these tokens as time vested with a price target. We are defining a speed multiplier to determine how many SUSHI tokens get available to claim. This multiplier is 0 whenever the price is equal or less than the price of SUSHI when the contract gets deployed. **Wonderland gets no price vested SUSHI if the price goes down from current price.** We are also setting a target price of $20 USD per SUSHI that makes the multiplier equal to 1. ``` targetPrice = 20 initialPrice = getActivePrice() multiplier(p): if p < initialPrice: return 0 else return (p-initialPrice)/(targetPrice-initialPrice) ``` 4. Each week, the contract will query the TWAP of the week from the oracle and compute this multiplier. Then, we will apply this multiplier to a fixed weekly amount to determine the amount of SUSHI made available for claiming this week, and add it to the availableClaim bag. ``` weeklyVested = (2/3)*totalSushi*7/365 // each week: price = getWeeklyTWAP() availableClaim += multiplier(price)*weeklyVested ``` ![](https://i.imgur.com/olmpmbF.png =600x) 5. When claimed, availableClaim resets to 0. 6. After 1 year, the original vesting ends. The contract will still hold the SUSHI tokens that were vested but not made available by the multiplier. These tokens will keep getting available weekly with the same speed function described above. 7. After 2 years from deployment, the contract halts and sends non claimed SUSHI tokens back to the treasury. If all vested SUSHI become available, the contract also finishes. SushiDAO will have access to the contract to stop vesting if the community is not happy with Wonderland's involvement. In order to execute the Price vested mechanism, a price oracle has to be provided. We will use [ChainLink data](https://data.chain.link/ethereum/mainnet/crypto-usd/sushi-usd) in order to avoid potential manipulations. Simplified scenarios with this model (assuming initialPrice = 3.5): - If the price of SUSHI stays at or below initialPrice, Wonderland gets 1.66M SUSHI. - If the price of SUSHI in at 5USD average during two years, Wonderland gets 2.33M SUSHI - If the price of SUSHI in at 10USD average during two years, Wonderland gets 4.33M SUSHI. These are rough estimates considering a constant price.