A handheld for betsnobody can see.
Pick where the price lands, or just which way it goes. Your position is a hash until the round settles — the chain charges you correctly for a bet it cannot read.
This is the whole transaction.
OPEN_POSITION · 0x6FEB9E34… · MAINNET · SUCCEEDED
0xdMARKET IDmarket 13. Which round, and it has to be public.
0xf2155993…ad5adf772COMMITMENTposeidon(tag, secret, band low, band high). One-way. The band is inside it and cannot be read out.
0x35124LOW REACH RATIO217,892 — how far the band reaches below its midpoint, as a fraction of spot. A width, not a place.
0x35124HIGH REACH RATIOThe same going up. Prices the position exactly; locates it nowhere.
0xde0b6b3a7640000STAKE, LOW LIMB1 STRK. The chain must charge you.
0x0STAKE, HIGH LIMBThe u256's other half.
- the band you actually picked
- the price you were betting around
- whether you won, until you claim
Two games.
Draw a band. Get paid if the price finishes inside it.
The price of the bet depends only on how far your band reaches from its own midpoint — a pair of ratios, with the absolute price cancelling out. So the contract can charge you correctly while being told nothing about what you predicted.
4 markets, live on mainnet.
PRICES READ NOW · NOT A SNAPSHOT
It has been running without me.
A keeper lists the rounds, relays the prices and settles what is due, on a loop, on its own infrastructure. These numbers are read from the chain and from that process when you load this page.
Every one created by the keeper, priced against a published table.
Settlement is permissionless — anyone can poke an expired market.
Each one a signed transaction carrying its own publisher count.
It is on the chain where being wrong costs money.
The market contract is deployed on Starknet mainnet, reading Pragma directly, with 4 markets listed and 5 STRK of house bankroll behind each one so it can take a position rather than refuse it. The 5 pairs Pragma does not carry on mainnet were not listed: a market whose oracle cannot be read is one that could take a stake and never resolve.
0x0215dc0b029cfa4d3671494ad4ddcd9ceede531867487a9970b094a665a3aaf9- 1Account deployedON L1
- 2Deploy MolfiMarketON L1
- 3Listed BTC/USD 14400sON L1
- 4Listed ETH/USD 14400sON L1
- 5Listed STRK/USD 14400sON L1
- 6Listed WBTC/USD 14400sON L1
- 7Sent bankroll for market 1ON L1
- 8Funded market 1ON L1
- 9Sent bankroll for market 2ON L1
- 10Funded market 2ON L1
- 11Sent bankroll for market 3ON L1
- 12Funded market 3ON L1
- 13Sent bankroll for market 4ON L1
- 14Funded market 4ON L1
- 15Settled market 1 (BTC/USD)ON L1
- 16Settled market 2 (ETH/USD)ON L1
- 17Settled market 3 (STRK/USD)ON L1
- 18Settled market 4 (WBTC/USD)ON L1
- 19Trader account deployedON L1
- 20Opened a position on market 9 (1 STRK)ON L1
- 21Claimed it — band revealed, 1.6227 STRK paidON L1
- 22Opened a position on market 13 (1 STRK)ON L1
- 23Claimed the market 13 position on the desk — 1.6227 STRK paidON L1
Every one finalised on Ethereum, not merely accepted on L2. Three transactions through the STRK20 pool itself are still outstanding — molfi’s pool route is built and validated against the deployed pool’s own compiler, but signing them needs a viewing key, and molfi holds none by design.
THE DESK ABOVE TRADES HERE. REAL STRK, REAL SETTLEMENT, REAL PAYOUT.
Take a position nobody can see.
SEPOLIA TESTNET · MOLFI FUNDS YOUR FIRST ACCOUNT · NO EXTENSION, NO SEED PHRASE