Prediction FX

Binary FX options on Arc - deposit EURC to go long, USDC to go short

Prediction FX

Created At

ETHGlobal Cannes 2026

Project Description

FX prediction markets where your deposit currency is your directional bet. Think EUR/USD is going up? Deposit EURC. Think it's going down? Deposit USDC. At expiry, winners take the losing side's funds, paid in the other currency.

This product can't exist on any other chain. Arc is the only L1 where both USDC and EURC are native assets — no bridging, no wrapping. Gas is paid in USDC, so the whole experience stays within the FX pair. Sub-second deterministic finality means resolution and payout are atomic.

Binary FX options were a multi-billion dollar retail market before EU regulators banned them in 2018 - Nadex was the one peer-to-peer exception. We rebuilt the concept on-chain: the smart contract is the counterparty, the oracle settles the price, positions are self-custodial, and there's no house edge.

As more stablecoins deploy to Arc through Circle's StableFX (BRL, JPY, MXN, AUD, KRW, CAD), each one becomes a new tradeable FX pair.

How it's Made

The core is a Solidity smart contract that holds two ERC-20 pools per market (USDC and EURC). At market creation, the contract reads the Chainlink EUR/USD price feed and locks it as the strike. Users deposit into whichever side matches their view — the currency itself signals direction, eliminating yes/no UI complexity entirely.

Resolution leverages Chainlink price feeds (mocked currently) to compare the spot price at expiry against the strike. The resolve function is permissionless - i.e. callable by anyone after expiry, with a small incentive paid from the pool to the caller.

The payout math is parimutuel: each winner receives a pro-rata share of the losing pool. Winners always receive the opposing currency (EURC winners get USDC, USDC winners get EURC), which mirrors how FX settlement actually works in traditional finance.

For cross-currency conversion back to the user's preferred denomination, we aim to utilize FxEscrow on Arc (though since StableFX requires KYB, the hackathon demo doesn't implement it)

The frontend is React, reading on-chain pool balances to display live odds, potential payouts, and a countdown to resolution. Arc's USDC-denominated gas means no ETH is needed anywhere in the flow, and deterministic sub-second finality means every state change is immediately final with no reorg risk on resolution.

background image mobile

Join the mailing list

Get the latest news and updates