Deposits
TIG token holders can lock their TIG tokens to create Deposits:
-
Deposits in The Innovation Game are defined as the remaining amount of locked TIG Tokens.
-
Weighted Deposits are deposits that have been weighted by their remaining locked period (measured in rounds)
Deposits are used in calculating the limit on cutoff for Benchmarkers. Weighted deposits are used in calculating the rewards for delegating TIG tokens to a Benchmarker
Deposits & Cutoff
For benchmarkers to participate in the protocol, they must have some minimum deposit proportional to their compute power. Deposits made by the benchmarkers are used to calculate a limit for their cutoff - which is the maximum number of solutions per challenge that can qualify and earn rewards.
For every round, the minimum deposit required to maintain a cutoff increases by 15 TIG.
A Benchmarker needs to maintain a minimum deposit to ensure that their cutoff is enough so that their solutions can qualify and earn rewards.
Before Round 47, the minimum deposit required to have a cutoff of 1 was 100 TIG. From Round 47, the ratio increases by 15 TIG per round.
Example:
- For Round 46 and before, the ratio to have a cutoff of 1 was 100 TIG.
- For Round 47, the ratio to have a cutoff of 1 would be 115 TIG.
- For Round 48, the ratio to have a cutoff of 1 would be 130 TIG. This means even if the Benchmarker submits 10 solutions, only one solution will qualify and earn rewards. In this case, they would have to maintain a deposit of at least 1300 TIG for that round.
Only the Benchmarker’s own deposit is used to limit their cutoff. Deposits delegated to the Benchmarker by others are not considered.
By using deposit in limiting a Benchmarker’s cutoff, this ensures Benchmarkers have to have some minimum skin in the game which is proportional to their compute power.
Limiting the cutoff for a Benchmarker in turn limits how much the Benchmarker can earn. For a Benchmarker to increase the limit on their cutoff, they must have more deposits.
Calculating Deposits
As deposits are made using Sablier and follow a linear vesting schedule, the deposits reduce over time as the tokens are unlocked (The remaining amount of locked TIG decreases at a constant rate). The deposit is calculated as follows:
Therefore, the benchmarker needs to be aware and make sure they manage their unlocked tokens which no longer count as their deposit (as they are withdrawable).
Check Making a Deposit to learn more about how to make a Deposit.
Here’s a simple Python function to calculate the deposit:
def calculate_deposit(initial_locked_amount, remaining_lock_time, total_lock_time):
return initial_locked_amount * (remaining_lock_time / total_lock_time)
Delegated Deposits
Benchmarkers can opt to share up to 25% of their rewards with delegators. Token holders can become delegators by creating deposits and selecting a Benchmarker to delegate to.
A Benchmarker’s shared rewards are automatically distributed amongst delegated deposits every block, pro-rata with weighted deposit.
Benchmarkers’ deposits are automatically self-delegated to themselves.
A Benchmarker must have a minimum 10,000 TIG Deposit for delegation to be automatically enabled for them. If their deposit is below this threshold, any delegated deposit (other than self deposit) is ignored.
- A Benchmarker can update their reward share once every 1440 blocks (~1 day)
- A TIG token holder can update their delegatee once every 60 blocks (~1 hour)
Weighted Deposit
The weighted deposit is calculated from deposits as follows:
This formula just provides you with an estimate of the weighted deposit as it assumes that the remaining locked period is exactly a multiple of weeks and the current given round ends in one week.
Example:
If you have 260 TIG tokens locked for 26 weeks, each round will have 260/26 = 10 TIG tokens unlocked. The weighted deposit for each week would be:
Week 1: 10 x 1
Week 2: 10 x 2
...
Week 26: 10 x 26
Total weighted deposit = 10 x (1 + 2 + … + 26) = 3510
Deposits are weighted to incentivise token holders to lock their tokens for longer durations.
The longer your remaining locked period, the higher will be the weight of your deposit. This means that you will be earning a greater fraction of the Benchmarker’s shared rewards and inturn a higher APY.
The locking period is uncapped, but any deposits locked for more than 26 weeks will have a maximum weight of 26.
Weighted deposits are used to calculate:
- The Benchmarker’s influence and earnings
- The token holder’s APY from delegating their deposits to a Benchmarker
Calculating Rewards
The weighted deposit is used to calculate the influence of a token holder over a Benchmarker’s rewards.
Every block, all deposits delegated to a Benchmarker are weighted and summed up to calculate the Benchmarker’s total weighted deposit. Afterwards, we can calculate the fraction of weighted deposits for each Benchmarker (fraction is a number between 0.0 to 1.0).
Where is the sum of weighted deposit delegated to a specific Benchmarker and is the sum of weighted deposit delegated to all Benchmarkers.
A Benchmarker’s fraction of weight deposit is limited to 1.25x their average fraction of qualifiers.
Example: If a benchmarker has an average of 10% of qualifiers, then their fraction of weighted deposit is limited to 12.5% (10% x 1.25). Even if your fraction of weighted deposit is 50%, it will be limited to 12.5%
The fraction of weighted deposit is used in the calculation of influence.
Estimating APY for Delegation
The APY for delegating to a Benchmarker is calculated as follows:
-
First, you need to calculate the estimated weighted deposit with your given and .
-
Next, you need to calculate how much the Benchmarker is sharing with the delegators per block. This is calculated as follows:
You can use the API to get the current and for the Benchmarker.
- For the APY, you need to calculate the total rewards shared in a year. This is calculated as follows:
- Now, to calculate your fraction of shared rewards:
You can use the API to get the for the Benchmarker.
- Finally, you can estimate your APY as follows:
You can also use this Python script to calculate the estimated APY
The APY is an just estimate and can vary from block to block.