Kill false payment-chain claims: USDC settles on Base + Polygon only - #113
Conversation
x402 payments settle USDC on Base and Polygon only (verified against live 402s 2026-07-31). Every "9 chains" / "9 networks" / "15+ blockchains" / "Base, Ethereum, Solana..." payment claim across the live surfaces was false. Copy/metadata only — no payment logic touched. - api/public HTML (homepage, previews, blogs, guides, migrate/compare/faq/ changelog pages): all payment-chain copy now says USDC on Base or Polygon - llms.txt + llms-full.txt and the inline LLMS_TXT template (discovery.ts) - /stats supportedChains, /trial supported_networks, /.well-known agent.json x402 networks, ai-plugin.json — advertised lists cut to Base + Polygon - reactivationEmail.ts (217 recipients): "USDC (Base, Ethereum, Solana + more)" -> "USDC (Base or Polygon)" in text + html - x402-directory.json arch-tools entry: chains_supported -> base+polygon, tokens_supported -> USDC - mcp server-card, sdk/python README Verified: tsc --noEmit (no errors in edited files), reactivation-render tests pass against fresh build, check-price-drift.mjs OK, repo-wide grep shows zero remaining chain-count claims. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issue.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 0091635. Configure here.
| res.json({ | ||
| name: "Arch Tools", | ||
| description: "The first API platform built for autonomous agent payments. 63 production tools, USDC on 9 chains via x402 or Stripe.", | ||
| description: "The first API platform built for autonomous agent payments. 63 production tools, USDC on Base or Polygon via x402 or Stripe.", |
There was a problem hiding this comment.
Discovery description contradicts supportedRails
High Severity
The /.well-known/x402 JSON description now states USDC on Base or Polygon only, while supportedRails is still built from the env-gated multi-chain accepts list (Ethereum, Solana, USDT, native tokens, etc.). Same response body advertises two incompatible settlement stories.
Reviewed by Cursor Bugbot for commit 0091635. Configure here.
* fix(copy): last false chain claim on homepage x402 explainer — Base or Polygon Follow-up to #113; the merge conductor's live grep found this one surviving line (index.html:2577). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(copy): same chain claim in preview-landing.html Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>


What
x402 payments settle USDC on Base and Polygon only (verified against live 402s, 2026-07-31). The live surfaces claimed "9 chains", "9 networks", "15+ blockchains", and "USDC (Base, Ethereum, Solana + more)" — all false. This PR replaces every false payment-chain claim with honest copy. Copy/metadata only — zero payment-logic changes.
Changes (42 files, +112/-176)
Public HTML — homepage (badge wall, stat cards, JSON-LD FAQ, chain paragraph), preview-a/b/c/d/e + preview-landing, x402.html, x402-guide (incl. "Supported Chains" grid), faq, compare, developers, agents-landing, ai-agent/ai-media/web-data/utility/mcp-server/crypto-tools cards, for-providers, migrate-from-skyfire, migrate-from-rapidapi, changelog + changelog-tonight, blog.html, blog-x402, blog-x402-directory, blog-skyfire-migration.
Machine-readable surfaces
llms.txt+llms-full.txtand the inlineLLMS_TXTtemplate indiscovery.ts(x2 spots)/stats→supportedChains = ["Base", "Polygon"](drives stats.html live)/trial→supported_networks: ["Base", "Polygon"].well-known/agent.json(description +x402.networks),.well-known/ai-plugin.jsonx402-directory.jsonarch-tools entry:chains_supported→ base+polygon,tokens_supported→ USDCmcp/src/server-card.json("crypto data (15+ chains)" kept — that's data coverage, true),sdk/python/README.mdReactivation email (
reactivationEmail.ts, goes to 217 people): "USDC (Base, Ethereum, Solana + more)" → "USDC (Base or Polygon)" in both text and html renders.Deliberately NOT changed
discovery.tsenv-gatedaccepts[]builder,x402.ts/x402-sdk.tsmiddleware,facilitator.tsgetSupportedNetworks(), x402V2 lib — payment logic per task scope.facilitator.html+ the facilitator row inpricing.html: that's the separate facilitator product, whose own/supportedendpoint (logic) returns 7 networks and whose page carries an explicit beta caveat ("Settlement is available on Base mainnet. Other networks are in verification-only mode"). Flagging for a follow-up ruling rather than silently rewriting a product spec.docs-x402-guide.htmlcode samples ("Accept USDC on Base, Ethereum, Arbitrum") — provider-side protocol tutorial, not a claim about our rails.Verification
tsc --noEmit: no errors in any edited file (pre-existing stale-Prisma-client errors in untouched files only; CI'sprisma generate && tscregenerates)node tests/reactivation-render.test.mjsagainst a fresh build: all pass; rendered output proven to contain "USDC (Base or Polygon)" and zero Ethereum/Solana mentionsnode scripts/check-price-drift.mjs: OK (no pricing amounts touched)9 chains|9 networks|9 blockchain|15+ blockchains|across 9outside tracked dist (regenerates on deploy)git checkout -- api/dist api/node_modulesbefore commit; staged exactly 42 source/public filesDo not merge — conductor merges after CI.
🤖 Generated with Claude Code
Note
Medium Risk
Wide marketing/API-metadata changes can mislead integrators if copy diverges from live 402 behavior, but risk is limited because payment logic is unchanged; residual inconsistency (e.g. some stat blocks still showing other chain counts) may remain outside the edited strings.
Overview
Aligns public and machine-readable messaging with actual x402 settlement: USDC on Base and Polygon only, replacing overstated claims about “9 chains/networks,” many EVM/Solana rails, and multi-token support (USDT, ETH, SOL, etc.).
Discovery & APIs:
agent.json/ai-plugin.json,x402-directory.json,discovery.ts(LLMS_TXT+ platform description),stats.ts(supportedChains), andtrial.ts(supported_networks) now list base + polygon and USDC only.Site & docs: Homepage, category pages, x402 guides, FAQ, compare, migration blogs, changelogs, preview landings, embedded
landing.html/landingHtml.ts, MCP server card, Python SDK README, and transactional emails (email.ts,reactivationEmail.ts) use consistent Base or Polygon / 2 networks wording and trimmed chain badge UI where applicable.No payment middleware changes — facilitator logic, 402
accepts[]builders, and settlement code are untouched per scope.Reviewed by Cursor Bugbot for commit 0091635. Configure here.