x402 Private Web Tools
by @kodos-vibe
Private web tools for AI agents — search, scrape, and screenshot the web with x402 micropayments (USDC on Base). Zero logging, no API keys, no accounts. Pay...
clawhub install x402-private-web-tools📖 About This Skill
name: x402-private-web-tools description: Private web tools for AI agents — search, scrape, and screenshot the web with x402 micropayments (USDC on Base). Zero logging, no API keys, no accounts. Pay per use.
x402 Private Web Tools
Search, scrape, and screenshot the web privately. Uses the x402 payment protocol — your agent pays per request with USDC on Base mainnet. No API keys, no accounts, no logging.
Services:
Gateway: https://search.reversesandbox.com
Prerequisites
First-Time Setup
1. Install dependencies
bash /scripts/setup.sh
Installs the x402 SDK to ~/.x402-client/. Only needed once.
2. Generate a wallet (if you don't have one)
node /scripts/wallet-gen.mjs --out ~/.x402-client/wallet.key
3. Fund the wallet
Send USDC and a small amount of ETH (for gas) on Base mainnet to the wallet address printed by wallet-gen.
4. Store the key
export X402_PRIVATE_KEY=$(cat ~/.x402-client/wallet.key)
Or pass --key-file ~/.x402-client/wallet.key to each request.
Usage
All commands run from ~/.x402-client/:
cd ~/.x402-client && node /scripts/x402-fetch.mjs "" --key-file wallet.key
Web Search ($0.002/query)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/web/search?q=latest+AI+news&count=10" \
--key-file ~/.x402-client/wallet.key
Parameters: q (required), count (1-20, default 10), offset (default 0)
Response:
{
"query": { "original": "latest AI news" },
"web": {
"results": [
{ "title": "...", "url": "...", "description": "..." }
]
}
}
Web Scrape ($0.005/page)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/scrape/extract" \
--method POST \
--body '{"url": "https://example.com", "format": "markdown"}' \
--key-file ~/.x402-client/wallet.key
Body (JSON): url (required), format ("markdown"|"text", default "markdown"), includeLinks (bool), timeout (ms)
Response:
{
"title": "Example Domain",
"content": "# Example Domain\nThis domain is for use in...",
"url": "https://example.com",
"timestamp": "2026-02-16T09:00:00.000Z",
"format": "markdown"
}
Screenshot ($0.002/shot)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/screenshot/?url=https://example.com&width=1280&height=720" \
--key-file ~/.x402-client/wallet.key \
--save screenshot.png
Parameters: url (required), format (png|jpeg, default png), width (320-3840), height (200-2160), fullPage (true|false), quality (1-100, jpeg only)
Returns: Binary PNG or JPEG image. Use --save to write to disk.
MCP Server
For MCP-compatible agents (Claude, etc.), use the MCP server:
# Install
npm install -g x402-tools-mcpRun (set your wallet key)
X402_PRIVATE_KEY=0x... x402-tools-mcp
GitHub: https://github.com/kodos-vibe/x402-tools-mcp
Provides tools: web_search, web_scrape, screenshot
Free Endpoints (no payment required)
GET /health — Service statusGET /routes — List all endpoints with pricesTroubleshooting
~/.x402-client/.timeout parameter.💡 Examples
All commands run from ~/.x402-client/:
cd ~/.x402-client && node /scripts/x402-fetch.mjs "" --key-file wallet.key
Web Search ($0.002/query)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/web/search?q=latest+AI+news&count=10" \
--key-file ~/.x402-client/wallet.key
Parameters: q (required), count (1-20, default 10), offset (default 0)
Response:
{
"query": { "original": "latest AI news" },
"web": {
"results": [
{ "title": "...", "url": "...", "description": "..." }
]
}
}
Web Scrape ($0.005/page)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/scrape/extract" \
--method POST \
--body '{"url": "https://example.com", "format": "markdown"}' \
--key-file ~/.x402-client/wallet.key
Body (JSON): url (required), format ("markdown"|"text", default "markdown"), includeLinks (bool), timeout (ms)
Response:
{
"title": "Example Domain",
"content": "# Example Domain\nThis domain is for use in...",
"url": "https://example.com",
"timestamp": "2026-02-16T09:00:00.000Z",
"format": "markdown"
}
Screenshot ($0.002/shot)
node /scripts/x402-fetch.mjs \
"https://search.reversesandbox.com/screenshot/?url=https://example.com&width=1280&height=720" \
--key-file ~/.x402-client/wallet.key \
--save screenshot.png
Parameters: url (required), format (png|jpeg, default png), width (320-3840), height (200-2160), fullPage (true|false), quality (1-100, jpeg only)
Returns: Binary PNG or JPEG image. Use --save to write to disk.
⚙️ Configuration
📋 Tips & Best Practices
~/.x402-client/.timeout parameter.