Thomas' Worm API Documentation
This very unofficial API provides access to snapshots of Alkimi Exchange transaction totals stored in two MySQL tables: `5min_data` and `daily_data`.
It is a temporary solution while the official API is finished and was primarily for entries into the Worm Hackathon giveaway Thomas ran.
The data is loaded into these tables by regular scraping and manual inputs so may be less reliable than ideal. It is made available until the official Ads Explorers API is available.
Data Ranges Available
- 5min_data: Every 5 minutes since 2024-12-11 05:14:12 GMT
- daily_data: Daily totals since 2024-08-23
NB: There are occasional gaps in the 5 minute data.
Request Method:
`GET`
Base URL: https://arena.alkimist.xyz/TX/api.php
Parameters:
Parameter | Description | Possible Values | Default Value |
— | — | — | — |
`format` | Response format | `json`, `csv`, `min` | `json` |
`table` | Table to query | `5min_data`, `daily_data` | `daily_data` |
`startDate` | Start date for data retrieval (YYYY-MM-DD) | Any valid date | None |
`endDate` | End date for data retrieval (YYYY-MM-DD) | Any valid date | None |
`fields` | Comma-separated list of additional fields to include | Any valid column names from the selected table | None (all fields) |
`latest` | Retrieve only the latest data point | `true`, `false` | `false` |
`latestTotal` | Retrieve only the latest total transactions | `true`, `false` | `false` |
`latest-since-midnight` | Retrieve only tx since midnight GMT | `true`, `false` | `false` |
`day-of-prices` | Retrieve a full 24h of price data | `yes`, `no` | `no` |
`revenue-estimate` | Calculate a revenue estimate based on the tx in the row. Also requires values for `slot`, `CPM`, `fee` | `yes`, `no` | `no` |
`api-key` | Required to access data | Request from thomas | none |
Response:
The API returns data in the specified format (`json`, `csv`, `min`).
- JSON: An array of objects, where each object represents a row from the selected table.
- MIN: Minimised JSON-esque with flipped horizontal data.
- CSV: A comma-separated values file with the data.
Error Handling:
If no data is found for the given parameters, the API will return an error message in the requested format.
Examples:
- Get daily data in JSON format for December 2024: https://arena.alkimist.xyz/TX/api.php?table=daily_data&startDate=2024-12-01&endDate=2024-12-31
- Get 5-minute data in CSV format with TPS and 20-minute moving average: https://arena.alkimist.xyz/TX/api.php?table=5min_data&format=csv&fields=TPS,20_minute_MA
- Get a full 24 hour of 5 min price data: https://arena.alkimist.xyz/TX/api.php?day-of-prices=yes
- Get just the latest 5min data snapshot: https://arena.alkimist.xyz/TX/api.php?table=5min_data&latestTotal=true
- Get the daily data with revenue estimates, using 3 Slots, $3 CPM, 6.5% average fee: https://arena.alkimist.xyz/TX/api.php?revenue-estimate=yes&CPM=3&slots=3&fee=0.065
Table Structures
daily_data:
Column | Data Type | Description |
— | — | — |
`Date` | date | Date of the data |
`Total TX` | int | Total transactions for the day |
`Daily TPS` | decimal(10,2) | Average transactions per second for the day |
`3 Day MA` | decimal(10,2) | 3-day moving average of total transactions |
`7 Day MA` | decimal(10,2) | 7-day moving average of total transactions |
`14 Day MA` | decimal(10,2) | 14-day moving average of total transactions |
`Change` | decimal(5,2) | Percentage change in total transactions from the previous day |
`price` | decimal(15,15) | $ADS price as of the close of that day, from CMC. |
5min_data:
Column | Data Type | Description |
— | — | — |
`total` | decimal(10,2) | Accumulated total transactions for the day |
`timestamp` | datetime | Timestamp of the data |
`TPS` | decimal(10,2) | Transactions per second in the last 5 minutes |
`daily_prediction` | decimal(10,2) | Predicted total transactions for the day |
`transactions` | int | Number of transactions in the last 5 minutes |
`20_minute_MA` | decimal(10,2) | 20-minute moving average of transactions |
`1_hour_MA` | decimal(10,2) | 1-hour moving average of transactions |
`3_hour_MA` | decimal(10,2) | 3-hour moving average of transactions |
`price` | decimal(15,15) | $ADS price as of the snapshot, from CMC. |