
Betcaster
Bet with friends
Demo
About
The problem it solves # Betcaster: Decentralized Peer-to-Peer Betting Protocol Traditional betting platforms suffer from several critical issues: - **Centralized Control**: Users must trust third-party platforms to hold funds and settle disputes - **High Fees**: Middlemen extract significant fees from every transaction - **Limited Transparency**: Users can't verify the fairness of outcomes or fund security ## The Solution Betcaster is a **decentralized peer-to-peer betting protocol** that eliminates intermediaries through smart contracts and community arbitration. ### Key Features **Trustless Escrow**: Funds are automatically held in smart contracts until outcomes are determined **Community Arbitration**: Trusted arbiters, agreed upon by both parties, judge bet outcomes, eliminating a monolithic centralized authority **Minimal Fees**: Only small protocol fees (0.5%) and optional arbiter fees (0.5-2%) **Instant Settlement**: Automated payouts based on arbiter decisions **Transparent**: All bet terms, funds, and outcomes are publicly verifiable on-chain ### How It Works 1. **Maker** creates a bet with specific terms and stakes funds 2. **Taker** accepts the bet and matches the stake 3. **Arbiter** (chosen by Maker, visible to the Taker) judges the outcome when the bet expires 4. **Smart contract** automatically distributes funds based on the arbiter's decision ### Real-World Impact Betcaster enables **trustless agreements** for everything from sports predictions to business outcomes, creating a new paradigm for peer-to-peer commitments without requiring trust in centralized institutions. Smart Contract Address(es) https://basescan.org/address/0x668f25E26522fcA6ff4f4D6cEe2f2269e7c26B56 https://basescan.org/address/0xCAAC9afe3c7594608366e47c3482FD2A1D7F2137 https://basescan.org/address/0x1001EBFB2142ccCeB330ffF1F4778091B7115D17
How it's made
Challenges we ran into 1) The Base App does not yet have addresses searchable via Neynar, so the mini-app has limited comparability with TBA based Farcaster wallets 2) I continue to have issues having wallets connect for transactions on desktop. It often takes 1 or 2 refreshes of the app for the mini-app to connect to the wallet on desktop 3) Batch transaction implementation has been a major headache. useSendCalls does not return a transaction receipt making state updates in the app difficult