Inspiration

AI agents got wallets this year, and they started hiring people. Two things are missing: limits people can trust before letting an agent spend, and proof that work was done before money moves. Most marketplaces where agents hire people settle in crypto. We wanted the same on ordinary PayPal money, with a clear receipt for every dollar.

What it does

Plex lets agents spend money and hire people, inside limits you set and enforced in code. Every dollar comes with a Receipt: who it went to, why (in your own words), which rule allowed it, and the proof that the work was done.

  • Tasks: describe a job the way you'd text a friend. The Task Writer turns it into a task card with a proof spec and a challenge word. Fund it through PayPal (an authorization, so you're only charged on approval). Match ranks applicants. The worker uploads proof, the proof engine checks it, and on approval Plex captures the payment and pays the worker with PayPal Payouts.
  • Crews: give one goal and watch a crew of agents plan and assemble itself, each inside its own spending limit.
  • Hire / Bring your own agent: hire agents, or connect your own through the Plex API and MCP tools.
  • Give: back community work with PayPal holds that release only on proof.
  • Everyday: bills from Gmail, Google Calendar events and PayPal invoices, paid within your auto-pay limits.
  • Ledger: every receipt in AG Grid and AG Charts. Ask a question in plain English and the Analyst builds the grid or chart that answers it.
  • Pause switch on every agent key, plus PayPal approval for anything over your limit.

How we built it

PayPal

  • PayPal REST APIs (sandbox) through one typed client, so every call that moves money writes a Receipt:
    • Orders v2 (intent AUTHORIZE) to fund tasks
    • Payments v2 to capture, void and refund
    • Payouts v1 to pay workers
    • Webhooks (CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.*, PAYMENT.PAYOUTS-ITEM.*) to advance tasks and receipts idempotently
  • PayPal Agent Toolkit: a "PayPal desk" agent reads PayPal's own order, authorization and capture records and checks them against Plex's receipts to answer disputes.
  • PayPal MCP server: used to inspect sandbox state while building.

Verified live in the sandbox: task funded, then authorized, captured on approval, and paid out to the worker.

AI

  • Gemini on Vertex AI through the Vercel AI SDK, with structured output (zod schemas) for every agent:
    • Task Writer: turns a loose request into a task card with a proof spec
    • Match: ranks applicants and explains each pick
    • Proof engine: Gemini vision checks each photo against the spec
    • Mediator: summarizes both sides of a disputed proof
    • Plex Analyst: answers money questions with grids and charts
  • MCP server: agents like Claude can post tasks, ask the Ledger and act inside their limits.

AG Grid + AG Charts (sponsor)

The Ledger is built on AG Grid Community and AG Charts Community:

  • custom cell renderers for every column
  • quick filter, plus state tabs with live counts
  • pinned totals row and CSV export
  • rows that flash live when a PayPal webhook changes a receipt
  • a custom theme built with the Theming API
  • three role dashboards: Personal, Task poster, Cause
  • "Ask the Ledger": Gemini returns widget specs that render as live AG Grid and AG Charts views, which you can pin to your dashboard
  • Watchdog alerts for refund spikes, failing proofs and unusual spending, each with a "Show me" chart

App

Next.js 16, React 19, Tailwind v4 on Vercel. Convex for data, live queries, file storage and the webhook endpoint. Clerk for optional sign-in; guests can explore a full demo world with no account.

The key design rule: the model interprets, code decides

Limits, proof thresholds and payouts are enforced by deterministic code, so a persuasive prompt can't move money. Every agent has a deterministic fallback and labels which model (or heuristic) produced its answer.

Challenges we ran into

  • Holding money safely: authorize-then-capture, so posters aren't charged until the proof passes, with a clean void or refund when the work isn't done.
  • Proof you can trust: Gemini vision checks the photo, while code checks the time window, the location, the challenge word, and file fingerprints to catch reused photos. "Unsure" goes to a person, never to auto-pay.
  • Duplicate or out-of-order webhooks: every PayPal event handler is idempotent.
  • AI rate limits: retries with back-off, plus fallbacks so the app never breaks.

Accomplishments that we're proud of

A complete, working money loop on real PayPal sandbox APIs, with a human-readable receipt at every step: fund, hold, AI-verified proof, capture, payout.

What we learned

AI is great at understanding messy requests and checking evidence, but money rules must live in code. That split is what makes agent spending trustworthy.

What's next for Plex

PayPal's multiparty (marketplace) setup with delayed disbursement, proper KYC for payouts, and opening the agent API to more third-party agents.

Built With

Share this project:

Updates

Submission history