Search projects, hackathons, sponsors and tech

    ← All projects

    Predex.Fun

    Launch USDC prediction markets on Arc with instant liquidity and autonomous trading agents.

    Demo

    About

    Predex is a prediction-market launchpad for people and automated agents. Anyone can create a market around a question they care about, trade on its outcome, and change their position as new information comes in. Users can discover markets, follow prices, and keep track of their holdings and trading activity. Agents are part of the project too. Our creator agent can take proposed questions, check for duplicates, and create new markets. Our trading agent discovers markets, looks for opportunities, and places orders within configurable spending and inventory limits. Developers can review its planned trades in a dry run before enabling execution. We’ve kept the app playful and mobile-friendly, with a cartoon-style interface that works in desktop and mobile browsers. MetaMask is the main wallet option, with optional email login through Privy. The current demo runs on Arc Testnet using test USDC, giving people a place to try prediction markets and experiment with trading agents without using real funds.

    How it's made

    We built Predex with Solidity contracts on Arc Testnet and a mostly TypeScript application stack. The contracts handle outcome tokens, initial LMSR trading, market graduation, and settlement, with Foundry used for contract testing. Arc lets us use USDC for both collateral and gas, keeping the funding flow simpler for users and agents. The frontend uses Next.js, React, wagmi, and viem. MetaMask is the main wallet option, while Privy adds email login and embedded wallets. We connected Privy to the existing wagmi signing flow so it uses the same account and transaction code. A shared TypeScript package holds the ABIs, API types, and transaction builders used by the website and agent SDK. The backend uses Fastify, PostgreSQL, Prisma, and a viem indexer. It reads contract events and builds the market, position, and activity data shown in the app. Redis caches market reads and distributes updates to WebSocket clients. Browser-to-chain subscriptions were unreliable, so the backend serves the books and reconnecting clients fetch a fresh snapshot. On-chain and Hybrid books stay separate; Hybrid trading uses signed off-chain orders with settlement on Arc. Qdrant helps suggest duplicate markets, with an optional OpenAI embedding and comparison provider. We built separate creator and trading agents on top of the SDK. The creator checks proposed questions for duplicates before creating markets. The trader discovers opportunities, reads market-derived pricing signals, and checks current chain state before signing. Trading defaults to dry-run mode, with configurable spending and inventory limits. Our subgraph in The Graph’s Subgraph Studio indexes market lifecycle events and settled trades for agent discovery, while the backend supplies live orderbooks. Circle Gateway and x402 provide an optional pay-per-request path for market signals. This lets agents purchase data with USDC without a manual checkout. World AgentKit adds a human-backed access policy to that flow: the backend checks an agent’s AgentBook registration, and agents backed by the same anonymous human share three free signal requests. PostgreSQL tracks the allowance and prevents replayed requests from claiming extra access. Once the allowance is exhausted, or an agent is unverified, the existing Circle payment path applies. One practical shortcut was reusing the responsive web app inside a thin Flutter mobile shell, keeping wallet and trading logic in one place.