Payout Distribution on Information Markets

The goal is to determine the payout function, defined as :

f(x)=factor×xf(x) = \text{factor} \times x

x represents the absolute delta from the correct average probability. The constant factor needs to be calculated to ensure that the total payout equals the total deposit amount.

Step 1: Calculating Triangle Areas

For bets within a 3% delta range, the absolute deltas are divided into three categories:

Delta 2% Area:

Calculated over the interval [2, 3]:

23f(x)dx=factor×322factor×222=factor×(9242)=factor×2.5 \int_{2}^{3} f(x) \, dx = \text{factor} \times \frac{3^2}{2} - \text{factor} \times \frac{2^2}{2} = \text{factor} \times \left( \frac{9}{2} - \frac{4}{2} \right) = \text{factor} \times 2.5

Delta 1% Area:

Calculated over the interval [1, 2]:

12f(x)dx=factor×222factor×122=factor×(4212)=factor×1.5 \int_{1}^{2} f(x) \, dx = \text{factor} \times \frac{2^2}{2} - \text{factor} \times \frac{1^2}{2} = \text{factor} \times \left( \frac{4}{2} - \frac{1}{2} \right) = \text{factor} \times 1.5

Delta 0% Area:

Calculated over the interval [0, 1]:

01f(x)dx=factor×122factor×022=factor×12=factor×0.5 \int_{0}^{1} f(x) \, dx = \text{factor} \times \frac{1^2}{2} - \text{factor} \times \frac{0^2}{2} = \text{factor} \times \frac{1}{2} = \text{factor} \times 0.5

Step 2: Ensuring Total Payout Equals Total Deposit:

The total payout is the sum of all triangle areas. This sum must equal the total deposit (e.g., 1000 units):

factor×(2.5+1.5+0.5)=1000\text{factor} \times (2.5 + 1.5 + 0.5) = 1000

With all areas:

factor×4.5=1000    factor=10004.5=222.222 \text{factor} \times 4.5 = 1000 \implies \text{factor} = \frac{1000}{4.5} = 222.222

Without delta 1% bets:

factor×(2.5+0.5)=1000    factor=10003=333.333 \text{factor} \times (2.5 + 0.5) = 1000 \implies \text{factor} = \frac{1000}{3} = 333.333

Step 3: Submitting Information On-Chain

The admin calculates the factor and average off-chain and submits them to the smart contract. The smart contract parameters include:

  • Factor: The constant multiplier for payouts.

  • Average: The calculated average probability.

  • Bets Map: A hashmap with the number of bets in each delta category (e.g., delta0, delta1, delta2).

Example function call:

submit(factor, average, delta0NumberOfBets, delta1NumberOfBets, delta2NumberOfBets, ...)

The Bets Map is required for calculating payouts since individual reward claims cannot determine the number of bets in each category.

Step 4: Calculating Payouts

Using :

f(x)=xe2piiξxf(x) = x * e^{2 pi i \xi x}

distribute the pool for each delta category:

Delta 0 Area:

Payout=factor×0.5=222.222×0.5=111.111\text{Payout} = \text{factor} \times 0.5 = 222.222 \times 0.5 = 111.111

Delta 1 Area:

Payout=factor×1.5=222.222×1.5=333.333 \text{Payout} = \text{factor} \times 1.5 = 222.222 \times 1.5 = 333.333

Delta 2 Area:

Payout=factor×2.5=222.222×2.5=555.555\text{Payout} = \text{factor} \times 2.5 = 222.222 \times 2.5 = 555.555

Total:

111.111+333.333+555.555=1000111.111 + 333.333 + 555.555 = 1000

Adjustments When Bets Are Missing

If there are no bets in the delta 1 category:

Delta 0 Area:

333.333×2.5=833.333333.333 \times 2.5 = 833.333

Delta 2 Area:

333.333×0.5=166.667333.333 \times 0.5 = 166.667

Total:

833.333+166.667=1000833.333 + 166.667 = 1000

Reward Distribution for Claimants

When a user claims their reward, the smart contract calculates the reward based on:

  • Category of the bet (delta0, delta1, delta2).

  • Number of bets in that category.

Example:

If there are 10 bets in the delta 0 category (payout pool: 555.555):

Individual Payout=555.55510=55.555\text{Individual Payout} = \frac{555.555}{10} = 55.555

Last updated