White paper
  • Introduction
    • 🔍Overview
  • TA-DA APP
    • ⚙️How it works
    • 📱Application overview
      • 🫂Social Media Engagement
    • 🎮Game Mechanics
      • ➡️Energy
      • ➡️Abilities
      • ➡️Items
      • ➡️Shop
      • ➡️Lootboxes
      • ➡️Marketplace
      • ➡️Gems
    • 💰User rewards
      • ➡️Prize Pools
      • ➡️Rewards & Staking
      • ➡️Ta-da Bondz (T-Bondz)
  • WHITE PAPER
    • 📖Introduction: The Data Wall
    • 📖Human Generated Data
    • 📖Scaling data generation with blockchain
    • ❇️Use-cases
      • 🧠Artificial Intelligence
        • ➡️Audio Datasets
        • ➡️Video Datasets
        • ➡️Image Datasets
        • ➡️Text Datasets
      • 🖇️Data Structuring
    • ⛓️Blockchain Integration
      • ➡️Smart Contracts
      • ➡️Snapshot System
      • ➡️In-app Wallet
      • ➡️Signature
      • ➡️Next step: Slashing Authorization
      • ➡️Next step: Ta-da chain
    • 📄Quality Assurance
  • Token
    • 🏦Economy
      • ➡️Agents
      • ➡️Money Flow
      • ➡️Economy Breakdown
      • 🔥The Big Burn
    • 📊Token Metrics
    • 🏦Staking
      • ➡️On-chain Staking
      • ➡️Meria Staking
      • ➡️xExchange Metastaking
    • 💰Buy $TADA Tokens
      • 📈Buy on Kucoin
      • 📈Buy on PancakeSwap
      • 📈Buy on xExchange
  • Project
    • 🛫Roadmap
    • 🧑‍🤝‍🧑Team
  • LINKS
    • 📱Try the beta!
    • 🌎Website
    • 🐦X (Twitter)
    • 🗣️Discord
    • 🗞️Telegram
Powered by GitBook
On this page
  • Distribution Formula
  • User Score Formula
  • Staking Score Formula
  • Formula
  • value
  • Liquidity Score Formula
  • Activity Score Formula
  • Choice of Parameters
  1. TA-DA APP
  2. User rewards

Prize Pools

PreviousUser rewardsNextRewards & Staking

Last updated 4 months ago

Each day, tokens coming from in-app purchases and B2B sales induced buybacks are topped up with tokens from the "Community slot" and distributed to users based on specific parameters:

  • Activity: Tasks completed on a given day, and consistency over the last 10 days

  • Staking: Amount staked across Ta-da staking pools

  • LP providing: Amounts of Ta-da LP tokens held

Rewards from Daily Prize Pools are distributed under the form of Tada Bondz (T-Bondz)

The amount of tokens distributed each day is variable, and is computed with logics described below

Distribution Formula

Computed daily for each user, the output of this formula determines which share of a daily prize pool will be allocated to a specific user.

percent_to_distributei=scoreia1+∑scorejapercent\_to\_distribute_i = \dfrac{\text{score}_i^a}{1 + \sum \text{score}_j^a}percent_to_distributei​=1+∑scoreja​scoreia​​

The previous value then allows for a straightforward calculation of the number of tokens to be distributed:

to_distributei=percent_to_distributei∗total_tokens_to_distributeto\_distribute_i=percent\_to\_distribute_i * total\_tokens\_to\_distributeto_distributei​=percent_to_distributei​∗total_tokens_to_distribute

User Score Formula

Here is the formula for calculating a user's score:

Where:

Staking Score Formula

Here is the formula for calculating the staking score:

Where:

For example, considering the values in the table below:

  • $1 staked in the "12 months" pool corresponds to a value of 1;

  • $2 staked in the "6 months" pool corresponds to a value of 1;

  • $10 provided in the "1 month" pool corresponds to a value of 0.8.

Stake
Factor

12 months

1

6 months

0.5

3 months

0.25

1 month

0.08

Liquidity Score Formula

The liquidity score uses exactly the same formula as the one previously described:

Where:

Activity Score Formula

The activity score encourages user engagement and incentivizes them to return to the application regularly. It rewards consistency (whereas experience encourages quantity). This score increases by 1 each day the user completes at least one task and is reset to 0 if the user fails to complete any task for a day.

It is calculated as follows:

Where

Choice of Parameters

The top-down strategy for selecting the various parameters is based on the following steps:

  1. Choose the desired maximum amplification.

  2. Decide on the relative importance of staking and liquidity.

  3. Determine the parameters.

Daily Prize Pools are launched with the following parameters, which are subject to possible evolutions

Parameter
Initial Value
Comments

4

x4 on XP for users with maxxed out staking and LP scores

0.7

Weight of staking score

0.2

Weight of LP score

0.1

Weight of activity score

100 000

Upper limit for staking multipliers

0.002

Smoothing factor

10

Max days in a streak

100 000

Upper limit for liquidity multipliers

scorei=xpi∗[1+(α∗staking_scorei+β∗liquidity_scorei+γ∗activity_scorei)∗(MAX_AMPLIFICATION−1)]score_{i} = xp_i * [ 1 + ( \alpha * staking\_score_i + \beta * liquidity\_score_i + \gamma * activity\_score_i ) * (MAX\_AMPLIFICATION - 1) ]scorei​=xpi​∗[1+(α∗staking_scorei​+β∗liquidity_scorei​+γ∗activity_scorei​)∗(MAX_AMPLIFICATION−1)]

scoreiscore_iscorei​ corresponds to the user's score (over the last 24 hours).

xpixp_ixpi​ is the experience points of the user (over the last 24 hours).

staking_scoreistaking\_score_istaking_scorei​ is the user staking score (please see below).

liquidity_scoreiliquidity\_score_iliquidity_scorei​ is the user liquidity score (please see below).

activity_scoreiactivity\_score_iactivity_scorei​ is the user activity score (please see below).

α\alphaα is the staking score modifier.

β\betaβ is the liquidity score modifier.

γ\gammaγ is the activity score modifier.

MAX_AMPLIFICATIONMAX\_AMPLIFICATIONMAX_AMPLIFICATION is the maximum amplification.

staking_scorei=min(log⁡(k×weighted_stakei+1)log⁡(k×MAX_STAKING+1),1)staking\_score_i = min(\frac{\log(k \times weighted\_stake_i + 1)}{\log(k \times \text{MAX\_STAKING} + 1)}, 1) staking_scorei​=min(log(k×MAX_STAKING+1)log(k×weighted_stakei​+1)​,1)

staking_scoreistaking\_score_istaking_scorei​ is the result of a user's staking score. It is a value within the range [0,1][0, 1][0,1].

MAX_STAKINGMAX\_STAKINGMAX_STAKING is a value (in dollars) that caps the impact of staking for whales. Beyond this value, the score no longer increases.

weighted_stakeiweighted\_stake_iweighted_stakei​ is the amount, weighted by the lock duration, of the dollar value of the user's staked tokens (see below).

kkk is the smoothing factor of the curve. The smoothing factor allows modifying the rate of increase of the curve (see below).

weighted_stakeiweighted\_stake_iweighted_stakei​ Formula

In the previous formula, weighted_stakeiweighted\_stake_iweighted_stakei​ represents the weighted liquidity the user has placed in the staking pools. This value is calculated as follows:

weighted_stakei=∑nnb_tokens(pooln)∗multiplier(pooln)∗token_priceweighted\_stake_i=\sum_{n}^{} nb\_tokens(pool_n)*multiplier(pool_n)*token\_priceweighted_stakei​=n∑​nb_tokens(pooln​)∗multiplier(pooln​)∗token_price

nb_tokens(pooln)nb\_tokens(pool_n)nb_tokens(pooln​) is the number of tokens locked by the user in the pool nnn.

multiplier(pooln)multiplier(pool_n)multiplier(pooln​) is the pool factor.

token_pricetoken\_pricetoken_price is the token price.

kkk value

The smoothing factor allows modifying the rate of increase of the curve. Thus, in the example below (α=1)(\alpha = 1)(α=1), we see that reaching a value of (0.75)(0.75)(0.75), requires staking $6000 when k=1k = 1k=1, whereas it requires staking $50000 to reach the same value when k=0.0001k = 0.0001k=0.0001.

liquidity_scorei=min(log⁡(k×liquidityi+1)log⁡(k×MAX_LIQUIDITY+1),1)liquidity\_score_i = min(\frac{\log(k \times liquidity_i + 1)}{\log(k \times \text{MAX\_LIQUIDITY} + 1)}, 1)liquidity_scorei​=min(log(k×MAX_LIQUIDITY+1)log(k×liquidityi​+1)​,1)

liquidity_scoreiliquidity\_score_iliquidity_scorei​ is the liquidity score of the user.

MAX_LIQUIDITYMAX\_LIQUIDITYMAX_LIQUIDITY is a value (in dollars) that caps the impact of liquidity provision for whales. Beyond this value, the score no longer increases.

liquidityiliquidity_iliquidityi​ is the dollar value of the tokens the user has provided in the pools.

kkk is the smoothing factor of the curve.

activity_scorei=min(daily_streaki,MAX_ACTIVITY)MAX_ACTIVITYactivity\_score_i = \frac{min(daily\_streak_i, MAX\_ACTIVITY)}{MAX\_ACTIVITY} activity_scorei​=MAX_ACTIVITYmin(daily_streaki​,MAX_ACTIVITY)​

activity_scoreiactivity\_score_iactivity_scorei​ is the activity score (between 0 and 1).

daily_streakidaily\_streak_idaily_streaki​ is the number of consecutive days during which the user has completed at least one task.

MAX_ACTIVITYMAX\_ACTIVITYMAX_ACTIVITY is the maximum score allowed.

Since daily_streakidaily\_streak_idaily_streaki​ is reset to 0 in case of a missed day, the user is encouraged to maintain their streak of consecutive days, even after reaching the maximum score.

💰
➡️
MAX_AMPLIFICATIONMAX\_AMPLIFICATIONMAX_AMPLIFICATION
α\alphaα
β\betaβ
γ\gammaγ
MAX_STAKINGMAX\_STAKINGMAX_STAKING
kkk
MAX_ACTIVITY_SCOREMAX\_ACTIVITY\_SCOREMAX_ACTIVITY_SCORE
MAX_LIQUIDITYMAX\_LIQUIDITYMAX_LIQUIDITY
k=1k = 1k=1
k=0.0001k = 0.0001k=0.0001