Trading Game
Game Description
Several players compete to maximize the dollar value of their portfolio consisting of 2 assets: Token and Pol
- The competition takes place at an specified UTC time.
- The game lasts for half an hour.
- Players watch the same price chart on a website (or Discord/Telegram App)
- Players hear live commentary of the price action.
- Players buy and sell Fixed amounts of Pol on each action.
At the end of the trading period, the players with a larger Total value win.
Total value = P + T*Price
Price = Pol / Tokens in the Liquidity Pool.
P and T are the Player's values of Pol and Token respectively.
Automated Market Making
An Automated Player doing Random buy/sell transactions is added into the game to create a background volatility to stir things up in case no other player acts.
The actions of the random player may produce 3 game scenarios:
- Price remains constant.
- Price drops (Bear Market)
- Price rises (Bull Market)
The goal of the game is to maximize the portfolio's dollar value.
Game mechanics
Initial conditions:
At the start the Liquidity Pool Has: Po Pol, and To Tokens on it, so that initial price = Po/To
All players start with a portfolio of (Pi,Ti) initial values of Pol and Token respectively. Therefore the initial total value of the portfolio is:
Total Initial Value = Pi + Ti*(Po/To)
Players can see:
- The number of Token they have.
- The number of Pol they have.
- Total portfolio value.
- The token price in the Liquidity Pool.
- A Chart of the token price during the game. (Website or App)
Player Actions:
Players can buy or sell Token. To avoid having to decide the exact number of your trades, buy and sell are done in quantized amounts.
If you want to buy more, press the buy button more times. If you want to sell more, press the sell button more times.
The amount of Pol used to Buy and Sell is the independent variable. The number of Tokens received (or given to the Pool) depends of this given value.
Buy
When player press the Buy button, it buys an amount of Xbuy Pol worth of Tokens: (until you don't have enough balance to buy)
The amount of Token received is:
Tr = Xbuy*(Token)/(Pol+Xbuy) Where Token and Pol are the Liquidity Pool balances.
This action causes:
Player balance is updated:
P = P - Xbuy
T = T + Tr
The Liquidity pool values of Tokens and Pol update:
Token = Token-Tr
Pol = Pol + Xbuy
Sell
When player press the sell button, it sells Xsell Pol worth of tokens. (until you don't have enough to sell)
The number of tokens sold is:
Ts=Xsell*(Token)/(Pol+Xsell)
Player Balances are updated:
P = P + Xsell
T = T - Ts
The Liquidity Pool values are updated:
Token = Token + Ts
Pol = Pol - Xsell
Conclusion
At the end of the trading period, the total value of each portfolio is calculated, and the winners are announced.
If the game is happening on Discord or Telegram, the Tip bots can be used to give rewards.
If the game is on a website, users may receive an NFT. Users can redeem the NFT if they join S.T Discord, and get a token reward in exchange for the NFT.