Build Update

What we've shipped so far.

Vaaya is the wallet for AI agents — sign in, add a card, and your agent (Claude Code, Cursor, Codex CLI) can discover and pay for verified APIs on your behalf: web search, image generation, compute sandboxes, email, and GTM tools, with ledger-based billing and overdraft protection.

18.2k
Lines of TypeScript
~70
Passing tests
13
DB migrations
3
Settlement rails
v1.9.2
MCP shim on npm

Shipped & live

01Auth & onboarding Live

  • Google sign-in via Auth.js v5
  • Card setup with Stripe
  • $100 signup grant, applied idempotently on first card add

02OAuth 2.1 server Live

  • Authorization-code flow with PKCE
  • Dynamic client registration (RFC 7591)
  • Discovery endpoints (RFC 8414 / 9728)
  • Refresh-token rotation + nightly stale-token sweep

03Three payment rails Live

  • x402 — USDC on Base mainnet via Coinbase CDP
  • MPP — Stripe SPT or Tempo chain settlement
  • Card / REST — Vaaya-held vendor keys

04Ledger accounting Live

  • Balance computed from an append-only ledger, serialized writes
  • Automatic card top-up on overdraft
  • Per-user and global daily spending caps
  • Full transaction history with audit logging

05MCP transport Live

  • HTTP /mcp endpoint for Claude Code, Claude Desktop, Cursor
  • Stdio shim @vaaya/mcp for Codex CLI
  • Tool-catalog auto-discovery with one-command installer

06Merchant proxy Live

  • External agents pay Vaaya for compute (E2B) and image gen (fal) over sell-side x402
  • Per-(vendor, action) pricing in the catalog
  • Settles into a dedicated proxy wallet

07Consult engine Live

  • Intent classifier routes agents to the right service
  • Per-user conversation memory across turns
  • Knowledge guides per category: compute, search, scraping, email, GTM

08GTM funnel In progress

  • Company & persona search with email enrichment (Prospeo)
  • LinkedIn / email connect, invites, DMs, sends (Unipile)
  • Per-user throttling tuned to platform-safe limits
  • Flag-gated rollout, off by default

Stack

LayerTechnology
FrontendNext.js 15 App Router · React 19 · TypeScript
BackendNext.js route handlers · Node.js ≥ 20 · pnpm monorepo
DatabaseSupabase Postgres + Drizzle ORM
AuthAuth.js v5 (Google) + in-house OAuth 2.1 server
PaymentsStripe · Coinbase CDP (x402 / USDC on Base) · Tempo (MPP)
QualityVitest · Biome · Zod-validated configuration
DeployVercel (web) · Fly.io (worker + nightly cron)

Data model — 14 tables

AreaTables
Identityusers with balance tracking
OAuthoauth_clients · grants · access_tokens · refresh_tokens · sessions · authorization_codes
Moneyledger_entries (source of truth) · transactions · x402_ledger (idempotency + replay)
Opsaudit_log · async_jobs
Agentsconsult_memory — per-user context for the consult engine
GTMconnected_accounts · gtm_send_log (throttle tracking)

How it's built

Up next — GTM v1, the cold-outbound funnel

PhaseScope
Phase 0Vendor contracts + coverage gate (search / enrich accuracy)
Phases 1–3Config, schema, LinkedIn / email connect flow
Phases 4–6Prospect search & enrichment, throttling, send dispatch
Phases 7–8Consult coaching, flag-gated rollout