PageDelta by BitBooth: pay $0.01 once to render a public page, extract bounded Markdown and exact focus evidence, capture an optional visual snapshot, and compare it with this payer's previous observation. Returns hashes, a tracking cursor, a content-bound observation ID, and settled payment identity. No API key or subscription.
@bitbooth/mcp-fetch@2.3.1 is public on npm and clean-install verified; official MCP Registry publication is pending separate approval and public readback.
A credential-free install exposes only free discovery and preflight. The paid
page_delta tool appears only after explicit XRPL RLUSD mainnet selection,
a dedicated wallet, and caller-set spend caps. Each new observation costs exactly
0.010000 RLUSD; the fresh 402 challenge remains authoritative.
{
"mcpServers": {
"bitbooth-fetch": {
"command": "npx",
"args": ["-y", "@bitbooth/mcp-fetch@^2.3.1"],
"env": {
"BITBOOTH_PAYMENT_RAIL": "xrpl-rlusd",
"BITBOOTH_XRPL_SEED": "sEd<dedicated-low-balance-agent-seed>",
"BITBOOTH_MAX_PER_CALL_USD": "0.010000",
"BITBOOTH_DAILY_LIMIT_USD": "0.10"
}
}
}
}
This is real mainnet spending. Never use a personal or treasury seed. See the published package guide for recovery, acknowledgement, and encrypted journal behavior.
curl -X POST https://app.heinrichstech.com/v1/cdp/render-pro \
-H 'content-type: application/json' \
-d '{"url":"https://example.com/","extract":"article","focus":"Example Domain"}'
# 1. Server returns 402 with a PAYMENT-REQUIRED header containing the x402 challenge.
# 2. Pick a compatible accepts[] option and pay its exact advertised amount.
# Listed primary: 0.01 USDC to 0xDa2F35d283c42dd60B965322394bc658a5c1769F on Base mainnet (eip155:8453).
# 3. Retry the same request with PAYMENT-SIGNATURE. The selected facilitator
# verifies and settles, then the response unlocks.
This call does not sign or spend. It lets your agent inspect the exact live price, recipient, asset, and network choices before choosing a compatible x402 buyer.
const res = await fetch('https://app.heinrichstech.com/v1/cdp/render-pro', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({"url":"https://example.com/","extract":"article","focus":"Example Domain"}),
});
if (res.status !== 402) throw new Error(`Expected 402, received ${res.status}`);
const challenge = await res.json();
console.table(challenge.accepts.map(({ network, asset, amount, payTo }) => ({
network, asset, amount, payTo,
})));
Agents and ecosystem indexers can discover this endpoint without scraping. Hit the JSON feeds below or read the OpenAPI spec directly; the fresh 402 challenge remains canonical for price, asset, recipient, and network availability.