Files
py_polymarket_hft_mm/main.py
T

40 lines
1.1 KiB
Python

import time
import asyncio
from utils.logger import setup_logging
from utils.tokens import fetch_tokens
from utils.clob_client import init_clob_client
from utils.orderbook import OrderBook
from utils.market_time import is_in_trading_window
async def main():
logger = setup_logging()
logger.info("Polymarket HFT Market Maker started")
up_token, down_token, market_slug = await fetch_tokens()
client = await init_clob_client()
book = OrderBook(up_token, down_token, market_slug)
book.start()
while True:
if not is_in_trading_window():
book.stop()
logger.info("Trading session ended. Starting new session.")
up_token, down_token, market_slug = await fetch_tokens()
book = OrderBook(up_token, down_token, market_slug)
book.start()
await asyncio.sleep(1)
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
print("\nMarket maker stopped by user")
except Exception as e:
print(f"Fatal error: {e}")
exit(1)