You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The shared setupPaidFetch() registered both Base mainnet and Base Sepolia
with the x402 client, but the default selector picked mainnet first —
where faucet-funded wallets have zero USDC. This broke tier set and other
paid commands for testnet wallets.
Now checks on-chain USDC balances at setup time and registers an x402
policy that filters to funded networks. Fails fast with actionable error
when no network has funds. Same logic applied to MCP server paid-fetch.
Also removes the duplicate setupPaidFetch() from cli/lib/functions.mjs
(was hardcoded to sepolia-only as a workaround) and fixes the integration
test that was masking the failure by catching "Payment required" as OK.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
message: `No USDC balance on any supported network (Base: $${(mainnetBalance/1e6).toFixed(2)}, Base Sepolia: $${(sepoliaBalance/1e6).toFixed(2)}). Fund your wallet or run: run402 allowance fund`,
0 commit comments