Changelog
Platform and protocol release history.
Progressive Authorization
March 6, 20264-State Authorization Model
P402 now formalizes authorization as a progression: Visitor → Identity Only → Wallet Linked → Payment Ready. Each state is computed server-side at GET /api/v2/auth/state and surfaced throughout the product with a clear, low-friction path to the next state.
- State is derived from the NextAuth session: CDP email users resolve to
wallet_linkedimmediately; Google OAuth users are resolved against the account's linked wallet address - Dashboard banner renders contextually per state — amber for unactivated payments, dark for unfunded wallet, silent when payment-ready
- Nav wallet indicator distinguishes Google-only sessions ("Activate Payments") from wallet-linked sessions (address chip) without triggering RainbowKit
- Mobile nav no longer surfaces a wallet connect prompt for unauthenticated visitors
Google OAuth → Wallet Activation Path
Google OAuth users encounter a dedicated wallet activation pre-step in onboarding. The CDP email field is pre-filled from the Google session. The step is skippable; deferred state is tracked in localStorage and surfaces an inline activation prompt on the dashboard. Users who skip remain in identity_only state — dashboard and API key access is unaffected; payment routes return a 402 until a wallet is linked.
Builder Onboarding Path
Developers who select the Build & Route role now receive targeted onboarding copy: no personal wallet required, agent sessions use CDP server wallets funded by clients, with a direct reference to the POST /api/v2/sessions endpoint and wallet_source: "cdp" parameter.
CDP Wallet Integration
March 4, 2026Email OTP — Embedded Wallet on First Login
Sign in with an email address. A self-custody Base wallet is provisioned automatically via Coinbase Developer Platform (CDP) Embedded Wallet — no browser extension, no seed phrase, no prior crypto experience required.
- OTP delivery and wallet creation complete in under 500 ms end-to-end
- Private keys are generated and stored inside Coinbase's AWS Nitro Enclave (TEE) — never transmitted to the P402 server
- Session identity: wallet address is the primary identity token, no separate linking step
- First login presents a wallet acknowledgment screen with address and network confirmation
CDP Server Wallet for Facilitator Signing
The x402 facilitator signing wallet supports two modes, selectable via environment variable:
- Mode A — CDP TEE (
CDP_SERVER_WALLET_ENABLED=true): private key never touches the Node.js process; signing happens inside Coinbase's Nitro Enclave. Recommended for production. - Mode B — raw key: legacy local-dev fallback using
P402_FACILITATOR_PRIVATE_KEY - Active mode is exposed at
GET /api/v1/facilitator/health→"mode": "cdp-server-wallet" | "raw-key"
Guided Wallet Funding — Onboarding Step 3
Onboarding is now 4 steps: Role → API Key → Fund Wallet → Orientation.
- Fund Wallet step displays the connected wallet address with a one-click copy button
- Instructions: copy address → send USDC on Base → the dashboard detects the deposit and transitions state automatically
- Minimum deposit: $0.01 USDC. Contract:
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Protocol, SDK & CLI Launch
March 2, 2026P402 Protocol — Open Source
The core P402 protocol specification and reference implementations are open source. Includes the x402 payment extension schema, AP2 mandate format, A2A JSON-RPC method definitions, and the ERC-8004 agent identity registry interface.
github.com/z333q/p402-protocol ↗Developer SDK
@p402/sdk provides typed wrappers for routing requests, issuing AP2 mandates, verifying x402 payment payloads, and interacting with the A2A task API. TypeScript-first; ships ESM and CJS.
CLI
Manage facilitators, inspect routing decisions, check wallet balances, and tail live traffic from the terminal. Wraps the same REST endpoints exposed by the dashboard — no separate auth flow required; uses your existing API key.
Infrastructure & Platform
Feb 24 – Mar 2, 2026P402 Claude Skill
- Claude skill released covering routing modes, billing guard limits, session lifecycle, x402 payment settlement, A2A protocol, and provider cost comparison
- Skill surfaced in footer, landing CTAs, and mobile navigation
- Trained on Feb 2026 models; includes concrete migration examples from direct OpenAI/Anthropic API calls
Base Mainnet Smart Contracts
P402Settlementdeployed at0xd03c7ab9a84d86dbc171367168317d6ebe408601— marketplace settlement with 1% protocol feeSubscriptionFacilitatordeployed at0xc64747651e977464af5bce98895ca6018a3e26d7— EIP-2612 recurring billing, gasless for subscribers after month 1- Treasury:
0xFa772434DCe6ED78831EbC9eeAcbDF42E2A031a6
Stripe & Billing Hardening
- Webhook handler uses
req.text()before signature verification — required by Next.js 15 to prevent body pre-parsing from breaking HMAC validation - All billing events use
INSERT ... ON CONFLICT— idempotent against transient duplicate webhook delivery - Environment validation enforced at startup; missing required keys abort boot rather than surface at runtime
- E2E billing suite green across Node 18 and 20