Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 2.96 KB

TIP-103.md

File metadata and controls

48 lines (28 loc) · 2.96 KB
id Title Status Author Description Discussions to Created
TIP-103 Deprecate the SELL function on Overtime Implemented @scvija @gruja Deprecate the SELL function on Overtime https://discord.gg/rPpPcMXSeU 2022-11-16

Abstract

This TIP proposes a plan to deprecate the sell function on Overtime

Motivation

The Overtime sports AMM was built on the same basis that the Thales crypto AMM uses, and therefore it allowed the users to both buy positions and sell them before expiry. For the crypto AMM, this is something that always made sense, the users could buy certain positions, and depending on the movement of the market, they could either take profits or cut their losses, instead of holding the position until the expiration date. The same principle was taken over to the Overtime AMM, and selling bought Overtime positions was made possible, being something truly unique in the space.

Overtime has been running since July/August 2022 with great success, achieving 2.14 million USD in volume, with 22,748 unique transactions. Out of these 22,748, only 806 were SELL transactions, accounting only for 3.5% of the total transactions. This information can be checked using Dune:
Total transactions
Sell transactions
From these 806, around 600 were immediate sells, being essentially wash trades, a way of gaming the system for rewards and volume-based incentives.
image

Aside from that, there were a lot of examples of users buying and selling positions immediately, to claim a Galxe OAT/POAP.

Another reason for the deprecation of the selling mechanism is - even if the sell volume is low, the codebase still needs to be maintained, and even more important, it takes up the already limited space in the SportsAMM contract.

The upcoming features of the Overtime platform, like the addition of spread and player props, are another reason. In this case, the spread or amount of points for a player could change (for example LeBron James from 25.5 to 27.5), opening more possibilities for manipulations. The already implemented parlays do not support selling from the beginning, due to their complex nature

Final thoughts - in a time when exploits are on a regular/weekly occurence - the sell feature just poses a huge attack surface that needs to be constantly observed and considered without a clear product benefit.

Specification

This implementation will mean that the following methods will be removed from the contract:

  • sellToAMM
  • availableToSellToAMM
  • sellToAmmQuote
  • sellPriceImpact
  • all child internal methods that are called inside of those functions

Implementation

n/a

Copyright

Copyright and related rights waived via CC0.