Search projects, hackathons, sponsors and tech

    ← All projects

    Unexpected Sports

    Set-and-forget NBA betting vaults. Deposit USDC, get automated season-long team exposure.

    Demo

    About

    Unexpected Sports creates a **new financial primitive**: tokenized vaults that give passive, season-long exposure to NBA teams. Using an **intent-based architecture**, the vault automatically sells prediction market NO tokens and streams bets over 48 hours (DCA entry). Your ERC-20 shares go up when the team wins, down when it loses — no manual betting, no addiction loop. As a side effect, we create a permissionless **on-chain sports oracle** for moneyline probability data. The result is a **derivative token** whose price: - **Short term:** Goes up when the sports team wins, down when it loses - This makes it a digital asset to support **leveraged sports betting** (e.g., sports perps) - **Long term:** Goes up when the sports team has an **UNEXPECTEDLY** good season - This makes it a non-correlated digital asset that can be added to portfolios ## Problem Prediction markets let you bet on individual games, but there is no easy way to get **season-long financial exposure** to a team's performance. Today you have to: - **Manually place bets** every game, all season - **Size each bet correctly** so you don't blow up your bankroll - **Resist distractions** — platforms push you toward other markets and parlays - **Avoid addiction** — the constant engagement loop of sports betting is by design _There is no "buy and hold" equivalent for sports fans who just want upside if their team has a great season._ ## Solution Unexpected Sports Market creates **per-team ERC-4626-style vaults** that support traders and investors to hold shares of an automated betting pool that follows a policy of betting 2% of the pool on each team's game. | Feature | How It Works | |---|---| | **Deposit** | Send USDC to a team vault, receive ERC-20 shares | | **Automated Betting** | The vault sells NO tokens worth 2% of its balance on every game | | **Intent-Based Execution** | Off-chain searchers/market makers fill NO token orders — no direct prediction market integration | | **Rate-Limited Withdrawals** | Daily deposit/withdraw caps prevent manipulation and ensure stable bet sizing | | **Transparent Pricing** | Share price = USDC balance + mark-to-market value of open bets, updated via on-chain oracle | | **Sports Oracle** | Independent oracle contract for trusted price reporters to track YES/NO token prices |

    How it's made

    ### How It's Made The protocol has three components: **On-Chain (Solidity / Foundry)** - **Oracle** — Stores game metadata (teams, slug, game time) and time-series YES/NO price observations. Supports TWAP queries over arbitrary time ranges. Authorized reporters post prices; data is publicly readable by any contract. - **Team Vault** (interface defined, implementation in progress) — ERC-20 share token representing pro-rata claim on vault assets. Accepts USDC deposits, mints shares, burns on withdrawal. Sells NO tokens per game to searchers/market makers. Rate-limits deposits and withdrawals to prevent manipulation. **Off-Chain (Python)** - **Data Pipeline** — Fetches hourly YES/NO price history from Polymarket's Gamma and CLOB APIs for every NBA game. Stores data in SQLite and CSV files. Powers the backtest engine that validates the 2% strategy across all 30 NBA teams. - **Web Server** — Flask app serving backtest results, price history charts, and game analysis via REST API + HTML dashboards. **Frontend** (spec defined) - React app for depositing USDC, viewing share price history, and browsing per-game NO token liquidity.