Project Spec and Team Structure
This section provides team roles and the high-level product scope for the x402 Facilitator project.
Team roles
- Project Lead: @Rome (scope, timeline, tie-breaker)
- Frontend Lead: @Mike (UI, auth, Next.js structure)
- Backend Lead: @Ryan (Go endpoints, database schema, infrastructure)
- Design Lead: @Patrick (visuals, UX)
Decision rule: if a technical decision takes longer than 5 minutes, the relevant Lead decides.
High-level objective
Build a hosted x402 Facilitator and a Developer Dashboard where users can sign in with a wallet, pay a fee, and generate API keys for facilitator access.
System architecture
- Facilitator (Go backend): processes x402 requests
- Dashboard (Next.js frontend): UI for key purchase and management
- Database (Supabase/Postgres): stores API key records and usage data
Dashboard requirements
Tech: Next.js, Vercel, Tailwind, Privy for wallet auth.
MVP scope:
- Public landing page with marketing and docs
- Protected dashboard:
- Generate key (wallet transaction, pay in USDC)
- List keys by wallet address
- Reveal key once, store hash only
Non-goals for MVP:
- Billing history
- Logs
- Revocation
- Advanced analytics
Facilitator requirements
- Validate API keys against Supabase
- Execute x402 transactions
- Hold a private key for gas
Endpoints:
GET /supportedPOST /verifyPOST /settle
Database schema
Table: api_keys
Columns: id, user_wallet_address, api_key_hash, salt, payment_tx_hash, created_at, expires_at
Store only hashed keys; never store raw API keys.
Side quest (testing)
Build a “Buy Me a Coffee” widget to dogfood the facilitator. Use Tanstack Start and deploy on Next.js.
Communication norms
- Async standups Mon-Fri by 12:00 PM EST in Discord
- Use a quick voice sync if a debate runs longer than 5 minutes
- Update Discord status when heads down vs available
Last updated on