Inspiration

People and teams want AI agents to compare vendor prices, split dinner receipts, send multi-currency invoices, and dispatch contributor payouts automatically. Yet nobody wants to hand an LLM an unguarded PayPal account or payment card, because autonomous tool loops can retry into duplicate charges, hallucinate quantities, or blow past a team budget.

We built PayTable to make agentic commerce safe, collaborative, and transparent. Inspired by collaborative tabletop interfaces and engineered with the Sodium infrastructure design system (0px telemetry frames), Bjork UI, and asciicn 3D ASCII shaders, PayTable gives @paytable a Linked PayPal Agent Wallet where the AI prepares every quote, split, and invoice while a deterministic Rust engine enforces human approval on every purchase before PayPal Sandbox funds move.

What it does

PayTable is a collaborative AI commerce tabletop that unifies all 5 PayPal Developer Hackathon inspiration tracks on one shared surface:

  1. Track 01 (Linked Wallet Agent Checkout): @paytable queries Channel3 verified merchant SKUs (DELL-U2723QE), negotiates quotes from $310.00 down to $265.00, enforces live tunable Single ($500.00) and Daily ($1,500.00) wallet caps via POST /api/wallet/policy, pauses in AwaitingApproval, and settles via PayPal Orders v2 (PayPal-Request-Id UUID idempotency) plus Shipment Tracking v1 once the human owner clicks Approve Purchase.
  2. Track 02 (Receipt Scan & Dinner Split): Interactive 2 to 8 diner and 0% / 15% / 18% / 20% tip calculator that drafts itemized PayPal Invoicing v2 requests, generates scannable PayPal QR codes, and triggers Instant Payouts v1.
  3. Track 03 (Multi-Currency & Creator Split): Live EUR / GBP / JPY / CAD FX invoice calculator with 4x PayPal Pay Later installment previews, Subscriptions v1, and multi-party Batch Payouts v1 splits.
  4. Track 04 (Budget & Dispute Shield): Audits PayPal Reporting v1 (31-day RFC 3339 compliant windows), generates Payment Links, and toggles Disputes v1 holds against duplicate recurring SaaS charges ($29.00 CloudRender).
  5. Track 05 (Neighborhood Solar Co-op Pool): Community $120 / $240 / $360 contribution calculator allocating 40% / 35% / 25% across neighborhood solar, microloans, and coastal cleanup with automated recurring Payouts v1.

Beyond the main tabletop ([01] TABLETOP), operators audit live SHA-256 mandate chains inside [02] LEDGER powered by AG Grid v36, inspect milestone payment gates and APIMatic typed controller signatures in [03] SCHEDULE & SDK, and render or export 7 interactive 3D ASCII scenes (.txt, .svg, .png, .webm) plus .mcp.json agent skill configs (@paypal/mcp + elevenlabs-mcp) in [04] LAUNCH & ASCII STUDIO.

How we built it

  1. High-Assurance Rust Settlement & Policy Engine (backend-rust/): Built with axum, tokio, reqwest (rustls-tls), hmac, sha2, and thiserror under #![forbid(unsafe_code)]. Before any request reaches https://api-m.sandbox.paypal.com, Rust enforces per-purchase and daily spend caps (422 Unprocessable Entity on overspend), EVERY_PURCHASE human approval state transitions, replay-safe idempotency keys (409 DUPLICATE_APPROVAL_KEY), cryptographic SHA-256 mandate chaining across runs, 31-day RFC 3339 timestamp sanitization for Reporting v1, and constant-time HMAC-SHA256 webhook signature verification.
  2. PayPal Developer Platform & Agent Tooling: Integrates PayPal Sandbox (OAuth 2.0, Orders v2, Invoicing v2 + QR, Batch Payouts v1, Shipment Tracking v1, Transaction Search / Reporting v1, and Webhooks) alongside @paypal/agent-toolkit (^1.11.0) and @paypal/mcp configured in .mcp.json.
  3. Next.js 16 Sodium Tabletop, Sponsor Stack & Web Audio (web/): Built with React 19, TypeScript, Tailwind CSS v4, AG Grid v36 (ag-grid-react custom zero-radius Sodium Quartz dark and light themes with quick filter, mandate inspection, and CSV export), Channel3 verified SKU quote comparison, APIMatic typed SDK controller contracts (ordersController, invoicesController, payoutsController, transactionSearchController, trackersBatchController), Bryntum-modeled milestone escrow timelines, tactile Web Audio SFX (92 BPM D Dorian ambient score), and asciicn 3D canvas shaders.
  4. Cloud Packaging & 60 FPS Dual-Voice Launch Film (render.yaml, Dockerfile, video/): Packaged with a multi-stage Dockerfile and declarative Render Blueprint (render.yaml) for paytable-api and paytable-web, paired with a Remotion 1920x1080 @ 60fps (-14.05 LUFS) dual-host launch film (1:32) featuring word-synced 2D character rigs (Pip and Vaulty) and real captured UI plates.

Challenges we ran into

  1. Preventing Duplicate Captures & Unguarded Retries: Autonomous agent loops frequently retry tool calls on network jitter. Moving idempotency tracking and AwaitingApproval state enforcement into our Rust RwLock store guaranteed that replaying an approval key immediately returns 409 DUPLICATE_APPROVAL_KEY without double-charging the linked PayPal wallet, while keeping external HTTP calls strictly outside lock critical sections.
  2. Headless Judge Verification Without Sandbox Credential Friction: Standard PayPal Checkout flows block automated tests on browser login popups, and judges reviewing dozens of projects need instant verification. We engineered a dual-mode PayPalGateway: when PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET are set, it executes live OAuth2 and REST calls against https://api-m.sandbox.paypal.com; when unset, 1-Click Judge Sandbox Mode runs identical Rust policy gates, SHA-256 mandate hashes, and negative INSTRUMENT_DECLINED simulations out of the box.
  3. PayPal Reporting v1 RFC 3339 Strictness & 60 FPS WebGL Rendering: PayPal's /v1/reporting/transactions rejects timestamps with fractional milliseconds or windows above 31 days, which we solved via a dedicated Rust timestamp sanitizer. On the video pipeline, rendering 60fps asciicn shaders in headless Chromium hit session limits until we built an isolated 920-frame Metal ANGLE chunked stitcher (render-videos.mjs).

Accomplishments that we're proud of

  1. Shipping all 5 PayPal hackathon tracks as live interactive calculators on a single cohesive tabletop with zero horizontal overflow across 1600px, 1280x800, and 390x844 mobile viewports.
  2. Enforcing #![forbid(unsafe_code)] in Rust with full automated coverage across live wallet cap updates, 409 replay blocks, 422 overspend rejections, INSTRUMENT_DECLINED rollbacks, and Playwright E2E flows.
  3. Crafting a 1:32 60fps conversational launch film with rigged characters, custom Web Audio synthesis, and live asciicn 3D exports strictly under the 3-minute ceiling.

What we learned

Designing for agentic finance means treating human intent verification as a first-class UI and systems problem. Pairing fast AI preparation (catalog discovery, bill math, FX conversion) with an unmistakable human approval gate and cryptographic SHA-256 audit mandates builds far more user confidence than opaque autonomous execution.

What's next for PayTable

  1. Multi-Owner Team Quorum Policies: Require 2-of-3 Slack or Passkey approvals on linked PayPal team wallets when staged purchases exceed $1,000.
  2. Automated Seller Dispute Defense Bundles: Attach signed SHA-256 PayTable buyer mandates and carrier delivery proofs directly to PayPal Disputes v1 evidence endpoints.
  3. Live Multiplayer WebSocket Cursors: Let households and finance teams adjust group splits and approve vendor milestones together in real time.

Built With

  • ag-grid
  • apimatic
  • axum
  • aypal
  • bryntum
  • channel3
  • docker
  • elevenlabs
  • mcp
  • nextjs
  • paypal-agent-toolkit
  • paypal-mcp
  • paypal-sandbox
  • playwright
  • react
  • remotion
  • render
  • rust
  • tailwindcss
  • tokio
  • typescript
  • webgl
Share this project:

Updates

Submission history