Sponsors pay with PayPal.
An AI producer runs the show.
Creators get paid.
ODDBOUT Showrunner turns one PayPal payment into an hour of AI-produced fighter cups with your promo in the breaks. Then it checks the payment with PayPal and pays the fighters' creators.
PayPal Sandbox only. No real money moves. The full write-up is docs/HACKATHON.md.
The money loop
Real records from our Nov 4, 2026 Sandbox rehearsal (times in KST). Test money only. Full record
-
1
PayPal Checkout
Sponsor pays
Orders v2: the buyer approves and our server captures. DON is credited only after a verified capture.
order 88V317260P462440Y
capture 4PK99542NL408204G -
2
Ledger
One ticket, one debit
Spotlight · 1 hour costs 300 DON. Four fighters are assigned at purchase.
46,725 → 46,425 DON
extra charges: 0 -
3
AI · MCP
The AI producer runs the show
The On-Air Agent schedules cups through ODDBOUT's MCP tool
host_cup, inside the ticket's allowance.4 cups · 12 verified bouts -
4
PayPal MCP
The payment is reconciled
The official PayPal MCP server's
get_orderconfirms the capture that funded this ticket.matched · 04:41:29 KST -
5
PayPal Payouts
Creators get paid
Appearance fees go out after the owner approves. “Paid” requires every recipient item to report SUCCESS.
batch BG2R7YQFNCV22
USD 0.32 · SUCCESS
Each fighter earns USD 0.02 per completed cup: four fighters × four cups = USD 0.32. This Sandbox maps all four fighters to one test receiver, so PayPal sent a single item, U4FN6P272QXHU.
Try it in 10 minutes
Each step shows what you should see.
What you need
- Any Google account
- The PayPal Sandbox buyer login from our Devpost testing instructions
- A short MP4, or our sample clip (6 s, 31 KB)
Steps and expected results
- Sign in with Google.Your DON shows 0
- Add DON → Starter, USD 10. Approve with the Sandbox buyer.“1,000 DON added”
- Choose 1 hour for 300 DON.A ticket with four fighters
- Add your promotion: the MP4 and a promo URL, then Save Promotion.An AI-written sponsor introduction
- Add to Calendar → On-Air Agent → tick the check → Start.“Agent running”
- Wait for the first cup, about 5 minutes, then open Watch broadcast.Your promo break and a replay of the verified bout
- Press End broadcast and confirm. The current cup finishes.“Finished”
- Press Check settlement.Settlement shows “Matched”
- Tick the approval for the creator fees and press Pay with PayPal.“Paid · PayPal batch … · every recipient SUCCESS”
One graphical runner serves this demo. If Start says another broadcast is using the host, your ticket is saved: try again in a few minutes. Ending after the first cup keeps the runner free for the next judge.
Where PayPal does the work
- Orders v2 · Checkout
- Create, buyer approval, server capture. A COMPLETED capture is checked against the payee, amount, currency and the account's own top-up before any DON is credited.
- Webhooks
- Signatures are verified with PayPal's verification API. Capture events use the same credit function as the synchronous capture, and a capture ID credits once. Refund and reversal events are stored once per event ID and freeze spending.
- Official PayPal MCP server
@paypal/mcp, started with only the read toolsget_order,list_transactionsandget_refund, and refused if it offers more. The server compares each top-up that funded the ticket withget_order.- Payouts
- Creator appearance fees, sent only after the owner approves. A retry reuses the same batch ID, so it can never create a second batch. A refund or reversal freezes payment.
Where AI does the work
- On-Air Agent
- A model reads the ticket's lineup and remaining time and proposes the next move: host a cup, wait or stop. The server validates each proposal and hosts cups only through ODDBOUT's MCP tool
host_cup, with a grant scoped to that one broadcast. It cannot pay or change prices, limits or payouts. On Nov 4 the model was Sol 6.1. - Sponsor introduction
- Written from the promo URL's hostname only, labeled as a paid sponsor break, with no product claims. The owner reviews it before pressing Start.
- Settlement auditor
- Explains the PayPal MCP check to the owner and may call the same read-only tools to look into a mismatch. The server's comparison decides the result, never the model.
- Bounded by design
- Model calls are capped per broadcast and per day. An unusable AI answer shows Retry Agent, which continues the same ticket with no extra charge.
Built during the hackathon
The submission period opened Oct 1, 2026. Not part of this entry: the ODDBOUT game with its fighters and bout engine, developed in a separate repository, and the fighter creator kit this repository has held since its first commit on Oct 19, 2026. Showrunner's payments, AI producer, reconciliation and payouts were added from Nov 2. Dates are GitHub times in UTC.
- Fenced tournament renderer for agent broadcaststwitch-cup #1
- PayPal Sandbox credits and scoped agent broadcastsstarter #264
- Sandbox hardening: kept out of production; an unknown job no longer holds a hoststarter #266
- Winner card held between broadcast boutstwitch-cup #2
- Isolated hosted PayPal Sandbox and reproducible cup checksstarter #290
- Broadcast Studio refresh and Google sign-instarter #296
- Broadcast audio fix and Sandbox endurance packagestarter #302
- Spotlight tickets, PayPal MCP reconciliation, creator Payouts, paid-task recoverystarter #329
- MIT license for the Twitch Cup code, with art terms in NOTICEtwitch-cup #4
- Read-only Spotlight playback adaptertwitch-cup #5
- The money flow on screen and this judges' pagestarter #333
What this demo does not claim
- PayPal Sandbox only. No live payments or real customers.
- Creator payouts always wait for a person to approve them.
- One graphical runner serves the demo, so one broadcast runs at a time.
- The watch page replays verified bouts on the web. It is not a Twitch stream.
- Our Nov 4 run was ended after about 20 minutes. A full hour, including the second sponsor break, is not yet verified on the hosted demo.
- Live Twitch or YouTube output and 24-hour runs are planned work and not verified.
