Releases: cascade-protocol/x402-proxy
Releases · cascade-protocol/x402-proxy
v0.9.4
v0.9.3
Fixed
- Solana RPC 429 rate-limit failures on concurrent payments - replaced upstream
ExactSvmScheme(creates new RPC client per call) withOptimizedSvmSchemethat shares a single RPC client with@solana/kitrequest coalescing (identical calls in the same microtask merge into one network request) - Hardcoded USDC mint metadata (Token Program address, 6 decimals) to skip
fetchMintRPC call entirely for USDC payments - Added RPC failover transport: on 429 from one endpoint, immediately tries the next instead of failing. Two public mainnet RPCs:
api.mainnet.solana.com(Solana Labs, 100 req/10s) andpublic.rpc.solanavibestation.com(community, 5 RPS) - Custom RPC URL (via config or OpenClaw plugin) is tried first, with public RPCs as fallback
Changed
- Added
@solana-program/compute-budget,@solana-program/token,@solana-program/token-2022,@x402/coreas direct dependencies (previously transitive via@x402/svm)
v0.9.2
Changed
- Upgraded all dependencies to latest:
@x402/*2.6.0 -> 2.8.0,@solana/kit6.3.0 -> 6.5.0,viem2.47.6,@modelcontextprotocol/sdk1.28.0,vitest4.1.1,tsdown0.21.5,@biomejs/biome2.4.9,turbo2.8.20,openclaw2026.3.24 pnpm checknow runs tests alongside build, type-check, and biome- Biome config scoped to supported file types only (
*.ts,*.json,*.jsonc)
v0.9.1
Added
setup --non-interactiveflag - auto-generates wallet and outputs addresses as JSON to stdout ({"base":"0x...","tempo":"0x...","solana":"..."})setup --import-mnemonicflag - import existing BIP-39 mnemonic non-interactively- MCP proxy auto-generates wallet on first run when no wallet exists (no more "No wallet configured" error)
- OpenClaw integration example in README and SKILL.md:
openclaw mcp set surf '{"command":"npx","args":["-y","x402-proxy","mcp","https://surf.cascade.fyi/mcp"]}'
Fixed
npx -yflag added to all generated MCP configs (mcp addcommand and docs) - prevents npx install prompt from corrupting MCP stdio protocol- MCP config examples no longer show
X402_PROXY_WALLET_MNEMONICenv var as default - wallet file is the primary path, env vars are documented as fallback only - All example MCP URLs updated to
https://surf.cascade.fyi/mcp - Non-interactive JSON output uses network names (
base,tempo,solana) instead of genericevm
v0.9.0
Added
mcp addcommand - onboarding wizard to install MCP servers into Claude Code, Cursor, VS Code, and 16+ other AI clients via@getmcp/generators- Auto-detects installed AI clients and highlights them in the selection list
- Shows config diff preview with green markers before writing
- Prompts to overwrite if server name already exists (shows current config)
- Wallet setup runs automatically if not yet configured
- Balance check and funding hints shown after successful install
-c/--config-dirglobal flag to override config directory for all commands- Custom config directory injected as
XDG_CONFIG_HOMEenv var into generated MCP server configs - Tempo address shown alongside Base address in setup wizard
Fixed
- Solana USDC balance shows
0instead of?for fresh wallets (non-existent ATA means zero balance, not unknown) - MPP payment protocol description corrected from "streaming micropayments" to "machine payments over HTTP 402"
v0.8.6
Fixed
- Example URLs in help output and setup wizard:
/user/corrected to/users/(was returning 404)
v0.8.5
Fixed
- OpenClaw plugin: models now appear in
openclaw modelslist - replaced invalidmodelsfield onregisterProvider()with acataloghook returningProviderCatalogResult, which is required by OpenClaw's provider discovery filter
v0.8.4
Fixed
- Servers returning Solana payment options with EVM-format
payToaddresses (e.g.0x...) no longer crash with a base58 decode error - malformed options are filtered out and valid options are used instead - When all payment options from a server have mismatched address formats, a clear error is shown instead of a cryptic codec failure
v0.8.3
Added
- JSON response pretty-printing: non-streaming
application/jsonresponses auto-formatted with 2-space indent on TTY --jsonflag now works: forces JSON pretty-printing even when piped (non-TTY)- Color-coded HTTP status lines: green for 2xx, yellow for 3xx, red for 4xx/5xx
Fixed
- MPP streaming payment label unified from
MPP session:toPayment: ... MPPto match non-streaming format - MPP streaming status line now starts on a new line instead of appending to last JSON chunk
v0.8.2
Fixed
- JSON request bodies sent without explicit
Content-Typeheader now auto-detect asapplication/jsoninstead of defaulting totext/plain- fixes servers rejecting JSON bodies on payment retry