Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Outcome-first options on Monad. Fully onchain orderbook, 100% collateralised, Pyth settlement.
Translation pending
FinanceSolidity · TypeScriptGitHub @argenestelOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
options market
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Outcome-first binary options on Monad, with a fully onchain central limit order book.
"I want to make $1,000 if MON ends above $1.05 by Friday."
You say what you want to happen. The app finds the market, quotes the price, and you trade against a real onchain order book. Everything that touches money is a contract: the orderbook and matching, the collateral, price oracle, fair-value model, a market-making vault, and the read views the UI uses. There is no backend, no indexer, no off-chain matcher and no signed price feed. The frontend is a static page that reads the chain over RPC.Read the full README ↗Outcome-first binary options on Monad, with a fully onchain central limit order book.
"I want to make $1,000 if MON ends above $1.05 by Friday."
You say what you want to happen. The app finds the market, quotes the price, and you trade against a real onchain order book. Everything that touches money is a contract: the orderbook and matching, the collateral, price oracle, fair-value model, a market-making vault, and the read views the UI uses. There is no backend, no indexer, no off-chain matcher and no signed price feed. The frontend is a static page that reads the chain over RPC.
Built for the Monad Metropolis hackathon — Finance & Trading track.
Options are the right product sold through the wrong interface on the wrong venue. People already trade bounded-loss, asymmetric bets (prediction markets) and unbounded ones (perps); an option is what they want, but strike chains and greeks were built for market makers. The binary is the atom: price is the probability, max loss is the premium. Matching belongs onchain and Monad makes a CLOB in a contract practical: 100% collateral, so no margin engine, no liquidation, no clearing house. Settlement comes first: Pyth's first print at expiry, nobody picks the timestamp. Liquidity, not UX, is the honest bottleneck, so markets are quoted by a model-priced maker and stay open for weeks to months. Full argument and counter-arguments: docs/THESIS.md.
MontionsBook. Every contract is 100% collateralised: YES + NO = 1 USDC locked.parsePriceFeedUpdatesUnique) — nobody can pick a favourable timestamp. If no valid price arrives, the market voids 50/50.N(d2) with realised/configured volatility) so books are never empty. Its risk is capped and stated plainly.Full reference — contracts, units, trade lifecycle, settlement, safety controls, testnet addresses and how to verify them: docs/ONCHAIN.md.
| Contract | Role |
|---|---|
MontionsBook | Series registry, CLOB (tick bitmaps, FIFO queues), escrow, split/merge, resolution, ERC-1155 YES/NO tokens, views for the UI |
PythSettlementResolver / PythOracle | Mainnet settlement and price adapter over Pyth |
TwapThresholdResolver / OracleHub / SpotPool | Demo/testnet TWAP oracle over onchain pools |
TimelockOpResolver | Event markets, e.g. "did this governance operation execute?" |
Quoter / PricingLib | Fair value, book-walking quotes, one-call snapshots for the UI |
MakerVault | Onchain market maker with exposure caps |
Safety controls: owner can pause new risk only (exits always work), set launch caps, and hand ownership to a Safe in two steps. The owner can never move user funds or change an outcome. See docs/THREAT_MODEL.md.
scripts/dev-up.sh # anvil + contracts + 108 seeded markets + vault liquidity + price bot (~3 min)
cd app && pnpm install && pnpm dev # http://127.0.0.1:5175 — built-in dev wallet, faucet included
scripts/dev-down.sh
Tests: forge test (245 tests incl. fuzz, invariants, and differential replay against an independent Python model) · pnpm --dir sdk test · pnpm --dir bots test.
scripts/testnet-deploy.sh — see docs/DEPLOY.md.docs/MAINNET.md and docs/LAUNCH_CHECKLIST.md. Not launched.src/ contracts · test/ Foundry tests (test/diff = differential replay) · tools/refmodel independent Python model · script/ deploy & seed · scripts/ ops (dev env, fork rehearsal, verifier) · bots/ keeper + demo price bot · sdk/ TypeScript SDK · app/ frontend · docs/ spec, threat model, runbooks.
License: MIT.