An expressive conditional token market for humans and agents
This project is an implementation of conditional tokens (Gnosis) combined with a Fixed Product Market Maker (FPMM) deployed as an Uniswap v4 hook. It enables users to split and merge positions across one or multiple conditions, creating expressive, composable outcome spaces that can be redeemed for collateral once conditions are resolved.
The system includes a frontend where users can create markets, combine them into mixed (composed) markets, and trade on them. It also exposes an MCP interface that allows autonomous agents to perform the same operations programmatically. Users are expected to connect their own trading agents and design custom skills and strategies, leveraging the expressiveness of the system to operate across complex, composable market conditions.
Markets are open and fundable: anyone can provide liquidity to a market and earn a proportional share of the fees generated.
Fees are dynamic and adapt to market conditions. They explicitly penalize imbalance and incentivize rebalancing, charging higher fees on overpriced outcomes and lower fees on underpriced ones. Fees also increase with volatility, helping protect LPs while encouraging flows that restore healthier market distributions.
A native agent assists in market creation by transforming plain text into structured, informed predictions, mapping user intent into valid conditional markets grounded in available signals, sources, and resolvable outcomes.
At creation time, each market generates an immutable metadata file containing both human-readable and agent-oriented information, including relevant signals, data sources, and context to monitor. This file is linked to a dedicated ENS subdomain for the market, providing a permanent, discoverable reference for both users and agents.
Every live market can be composed with others to form mixed markets. These composed markets inherit the underlying conditions, and when individual conditions resolve, their outcomes propagate to resolve any dependent mixed markets.
An internal agent continuously monitors active markets, researching predefined topics and external signals. It autonomously resolves markets when conditions are clearly met and selectively trades in markets with remaining uncertainty and time-to-resolution.
The project is co-authored by claude-code and a full rewrite of an old project of mine (https://github.com/DrHongos/opinologos). The uniswap hook was based on that project but fully rewritten by uniswap-ai plugin. Frontend is a Nextjs app deployed on Vercel, with a Neon database really limited atm. There is a static landing page on the ens that names the app. The ens is also used to link immutable files related to markets for human & agents with rich information. Condition creation is assisted by an agent using Grok with live data research in order to fill the market with existing data (and possibly 'trending' topics into predictions), another instance of Grok is used for topics research and oracle intervention based on confidence, inital values (like endtime) and sources. The MCP to operate the app is http served as a REST API. The ens gateway is also REST, the resolver was launched with CCIP-tools. To handle wallets i've used Privy & viem so is a step further from social login and sponsored txs (not in scope). I am using pinata api to store the markets files but i hold the landing on a personal kubo node.

