Skip to content

Latest commit

 

History

History
43 lines (27 loc) · 2.66 KB

TIP-143.md

File metadata and controls

43 lines (27 loc) · 2.66 KB
id Title Status Author Description Discussions to Created
TIP-143 Overtime Live Positioning AMM Danijel Introduce Overtime Live Positioning AMM https://discord.gg/thales 2023-05-07

Simple Summary

This TIP proposes to implement an AMM solution that enables users to take positions on live games. UPDATE: Live Betting will be released with Overtime V2.

Motivation

Live markets make for majority of sportbooks volume globally. Blockchains introduce an implicit delays that make such markets quite complex and risky, with the risk factor varying depending on the sport. This proposal introduces the general concept of how this problem can be solved via smart contract and Chainlink on-demand oracles, with sports to support it being determined ad hoc by pDAO.

Specification

Live AMM will be a part of Sports Markets V2 architecture. It will inherit caps management logic from V2 RiskManagement system, but will offer a different trading experience.
The user will signal the intent to make a live trade on LiveTradingProcessor contract, which then sends a request to chainlink node relaying the said intent. Within that transaction the user sends the following data:

  • The details of the bet (match, position, line)
  • buyin amount
  • expected odds
  • accepted slippage (e.g. a user may indicate he would accept up to 2% slippage on the extpected odds)
  • collateral the user wants to use (has to be erc20 token that has an approval for SportsAMMV2)

The node will use the APIs and other data available to it, perhaps even aggregation of the odds, to ensure the live trade can go through and send a reply to the LiveTradingProcessor.
If the reply is positive, in the same reply transaction the user trade by LiveTradingProcessor interacting with SportsAMMV2. If the reply is negative, the live trade is cancelled. If there is no reply within a minute (a configurable variable), the live trade request is considered as failed.

The LiveTradingProcessor contract will not need to store any odds, as the odds will be returned by the Chainlink node.

Once a live trade is executed, is stored within the system as any pre match trade, and resolved using the same mechanics as other tickets in V2.

pDAO will enable sports and various live bet types as the product matures.

Variables

LiveTradeDelay - maximum allowed delay for a live trade to be approved by the Chainlink Node

Implementation

https://github.com/thales-markets/contracts-v2/blob/main/contracts/core/LiveTrading/LiveTradingProcessor.sol

Copyright

Copyright and related rights waived via CC0.