๐ŸŽฑPool Management

Pool creation & updates

Pools can be created and updated via Governance proposals on the Lum Network. The creation or update of a Pool is therefore enforced by all validators as soon as the related governance proposal passes favourably.

Pool parameters

ParameterID

Native Blockchain ID

chain_id

IBC Token Denom

denom

Native Token Denom

native_denom

IBC Connection ID

connection_id

Bech32 Account prefix

bech32_prefix_acc_addr

Bech32 Validator prefix

bech32_prefix_val_addr

Active validator set

validators

Minimum deposit amount (chosen by each pool)

min_deposit_amount

Draw schedule

draw_schedule

Prize Strategy

prize_strategy

Update parameters

Only a subset of Pool parameters are accepted during updates in order to protect the Pool from unpredictable outcomes.

ParameterID

Active validator set

validators

Minimum deposit amount

min_deposit_amount

Draw schedule

draw_schedule

Prize Strategy

prize_strategy

Validators

The Prize pool comes from the yield generated by staking assets on the Pool token native blockchain. The Pool must therefore delegate its deposited tokens to one or more validators in order to generate yield.

A Pool validator is considered inactive if a Pool update removes it from the Cosmos Millions' protocol active validator set. Inactive in this context does not mean the validator is not validating blocks on the native chain.

In case of Deposit, the Pool delegates evenly to all active validators.

In case of Withdrawal, the Pool undelegates first from inactive validators (largest validators based on deposited amount come first) and then evenly from all the active validators.

Draw schedule

The Draw schedule can be changed at any time by governance proposal as long as it abides to the protocol Params (also up to governance proposal changes).

It is important to note that Draws cannot happen at a perfect timing all the time. Their schedule is based on Lum Network's blocks timestamps and Draws should always happen within a few seconds from the scheduled time but can eventually be delayed by a large margin depending on network issues (upgrades, latency etc...). A draw delay of more than a few dozens of minutes might also delay subsequent draws.

The Draw schedule consists of two parameters:

  • Initial Draw time (initial_draw_at): The time at which the first Draw will occur.

  • Delta between draws (draw_delta): The time (delta) between each Draw following the first Draw.

Prize strategy

A Pool prize strategy is composed of a suite of Prize batches (limited by the max_prize_strategy_batches protocol parameter).

Each Prize batch is then defined by:

  • A prize pool percentage: The percentage of the Prize pool directed toward this prize batch

  • A quantity: The number of Prizes of this type drawn by each Draw (limited by the max_prize_batch_quantity protocol parameter)

  • A draw probability: The probability for each Prize of this type to find a winner among the depositors (greater than 0 and less than or equal to 1).

A Prize strategy is considered valid as long as the pool percentage of all prize batches sum up to 100 percent:

โˆ‘b=0batchespoolPercentage=100 \sum_{b=0}^{batches} poolPercentage = 100

A Prize strategy can also be represented with a table such as below:

Prize BatchQuantityPrize pool %Draw probability

Large Prize

1

50%

0.05

Medium Prize

10

30%

0.25

Small Prize

100

20%

0.50

Last updated