SportX AMM

AMM Overview

An automated market maker (AMM) is a type of decentralized exchange (DEX) protocol that relies on a set formula to quote prices, rather than the traditional central limit order book (CLOB) betting exchange. In an AMM, users trade against the smart contract protocol (P2C) itself, rather than against other users (P2P).

Sports Betting & AMM Design Problems

Popular AMM designs, such as the one employed by Uniswap, are ill-equipped for the unique market structure of sports betting. In particular, there are three fundamental challenges associated with sports betting markets that make the traditional Uniswap-style AMM impractical to use:
1) Daily settlement of betting markets
The vast majority of sports betting markets only exist for a very short amount before settling (typically less than 24 hours). This makes it's onerous to bootstrap liquidity for every market given that many markets are being created and resolved in the same day.
2) Jump risk associated with it's event-driven nature
Jump risk - the risk of a substantial change in market prices due to an unforeseen event - is highly prevalent within sports betting markets. This occurs both pre-game (i.e. injury news and/or starting lineups announcements), and even more frequently during in-game markets as the score of the game can change rapidly from one second to the next.
3) Guaranteed impermanent loss near outcome settlement
Unlike token pairs, prediction markets naturally trend towards a binary settlement value (i.e. 0 or 1). This inherent trend creates substantial amounts of impermanent loss for liquidity providers in a Uniswap-style AMM near settlement time as the final outcome of the event becomes more or less certain.

SportX AMM Design

To deal with the massive jump risk and associated impermanent losses of providing liquidity to a sports-focused AMM, the SportX AMM incorporates an external price feed to update it’s pricing formula in real-time. One of the major benefits of focusing exclusively on sports markets (versus generalized prediction markets) is that there exists widely available real-time price feeds. These price feeds can be fed into the SportX AMM contract directly by the core team and/or through an external oracle supplier like Chainlink.
By consistently updating it’s pricing formula using market prices, the price feed protects SportX LPs from both the aforementioned jump risk and impermanent loss. Long-term, these price feeds could be pulled directly from the already built SportX exchange CLOB itself; the order books would need to be first transitioned on-chain. Assuming adequate liquidity, this would be the most robust and decentralized approach to securely providing these feeds into the AMM.
Liquidity Providers (LPs) capitalize the global SportX AMM capital pool. They contribute crypto assets to the AMM, which then acts as counterparty to bettors using the platform. In exchange for their capital, liquidity providers get proportional ownership in the assets of the AMM. The AMM expects to make a profit over time by offering bet offers with a pre-set margin built-in. If the AMM does make a profit, then LPs can redeem their LP tokens for a larger amount of capital than they initially put in.

LP Tokens

When a user provides liquidity to the SportX AMM, the user receives liquidity provider (LP) tokens. LP tokens represent their proportional claim on the currency and assets within the capital pool.
LP tokens are redeemable for the underlying assets of the SportX AMM:
However, as we'll explain in the following section, there are certain deposit and withdrawal delays built-in to the SportX AMM to deal with the peculiarities of the sports betting market structure.

LP Token Pricing

LPs mint new LP tokens when they provide DAI liquidity to the AMM.
Under the design proposed in the earlier section, when a LP provides Liquidity at t+0, they mint LP tokens at t+7 based on the following formula:
  • [LP tokens t+7] = [Liquidity t+0] / [LP token price t+7].
  • [LP token price t+7] = [AMM NAV t+7] / [Total # LP Tokens t+7]
  • [AMM NAV t+7] = [AMM Liquidity t+7] + [AMM Pending t+7]
Similarly, LPs burn LP tokens and receive DAI liquidity in return when withdrawing from the AMM. LPs receive Liquidity at t+7, when they burn LP tokens at t+0, based on the following formula:
  • [Liquidity t+7] = [LP token price t+7] * [LP tokens t+0]
  • [LP token price t+7] = [AMM NAV t+7] / [Total # LP Tokens t+7]
  • [AMM NAV t+7] = [AMM Liquidity t+7] + [AMM Pending t+7]

Risk Management

The SportX AMM does not use a price curve for supplying liquidity, given the foreign nature of such a curve to sports bettors. Instead, similar to how traditional bookmakers operate, the SportX AMM will provide a max amount of exposure (initially set to 1.00% of its total liquidity pool) per event outcome, at which point it will no longer offer any additional liquidity.
This is a simple risk-management system to prevent runaway losses on any mis-priced markets, and can be optimized at a later date by SX token holders (through the SX governance system). An additional benefit of having the SportX AMM offer set exposures at certain price levels is that it’s liquidity can easily be displayed side-by-side with other limit offers on the main SportX exchange. This cannot be done accurately if the AMM offered based on a curve formula.