| # | Feature | Status | Effort | Guardrails |
|---|---|---|---|---|
| 0 | Search, listings, trust, MCP server, A2A card, llms.txt, OpenAPI, kit.json v0.1 One rail-neutral index across permitted sources; payment-based trust only; seeded listings marked unclaimed. /api/v1/search | live | done (MVP) | |
| 1 | Buy here: non-custodial x402 pass-through (HTTP, MCP call_kit, A2A call_kit) Forwards the buyer request to the seller; 402 requirements returned unchanged; buyer pays seller payTo from own wallet; X-PAYMENT / PAYMENT-SIGNATURE forwarded unchanged; settlement headers returned. Logs outcome, amount, network, tx hash (no bodies). /api/v1/call/{id} | live | done (phase 3) | No keys, no funds, no settlement, no fees, payTo/amount never modified. Verified x402 listings only; https + public IPs only; 256 KB / 2 MB / 25 s; 20/min per client. Card-only listings link out. |
| 1 | (7) Our own kits, featured first-party First-party Seenly kits appear in a separate 'featured_first_party' block on relevant searches and in a 'Featured from Seenly' section on the home page, labeled as operated by the hub operator, never mixed into organic ranking. Buyers pay the kit directly (x402), like any seller. /api/v1/search | live | live; +0.5 day per new kit | Always labeled; organic ranking unaffected; same trust method as everyone. |
| 2 | Seller claim + domain verification (prerequisite for 2, 3, 5) Live: email magic-link sign-in (Resend, transactional only), claim via /.well-known/agent-hub-verify.txt, DNS TXT, or email at the listing domain; claimed listings show a claimed badge. /api/v1/sellers/claim | live | done (phase 2) | |
| 2 | Database + search/click tracking Live: Neon Postgres (free plan) via Vercel Marketplace. Tables: sellers, sessions, auth_tokens, listing_claims, search_events, impressions, click_events, sponsored_slots (stub), badges (stub). Raw IPs never stored. | live | done (phase 2) | Needs David's OK to add a Vercel Marketplace database. |
| 3 | (5) 'List your API as a kit' tooling Paste an origin or OpenAPI URL → draft kit.json, x-payment-info in MPPScan/x402scan format, llms.txt, agent card, x402/MPP middleware snippet, listing checklist. Free tier generates; paid tier ($) hosts manifests and auto-submits to directories with seller approval. /api/v1/tools/kit-builder | stub | 3-4 days for generator; +3 days hosted/auto-listing | Never registers a listing elsewhere without the seller's explicit approval. |
| 4 | (3) Seller analytics dashboard Basic stats LIVE on the seller dashboard (impressions, click-throughs by surface, detail views, top queries; 7/30 days). Advanced (stub): competitor price bands, conversion to verified paid usage, exports, longer history. /api/v1/sellers/me/analytics | partial | basic done; advanced 3-4 days | |
| 5 | (2) Paid verified-seller badge Domain control + business identity (KYB via a provider) + sanctions screen on payout addresses + live 402 probe. Badge says 'identity verified', never 'quality guaranteed'. Trust score stays payment-based and is NOT purchasable. /api/v1/sellers/verify | stub | 3-4 days + KYB vendor | Badge purchase cannot change trust score or organic rank. |
| 6 | (4) Market data + trend reports from the tracker Weekly wash-filtered category spend, price bands, demand gaps (searched-but-not-found from our own logs). Free summary; paid API/CSV per call (x402/MPP) or subscription. /api/v1/market/reports | stub | 3 days for API over tracker; licensing review per source | Only republish data whose license allows it (x402-list CC BY with attribution, our own logs, on-chain); no CDP Bazaar counters without Coinbase permission. |
| 7 | (1) Sponsored / featured placement Max 1-2 slots per query in a separate 'sponsored' array, labeled 'Sponsored', only for claimed + verified sellers with a live 402, relevance threshold required. /api/v1/sponsored | stub | 2-3 days after claim + verified badge + billing | Never inside organic results; never affects trust; FTC-style disclosure; agents can opt out with ?sponsored=false. |
| 8 | (6) Premium buyer tier API keys with higher rate limits, private catalogs (allow-lists of kits per org), spend controls as policy advice (per-kit max price, per-day budget, blocked categories) enforced in the buyer's own wallet/SPT limits, audit log of hub-routed purchases. /api/v1/buyers/account | stub | 5-7 days | Hub never holds buyer funds; spend controls are policy checks + wallet/Link limits, not a stored balance (avoids prepaid-access rules). |
| 9 | Billing for SaaS lines (badges, analytics, premium, sponsored) Stripe Billing (Checkout + Customer Portal) for the hub's OWN services only: sponsored slots, badges, analytics, reports, kit hosting, premium buyer seats. The hub is a normal merchant for its own products; it never touches buyer->seller payments. | planned | 2 days | Off until David approves; no charges in MVP. |