An autonomous multi-agent system built with the uAgents Framework designed to monitor sports standings and secondary ticket markets, executing strategic purchases when tournament upsets trigger panic-selling.
The system consists of three specialized agents operating in a cooperative environment (a Bureau):
graph TD
FA[Fixtures Agent] -- Upset Alerts --> BA[Buyer Agent]
MA[Market Agent] -- Ticket Price/Velocity Data --> BA
BA -- Purchases Tickets --> External[Ticket Market API / Log]
subgraph wc26_agents [Agent Bureau]
FA
MA
BA
end
- API Source: API-Football
- Interval: 5 minutes (
300.0s) - Responsibility: Regularly polls the live tournament standings. If a favorite team (e.g., Argentina) drops in the rankings (an "upset"), it triggers an alert indicating that they will no longer play at their expected venue (e.g., MetLife Stadium).
- API Source: TicketsData SDK (StubHub, SeatGeek, TicketMaster)
- Interval: 10 minutes (
600.0s) - Responsibility: Scans ticket availability and prices for target matches. It computes listing velocity (the rate at which new tickets are being added or removed from the market) and sends real-time updates to the Buyer Agent.
- Responsibility: Listens to messages from both the Fixtures Agent and Market Agent. It evaluates market conditions, and if it detects a massive surge in active listings (velocity drops drastically, indicating panic-selling) immediately following a fixture upset, it executes a strategic purchase at the best available price.
- wc26_buyer_system.py — The main orchestrator defining the messages, initializing the agents, configuring their tasks, and starting the Bureau.
- market_agent.py — Independent script containing the market ingestion logic.
- .gitignore — Root Git ignore file excluding cache directories, virtual environments, local keys, and agent run states.
- Python 3.10+
- A configured virtual environment (
venv)
Make sure you are in your virtual environment and install the required packages:
pip install uagents httpx python-dotenv ticketsdata-clientCreate a .env file inside the wc26_agents folder (ignored by Git) and fill in your API credentials:
AGENT_SEED="your_super_secret_unique_seed"
TICKETSDATA_USERNAME="your_ticketsdata_username"
TICKETSDATA_PASSWORD="your_ticketsdata_password"
API_FOOTBALL_KEY="your_api_football_key"To start all three agents simultaneously inside the bureau, run:
python wc26_agents/wc26_buyer_system.pyThe bureau will spin up local servers for the agents and begin checking standings and ticketing platforms automatically.