Inspiration
Every trip, shared flat and team outing has the same shape: one person fronts the villa, the cab and the dinner, then spends a week chasing everyone for their share. AI agents can now pay for things, but a group will only let an agent touch shared money if the group, not the model, decides the limits. We wanted an agent people would actually use for that, running on open models on open infrastructure.
What it does
Chai Pot is a shared group wallet. Members chip in with PayPal (sandbox), set the rules (per-bill cap, daily cap, allowed categories, how many approvals a bill above the cap needs), and then just talk to the agent:
- "Pay the $24 dinner at Saravana Bhavan to [email protected]": Nemotron 3 Nano turns it into structured JSON (amount, currency, payee, category, split, reasoning).
- A receipt photo: Nemotron 3.5 Super VL itemizes every line, tax and total and suggests a split.
- A deterministic, unit-tested policy engine checks funds, category, payee, per-bill and daily caps. Within limits: auto-pay with PayPal Payouts. Above a cap: held for N approvals. Otherwise rejected.
- For every held bill, Nemotron 3 Ultra writes a short risk review for the approvers: amount vs the pot's history, repeated or new payee, daily-cap impact, possible duplicates, and what to check. It is advisory only; humans still approve.
- Nemotron 3 Super is the fallback when a model is busy.
- Every interpretation, policy check, review, payout and refund lands in an audit log with the exact Nemotron model that produced it.
How we built it
Next.js 16 (App Router) + TypeScript on Vercel, Upstash Redis storage, PayPal REST (Orders v2, Payouts, Captures refund). All model calls go to Nebius Token Factory's OpenAI-compatible endpoint (https://api.tokenfactory.nebius.com/v1/chat/completions) with json_schema response format. lib/nebius.ts converts our response schemas to JSON Schema, strips reasoning blocks and code fences before parsing, and routes each job to a right-sized Nemotron model: Nano for every request (fast, cheap), Super VL for images, Ultra only for the rare high-stakes held bill, Super as fallback.
What we significantly updated during the hackathon
Chai Pot started as a PayPal AI Hackathon project on Gemini (branch main, untouched). For this hackathon, on branch nebius-nemotron, we:
- moved the whole agent onto NVIDIA Nemotron on Nebius Token Factory (new lib/nebius.ts client, AI_PROVIDER switch, fast / vision / reasoning / fallback routing);
- added a new agent capability: the Nemotron 3 Ultra risk review on held bills (new risk_review audit entry and a review panel on the bill card);
- tightened request parsing for Nemotron (only amount or payee can block a bill, currency symbols mapped to ISO codes, default split to all members);
- added unit tests for the schema converter and JSON extraction, and a separate Vercel deployment with its own data prefix.
Challenges we ran into
- Getting reliable structured JSON from reasoning models: replies sometimes carry reasoning or fences, so we combined schema-constrained output with a tolerant extractor.
- Nano occasionally listed extra "missing" fields (e.g. a payer email) that would block a valid bill; now the deterministic layer decides which facts can block.
- Keeping the agent safe with (sandbox) money: the model never sees limits as something it can change, and amounts for receipt payments come from the server-stored parse, not the browser.
Accomplishments that we're proud of
End-to-end on the live demo: Nano parses a request in a few seconds and PayPal pays it; Ultra writes a specific review of a held $65 bill (daily-cap impact, repeated payee, fairness of the split); Super VL reads a real receipt photo into line items.
What we learned
Right-sizing models per job matters more than one big model: Nano is fast enough for every chat message, and Ultra is worth its latency only when humans are about to decide.
What's next for Chai Pot Nemotron
Live PayPal, UPI and USDC funding, recurring household bills, and letting Ultra flag patterns across many pots.
Built With
- nebius-token-factory
- next.js
- nvidia-nemotron
- paypal
- react
- typescript
- upstash-redis
- vercel
Log in or sign up for Devpost to join the conversation.