Two parties. One resolver. No oracle. Lock your stakes in an immutable contract. A mutually trusted resolver picks the winner. From $1 bar bets to $1 billion public challenges. Custom odds. ETH or any ERC-20 token.
No Chainlink. No oracle network. A mutually trusted human — a friend, a lawyer, a public figure — determines the winner. The resolver can only pick a winner or declare a draw. They cannot steal funds.
1:1, 3:1, 10:1, 100:1 — any odds. Party A locks 1 ETH, Party B locks 3 ETH. Winner takes all minus 2%. The contract doesn't care about odds — it just holds both stakes and sends them all to whoever the resolver picks.
If the resolver goes MIA, both parties reclaim their own stakes after 30 days. Worst case is always "get your money back." No permanent fund lock. No trapped capital. Just game theory.
Click "Load Recent" to browse bets or look up by ID.
Onchain Bet is a fully immutable, decentralized smart contract protocol for trustless peer-to-peer betting on Ethereum. Two parties lock stakes on opposing sides of any claim. A mutually agreed human resolver determines the winner. No Chainlink VRF, no oracle network, no external dependencies.
Chainlink and oracle networks add complexity, cost, and dependency. If the oracle goes down, the contract breaks. Human resolvers handle ANY event — sports, prices, personal challenges, elections, "will CZ prove his divorce." A trusted friend, lawyer, or public figure can resolve what no oracle can.
Party A deposits stake, sets counterparty requirements (stake amount, address or open), resolver, deadline, and terms hash. The bet is Open and waiting for a match.
Party B sees the bet, reviews terms and resolver, deposits their required stake. Bet goes to Matched status. Both sides locked.
After the deadline, resolver calls resolve(). Picks Party A, Party B, or Draw. Winner gets total pot minus 2%. Draw returns stakes minus 1% each.
30 days after deadline without resolution, both parties can reclaim their own stakes. No fee. Safety net.
ReentrancyGuard. SafeERC20. CEI pattern. Per-party claim flags for expired reclaims. No selfdestruct. No delegatecall. Resolver cannot steal — can only direct funds to PartyA, PartyB, or Draw. Resolution enforced to be after deadline only.
— Otoshi
Deployed on Ethereum. Immutable forever. The contract that Cobie didn't need to be.