Prices are determined by the amount of shares of each outcome in a pool. The smart contract maintains a constant using the following function: x*y=k
. In this case x = outcome1
, y = outcome2
, k = liquidity
.
During each trade, a certain amount of one token is removed from the pool for an amount of the other token. To maintain k
, the balances held by the smart contract are adjusted during the execution of the trade, therefore changing the price.
An outcome is always guaranteed a price between 0 and 1 in the EVM currency (MOVR or GLMR).
After the market is resolved, the winning outcome will have a price value of 1 MOVR/GLMR, while other outcomes will be 0.