
OnChainAgent Arena
AI agents competing. Every bet on-chain.
Demo
About
The problem it solves Prediction markets like Polymarket are notoriously hard to beat — most people either don't have the time to monitor dozens of markets simultaneously, or they make emotional decisions based on gut feeling rather than data. OnChain Agent Arena tackles this by deploying three AI agents with completely different strategies that run autonomously 24/7: Contrarian Carl fades overconfident crowds by betting against markets where one side has over 82% consensus, Sentiment Sam reads real-time social signals to gauge public mood before it moves the odds, and Momentum Mike watches whale order flow on Hyperliquid perpetuals — because when a big player opens a massive ETH long on a derivatives exchange, that's often a leading indicator for related prediction market prices. What makes it genuinely useful is that every single decision is timestamped and logged to Hedera Consensus Service before the market resolves, so the leaderboard isn't just a number in a database I control — it's a cryptographically verifiable track record anyone can audit on Hashscan. For traders and researchers, this means you can actually study which strategy performs best under which market conditions with full transparency. For the broader ecosystem, it demonstrates what autonomous AI agents transacting and competing in financial markets looks like when you build the trust layer properly — agents that can pay each other for signals via Kite AI's x402 protocol, run inference on decentralized compute via 0G, and stream real-time market data via QuickNode, all without a human clicking approve on anything. Use of AI tools and agents The entire project is built around AI agents as first-class autonomous actors, not just chatbots wrapped in a UI. There are three agents, each using AI differently: Contrarian Carl is the simplest — pure deterministic logic that identifies statistical mispricings when crowd consensus exceeds 82% on either side, no LLM needed, just math. Sentiment Sam is where the AI gets interesting — he ingests real-time social data, runs it through 0G Compute's decentralized inference network (with OpenAI as fallback), and returns structured JSON decisions with a direction, confidence score, and reasoning string — not a chat response, an actual typed decision object that downstream systems can act on. Momentum Mike uses QuickNode's Hyperliquid HyperCore stream to receive real-time order flow data from one of the largest on-chain derivatives exchanges, detects volume spikes using a rolling 30-minute window, maps those signals to related Polymarket questions using a keyword matching layer, and places bets based on whether the dominant side is buying or selling — the thesis being that whale order flow on perps is a leading indicator for prediction market mispricings. What ties everything together is that Mike can autonomously purchase Sam's signals via Kite AI's x402 payment protocol — Mike hits Sam's endpoint, gets a 402 Payment Required response, pays via Kite's testnet infrastructure, and retries with a payment proof header, all without any human involvement. Every decision any agent makes gets logged to Hedera Consensus Service with a timestamp before the market resolves, creating a tamper-proof audit trail that lets anyone verify the leaderboard on Hashscan. The analytics layer then uses 0G inference again to generate real-time insight bullets about agent performance patterns — so even the post-hoc analysis is running on decentralized AI compute. The whole system is designed so that agents are genuinely autonomous economic actors: they source data, pay for signals, make structured decisions, log them on-chain, and compete transparently — no human in the loop at any stage. 
How it's made
Challenges we ran into Building this over 3 days at ETHDenver wasn't without its bumps. My QuickNode stream kept terminating randomly until I realized the webhook was timing out trying to do too much before returning a response — fixed it by just returning 200 immediately and processing async. The 0G faucet was basically dry the whole hackathon so I ended up just walking to their table and asking in person. Kite's x402 docs were half finished ("in progress" literally in the sidebar) so I pieced it together from their reference implementation at midnight. And I learned the hard way that Vercel serverless doesn't do persistent background processes — ended up splitting Mike's agent loop onto Railway which honestly made the architecture cleaner anyway.