Skip to content

Migrate CDP bazaar to protocol v2#271

Merged
Huygon764 merged 2 commits into
mainfrom
develop
May 18, 2026
Merged

Migrate CDP bazaar to protocol v2#271
Huygon764 merged 2 commits into
mainfrom
develop

Conversation

@Huygon764
Copy link
Copy Markdown
Contributor

No description provided.

gianalarcon and others added 2 commits May 18, 2026 16:28
* docs: add llms.txt intro page for AI agents (#256)

Add a GitBook-friendly page introducing PolyPay's llms.txt support so
non-technical readers can discover the feature and link AI agents to
the live playbook.

- New page docs/llms-txt-for-agents.md covering what llms.txt is, the
  live endpoint, the five integration flows it documents, two ways to
  wire an agent up, and compatibility notes.
- Add the page to docs/SUMMARY.md between x402 and Architecture.
- Fix stale api.polypay.xyz references in docs/x402-deposits.md to the
  real api.polypay.pro host.

* feat(x402): add Coinbase CDP bazaar deposit route for agentic.market listing (#260)

Adds a second x402 deposit endpoint /x402/bazaar/deposit/:multisig that
routes through Coinbase CDP facilitator instead of PayAI, so the resource
gets indexed in CDP discovery and surfaces on agentic.market.

The default /x402/deposit/:multisig path keeps using PayAI (better rate
limits, simpler auth) — no UI change. CDP path activates implicitly when
CDP_API_KEY_ID is set; otherwise it returns a clear config error.

CDP requires Ed25519 JWT signed per-request (2-min TTL), so the service
now lazy-imports @coinbase/x402 createAuthHeader to produce the
Authorization header. Payment requirements for the CDP path also embed a
declareDiscoveryExtension-shaped extensions.bazaar block (strict JSON
Schema), without which CDP would settle but not index.

Includes scripts/bazaar-bootstrap.ts to produce the first real settlement
that triggers CDP indexing — bootstrap must run against a deployed
backend (the resource URL ends up in the catalog).

Refs #259

---------

Co-authored-by: BoHsuu <[email protected]>
CDP indexer stopped picking up v1 (outputSchema) entries — verified by 3
successful v1 settlements on Base mainnet + Base Sepolia that never
appeared in /discovery/merchant after 15+ minutes. All entries CDP
indexed today are x402Version: 2 with extensions.bazaar at the top
level of PaymentRequired. The v1 ranking in CDP appears deprecated in
practice.

Types and wire format taken directly from
@x402/core/src/types/payments.ts so the shape matches what CDP's
facilitator expects:
  - paymentRequirements.amount         (was maxAmountRequired in v1)
  - paymentRequirements.network        CAIP-2 "eip155:8453"
  - paymentPayload.accepted            (chosen requirement, v2-only)
  - PaymentRequired.resource           ResourceInfo object {url, ...}
  - PaymentRequired.extensions.bazaar  top-level, not on accepts[]

PayAI path is untouched and stays on v1, which is what
facilitator.payai.network currently indexes (PolyPay listing is live
there). The same EIP-3009 signature works across versions, so the
bootstrap script and the UI keep sending v1 X-PAYMENT; only the CDP
forwarding step translates to v2.

Refs #259
@Huygon764 Huygon764 merged commit 2d31f1a into main May 18, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants