github analyzed 481719e

cascade-protocol/x402-proxy

github

curl for x402 and MPP paid APIs. CLI + MCP proxy that auto-pays any endpoint on Base, Solana, and Tempo. Zero crypto code on the buyer side.

maintainer
cascade-protocol
license
Apache-2.0
first seen
2026-06-11
last seen
2026-06-11
releases · 30d
1
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 481719e · analyzer v20 · 8h ago

skills & prompt files 2

code evidence vv0.12.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 8

  • fs cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/mcp-add.ts :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/history.ts :8 } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/lib/config.ts :1 import fs from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/lib/debug-log.ts :1 import { appendFileSync, existsSync, renameSync, rmSync, statSync } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/wallet.ts :1 import { readFileSync } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/scripts/stage-x402-packages.mjs :1 import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/scripts/verify-staged-x402-packages.mjs :1 import { existsSync, readFileSync, readdirSync } from "node:fs";
  • fs cascade-protocol-x402-proxy-481719e/tsdown.config.ts :1 import { readFileSync } from "node:fs";

shell / exec 2

  • shell cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/claude.ts :1 import { spawn } from "node:child_process";
  • shell cascade-protocol-x402-proxy-481719e/scripts/verify-staged-x402-packages.mjs :11 message: "Shell command execution detected (child_process)",

network 8

  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/fetch.ts :363 response = await mppHandler.fetch(parsedUrl.toString(), init);
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/serve.ts :2 import http, { type IncomingMessage, type ServerResponse } from "node:http";
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/wallet.ts :28 const res = await fetch(url, {
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/handler.ts :262 // Each fetch() handles its own 402 challenge/response cycle independently.
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/openclaw/commands.ts :36 const res = await globalThis.fetch(
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/openclaw/defaults.ts :217 const res = await globalThis.fetch(`${upstreamUrl}/models`, {
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/openclaw/route.ts :2 import type { IncomingMessage, ServerResponse } from "node:http";
  • net cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/openclaw/tools.ts :345 const response = await mpp.fetch(url, reqInit);

declared dependencies 5

  • @biomejs/biome@^2.4.9
  • tsdown@^0.21.5
  • turbo@^2.8.20
  • typescript@^6.0.2
  • vitest@^4.1.1

obfuscation 2

  • dynamic require()/import() cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/mcp-add.ts :100 const { generators, getAppIds, generateConfig, deepMerge } = await import(
  • dynamic require()/import() cascade-protocol-x402-proxy-481719e/packages/x402-proxy/src/commands/mcp.ts :244 const { StreamableHTTPClientTransport } = await import(