When you tell ParlayTix you want a conditional ticket to the NBA Finals, what happens next is a coordinated effort across four services, dozens of AI agents, and a browser automation system that can actually complete a ticket checkout on your behalf. This is the technical story of how a casual message becomes a purchased ticket.
Step 1: Understanding Your Intent
Everything starts in the Terminal, our chat interface built on ElizaOS. When you type something like "I want to buy a conditional ticket for the Lakers Finals game if they beat the Nuggets," our AI does not pattern-match keywords. It uses language model inference to understand your intent, the event you are targeting, and the condition you want to attach. This works across languages and phrasing styles because we never hard-code keyword detection.
The Terminal routes your request through a message bus (RabbitMQ) to the Agent Swarm, our Python-based intelligence layer that houses over 50 specialized AI agents.
Step 2: Finding the Right Market
The Swarm's conditional ticket handler kicks into action. First, it needs to find the right Polymarket prediction market that matches your condition. If you said "if the Lakers beat the Nuggets," it searches Polymarket's event catalog for a market tracking that specific outcome. Once found, it pulls the current probability from Polymarket's CLOB (Central Limit Order Book) API.
Simultaneously, it dispatches a search to our Crawler to find available tickets for the target event. The Crawler uses browser automation to search ticket marketplaces, extract pricing and seat information, and report back what is available.
Step 3: Generating a Quote
With the ticket face value and Polymarket probability in hand, the pricing engine computes your conditional price using our transparent formula. A quote object is created in the Marketplace database with a time-limited validity window. The quote includes the face value, probability at time of quote, conditional price, discount percentage, and a crypto payment link.
This quote is sent back to your chat as an interactive card with all the details and an accept button. You review the terms and decide whether to proceed.
Step 4: Payment via X402
When you accept the quote, payment is processed through our X402 payment infrastructure. This is a crypto-native payment rail that supports USDC payments on multiple chains. The payment is recorded in the Marketplace and triggers a webhook that notifies the Swarm of successful payment.
At this point, your conditional ticket is active. But nothing happens yet. The system is watching and waiting.
Step 5: The Monitor
The TriggerMonitorService runs on a 60-second polling cycle, checking the status of all active conditional tickets against their linked Polymarket markets. When a market resolves in favor of your condition, the monitor immediately triggers the execution pipeline.
For price-based triggers (like "if probability crosses 70%"), the monitor also checks live Polymarket prices through our WebSocket price feed, which streams real-time market data with sub-second latency.
Step 6: Browser Automation Execution
When the condition is met, the system dispatches a wallet automation task to the Crawler. The Crawler spins up a headless browser session using Browserbase, navigates to the ticket checkout page, fills in the purchase details, and completes the transaction using a managed crypto wallet. The entire checkout process is handled by AI-driven browser automation that can handle CAPTCHAs, dynamic forms, and multi-step checkout flows.
Once the ticket is purchased, the confirmation details are stored in the Marketplace and you are notified in chat. The entire process, from market resolution to ticket in your account, typically takes less than five minutes.
Four Services, One Experience
The magic of the system is that you never see any of this complexity. You send a message, get a quote, pay, and eventually receive a ticket. Behind the scenes, the Terminal handles your conversation, the Swarm orchestrates the intelligence, the Marketplace stores every state transition, and the Crawler does the physical work of buying tickets in a browser. All four services communicate asynchronously through RabbitMQ, making the system resilient and fast.
This is what it looks like when you build a trading system for tickets: the same patterns used in high-frequency trading infrastructure, applied to getting fans into the events they care about.