Bet on your friends’ rounds
Open the app, see who’s mid-round, take a price on a head-to-head. Kalshi-style binary contracts. Friends-only — both sides have to follow each other to transact. The app keeps the price and the ledger; the money settles directly between you via Venmo at the 19th. No rake.
Quickstart
- Open the Spectate tab (eye icon).
- Tap Find friends → search by email or name → tap Follow. Your friend follows you back from their phone.
- When your friend starts a round, it shows up under Live now on your Spectate tab.
- Tap the round → see the live scoreboard + a head-to-head market for every pair of players in that round.
- Tap a price tile to post an offer. Pick a side, set a price (cents), set a quantity (contracts), tap Post offer.
How a contract works
Each market is a binary contract: YES + NO always sums to $1. If a price prints at 30¢, that means YES (one player) costs 30¢, NO (the other player) costs 70¢. Two parties, no third needed.
When you post “buy YES at 30¢ × 10 contracts,” you’re committing $3. When a friend takes the offer, they’re buying NO at 70¢ × 10 = committing $7. $10 of claims are now in the round. The bet is between the two of you.
The reference price you see on each side is computed from each player’s course handicap and the scores so far. After every hole save, the server reprices — a 12-handicap who’s leading a 2-handicap after three holes will jump from 20¢ to 40¢. The market itself decides the actual fill price; the reference is just a starting point.
Cash-out
Your YES position is at 30¢ and the price has moved to 50¢. You want to lock in profit. Post a sell YES at 50¢(or equivalently, “buy NO at 50¢”). If a friend takes — could be a different friend, doesn’t have to be your original counterparty — you receive 50¢ × 10 = $5 from them, you’re flat with a 20¢ profit per contract. The new buyer steps into your old position. Your original counterparty is unaffected.
If no friend takes the cash-out offer, it sits open until either someone takes it or the round settles. No money moves until a fill happens.
Settlement at the 19th
When every player has 18 holes scored, the round closes and the markets lock. For each settled head-to-head, YES contracts pay $1 if Player A won the gross, $0 if Player B won, refund if they tied. The server sums each user’s P&L across every fill on the round, runs a greedy bipartite match (biggest winners ↔ biggest losers), and emits the minimum-cardinality set of pairwise transfers.
Each transfer comes with a Venmo deep link pre-filled with the amount and a memo. Tap it, Venmo opens, you confirm, done. Most rounds collapse to two or three transfers total even with a dozen fills.
Mutual-follow gate
v1 of this product is friends-only. To take an offer (or cash out against), you and the offer poster must follow each other. This avoids the “random people don’t pay when they lose” failure mode that any peer-to-peer network worries about. Empty book on day one is fine — your offer just sits open until a friend you trust takes it.
What we don’t support yet
- Real-money custody. The app never touches your money — peer-to-peer Venmo only. Custody requires licensing we don’t have.
- Public markets. No betting on randoms. Future: opt-in public profiles for popular golf creators.
- Round-winner / threshold markets. Today only head-to-head pairs auto-spawn. Round-winner (lowest gross of the field) and over/under (does X break 80?) are queued for v2.
- Live order book depth. Today you see all open offers from your friends; for v2 we’ll show real bid/ask depth across the friend graph.
API
Full reference at /api/v1 under the Markets and Social tags. Routes:
GET /api/social/feed— live rounds among people you followGET /api/markets/round/:id— markets + offers (friends-only filter) + your positionsPOST /api/markets/:id/offers— post YES or NO at a price + qtyPOST /api/markets/:id/offers/:oid/take— accept (mutual-follow required)GET /api/markets/round/:id/settlements— Venmo links post-round