1inch hackathon winners: Agora

In this article, Arnau Briet, 1inch track’s winner at ETHGlobal Lisbon 2026, explains his project Agora - futarchy-based prediction markets with 1inch Aqua.
Civilization is built on correct capital allocation. Corruption and conflicts of interest undermine it. And the clearest example is a decision-making class that isn't aligned with its stakeholders: taxpayers in a democracy, investors in a company, holders in a DAO. Agora solves this.
Two markets price the same asset in two universes, one where the proposal executed, one where it didn't. The price doesn't predict which one will happen. It picks it.
The idea. Futarchy, "vote on values, bet on beliefs", replaces the vote with a price. Agree on what you want to maximise, then let a market decide which policy gets there. This is where Agora departs from Polymarket-style venues, and it's the part worth reading twice.
On Polymarket you trade the probability of an event. The market is a spectator. The event happens with or without it.
On Agora you trade the price of the underlying asset in each branch of the decision. For example, a company voting on whether to replace its CEO. Two markets open on the same asset (the company's stock), one pricing the share with the replacement in the chair, one pricing it with the current CEO staying. If the first market values the stock higher, the proposal executes. The market isn't forecasting the vote, it's pricing what each outcome is worth, and the higher price is what selects it.
Where the tokens come from. A market with nothing to trade is not a market. Each proposal opens two Uniswap Continuous Clearing Auctions, through the canonical factory, selling a pre-minted supply of tYES and tNO for USDC.
Why 1inch Aqua. Continuous trading is where the venue choice decides whether the mechanism works. Three pieces: Aqua is the balance registry: ‘ship’/‘dock’ to allocate, ‘pull’/‘push’ at fill time. SwapVM executes the maker's program, a router is the entry point that drives one against the other.
Self-custody with no pool to seed. Makers ship all-or-none lot quotes while their tokens stay in their wallets: Aqua records an allocation, never a deposit. A decision market lives two weeks and then resolves: too short to justify parking capital in an AMM pool per market, and a custodial book would ask makers to hand over funds to trade a governance instrument. Aqua goes further than "no pool": ‘ship()’ records allocations without locking the balance, so one wallet balance can back lots on every open proposal at once. Fills are first-come-first-served, and a drained maker's remaining lots simply revert at ‘pull’ time. Capital efficiency paid for in ordering, not in custody.
A custom SwapVM instruction. Because a fill is effectively a vote, price validation shouldn't live in the frontend; it belongs on every fill, inside the VM. ‘AgoraComplement’ hooks in through SwapVM's ‘_extruction’ opcode and sanity-checks a lot as it executes. It rejects only zero balances and prices outside a deliberately enormous band around the market's reference, dust and fat-finger typos. It's deployed and fork-tested, and today it's a guard makers opt into.
Everything runs against 1inch's live Sepolia Aqua core, not a mock. Around it sit AgoraQuoteBuilder, which builds lot programs with 1inch's own ProgramBuilder, AgoraComplement, and our own LimitSwapVMRouter. We deployed our own because the Sepolia SwapVM router is an AquaSwapVMRouter, whose opcode table has no limit-swap instructions in it at all. Foundry suites run against the real core on a fork.
Resolution. An attestor computes a volume-weighted average price over a trailing window of on-chain Aqua fills and pushes it per side; at expiry the higher one wins.
Getting paid for being right. Today both sides redeem pro rata from their own auction pot, and that is the design's honest limit: a token whose only cash flow is a share of its own pot is priced at that share, not at a forecast of the subject asset.
So the winning branch shouldn't receive a flat payout, it should receive butterfly spread options peaked exactly at its own winning price, cash-settled against Pyth at expiry. Land on your forecast and you're paid in full, overshoot and you're paid nothing. The reward matures after the decision executes, so the skin in the game survives the vote.
The losing branch forecast a world that never happened. A counterfactual can't be scored, so those bets are called off and refunded pro rata from their own pot.
Built at ETHGlobal Lisbon 2026 by Arnau Briet, with Alex Arteaga mentoring, Agora exists as an unaudited proof of concept on Sepolia. As of September 2026, the butterfly settlement is specified, not yet deployed. The code can be viewed here, and the project’s website can be accessed here.
You can get in touch with Arnau Briet via email, Telegram, LinkedIn or X.
Stay tuned for more tech content from 1inch.
Disclaimer: Agora is an independent project built by a hackathon participant and is not developed, operated or endorsed by 1inch. The views expressed are the author’s own. Agora is an unaudited proof of concept on a testnet and is not available through any 1inch product. Prediction markets, event contracts and options may be regulated or restricted in many jurisdictions. This content is for informational and educational purposes only and does not constitute financial, investment, legal or tax advice.
