Overtime Markets - Volume

❓ What is Overtime Markets
Overtime is a positional market for popular sporting events that operates without relying on a centralized entity like most sports markets. Now that Thales contracts have been used as inspiration for the new Sports AMM, as well as reliable data feeds from the industry best oracle Chain-link, Overtime promises the most fun you'll have with DeFi.
The Sports AMM is one of the most anticipated products built on Thales, as it allows users to purchase positions for their favorite sports teams through the highs and lows of an entire season. With sports such as soccer, football, and basketball on offer, and more on the way such as UFC, Formula 1, Moto GP, you can finally support your favorite team or athlete entirely on the blockchain!
✍️ Description of Work
In this bounty, we want to analyze and check the total volume on Overtime Markets in the past two weeks. To do this, we examine the following:
- Total Volume and Unique User on Overtime Markets over the past two weeks
- Daily Volume and Unique User on Overtime Markets over the past two weeks
- Top 10 Games in terms of Volume and Number of Unique Users
- Which Sports are receiving the most bets in total Volume and Number of Unique Users on a daily basis?
- Top 10 Users in terms of betting volume


🧠 Methodology
First Step: In order to deal with this bounty, we first thoroughly reviewed the Overtime Markets website and found that currently cover 4 types of sports, Soccer, Football, MMA, and Baseball, and soon it will also cover Basketball and Hockey. So, the data we currently have is related to Soccer, Football, MMA and Baseball. Also, upon further investigation, we found out that Overtime Markets receive their data from the APIs of The GraphiQL → Link of API.
When we enter The GraphiQL API for overtime markets, in the Explorer section, we see all the required information. To address this question, we need information about market Transactions, which includes all Transactions. Now we have to ask why we use this API? Because the information about Games and Sports can be easily obtained in this API, so we use the below query to get the list of all transactions along with the name of the Games and Sports in the form of Json file and save it:
query OvertimeMarkets {
marketTransactions(first: 1000, skip: 0, orderBy: timestamp) {
hash
type
wholeMarket {
awayTeam
homeTeam
tags
}
}
}
Note: Due to the limitation in receiving the number of records, we received all the transactions using ==first== and ==skip== commands in several steps.
Well, now this Json file that we received contains transaction tx_hash, awayTeam name, homeTeam and and tags. Now we need to know what is tag?
-
Tag is the Sport that currently includes Soccer, Football, MMA and Baseball, but it is in the form of a number that after checking the Docs, we found out how to separate sports using these numbers Here you can see:
case when `tags` = 9001 or `tags` = 9002 then 'American Football' when `tags` = 9003 then 'Baseball' when `tags` = 9004 or `tags` = 9005 or `tags` = 9008 then 'Basketball' when `tags` = 9006 then 'Hockey' when `tags` = 9007 then 'MMA' when `tags` = 9010 or `tags` = 9011 or `tags` = 9012 or `tags` = 9013 or `tags` = 9014 or `tags` = 9015 or `tags` = 9016 then 'Soccer' end as sport_type,
Well, now we have in the First Step all the transactions that include tx_hash and game and sports field. Now we need to know who made these transactions (User or Trader) on what date (block_timestamp) and with what volume (Amount of USD), in the next step, we have explained this.
Second Step: In this section, using the flipsidecrypto data in the optimism.core schema and the fact_event_logs table, we get the transactions related to user Transfer for betting in Overtime Markets using the following conditions and store the query result in Json form:
select
block_timestamp,
tx_hash,
origin_from_address,
contract_address,
event_inputs:value::float as raw_amount
from optimism.core.fact_event_logs
where origin_to_address = '0x170a5714112daeff20e798b6e92e25b86ea603c1' -> Main Contract for Overtime Markets
and contract_address in ('0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9', '0x94b008aa00579c1307b0ef2c499ad98a8ce58e58',
'0x7f5c764cbc14f9669b88837ca1490cca17c31607', '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1') -> Pay with stablecoin like sUSD, USDC, UDST and DAI
and event_name = 'Transfer' -> Transfer transaction
and event_inputs:to = '0x170a5714112daeff20e798b6e92e25b86ea603c1'
and event_inputs:from != '0x0000000000000000000000000000000000000000'
and event_inputs:from != '0x170a5714112daeff20e798b6e92e25b86ea603c1'
and event_inputs:to != '0x0000000000000000000000000000000000000000'
and event_inputs:to != origin_from_address
and event_inputs:from = origin_from_address
and block_timestamp::date >= current_date - 14
and block_timestamp::date <= current_date - 1
and tx_status = 'SUCCESS'
The result of the above query, in which different sections are explained, gives us the list of the total transactions of transfer to 0x170a5714112daeff20e798b6e92e25b86ea603c1 by users.
We have received and analyzed the data from ==2022-08-08== to ==2022-08-21== (last two weeks).
Last Step: Currently, we have two Json files that contain information about the transfer of transactions by users and the name of the game and the sport, which share the tx_hash between them. We converted these two files to csv and uploaded them to the footprint.network website and converted them into two tables, and then using SQL commands, we received the information required for each of the parts of this bounty, then the results of the queries in the format We saved Json and in app.flipsidecrypto we converted these JSON into a table using parse_json and flatten commands so that we can show the results in app.flipsidecrypto dashboard format.
- We have placed all the queries used on the footprint.network website in each section
- Here, to calculate the volume, we consider the transaction that is transferred from the user to the contract address ==0x170a5714112daeff20e798b6e92e25b86ea603c1
- Here, to calculate the number of users, both in total and on a daily basis, we have counted ==Unique Users
✅ Observations
- From 2022-08-08 to 2022-08-21, the total number of Overtime Market transactions is 2010, and this number of transactions was made by 469 unique users, and the total volume of transactions is 231k USD.
- The highest Number of Transactions are on Aug 20 (283 transactions ), Aug 13 (270 transactions ), Aug 21 (253 transactions ) and Aug 14 (243 transactions ) respectively.
- The highest Number of Unique Users are on Aug 21 (136 unique users), Aug 13 (89 unique users), Aug 20 (85 unique users) and Aug 14 (79 unique users) respectively.
- The highest Volume (USD) are on Aug 14 (69.192k USD), Aug 13 (44.9468k USD) and Aug 11 (32.65462k USD) respectively.
We can see that the most activity in Overtime Market is related to ==weekends==, especially on ==Saturdays==, because most of the openings are held on weekends and the activity of users is also more.
- The lowest activity is in the ==middle== of the week
✅ Observations
-
Query link related to website footprint.network for this section → Top Game Query and Daily Top Game Query
-
The top games in terms of Volume are related to:
- Boston Red Sox VS New York Yankees - Baseball with 21571.0613 USD
- Cincinnati Reds VS Chicago Cubs - Baseball with 15593.5491 USD
- Leon Edwards VS Kamaru Usman - MMA with 14114.6359 USD
- Philadelphia Phillies VS Miami Marlins - Baseball with 12808.3709 USD
- Buffalo Bills VS Indianapolis Colts - Football with 11056.1831 USD
-
The top games in terms of Number of Unique Users are related to:
- Baltimore Orioles VS Boston Red Sox - Baseball with 58 unique user
- Brantford FC VS Manchester United - Soccer with 32 unique user
- Chelsea VS Tottenham Hotspur - Soccer with 31 unique user
- Chelsea VS Tottenham Hotspur - Soccer with 29 unique user
- Newcastle United VS Manchester City - Soccer with 28 unique user
As you can see, in terms of the volume of the top games, it is mostly related to Baseball, but in terms of the number of users, the top games are related to Soccer, and this shows that more users bet on Soccer, but with a smaller volume than Baseball and users on Baseball. They bet less, but the volume of their bets is high. This could be due to several reasons: First, there are more soccer fans (more viewers), but because soccer is unpredictable, they take less risk and bet a smaller volume. second, Baseball fans have more money and maybe it is easier to predict baseball than soccer, that's why they bet with high volume and risk.
✅ Observations
-
Query link related to website footprint.network for this section → Sports Query
-
As you can see, the best Sports in terms of Volume is Baseball with 121,560.9 USD== (52.8 % of total volume), followed by Soccer== (31.7 % of total volume) with 72,975.9 USD.
-
As you can see, the best Sports in terms of Number of Unique User is Soccer with 233 Unique User== (40.7 % of total users), followed by Baseball with 218 Unique User== (38 % of total users).
-
More users are active in ==Soccer==, but with a smaller volume, and the number of ==Baseball== users is less than Soccer, but they bet with a larger volume.
-
According to the results of the number of users in sports, it is clear that there are users who have bet in several different sports
✅ Observations
-
Query link related to website footprint.network for this section → Top User Query and Top User Per Sport Query
-
In the charts above, you can see the Top 10 User in terms of Volume, and you can see that more than 10 users bet on Soccer and Baseball.
-
You can see that the address 0xf68d2c2ea6156e7faf7982335b7d0be57502b14a has bet on both Soccer and Baseball, but the amount of bets on Soccer is more than Baseball.
-
You can see that the address 0x7c5eda97b57939fb60630b106c708782f34149bb has bet almost 10k USD on MMA in the last two weeks, which is about 47.25% of the total volume for MMA.
✔️ Final Conclusion
> After reviewing and analyzing Overtime Markets in terms of volume and users in the last two weeks (from ==2022-08-08== to ==2022-08-21), it was determined that the total volume paid by users for betting on Overtime Markets was 231k USD, which was made by 469 unique users and 2010 transactions. It was also found that due to the fact that most of the games are held on weekends, the activity of users in Overtime Markets was more on weekends. It was also found that a larger number of users are active on Soccer games, while the volume of user activity is higher on Baseball games.