BitBooth

Pay-per-call endpoint: render-pro

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.

Method & path
POST /v1/cdp/render-pro
Price per call
0.01 USDC
Primary network
Base mainnet (eip155:8453)
Primary asset
USDC
Category
data
Primary facilitator
Coinbase CDP

Use PageDelta from MCP

@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.

Try it from a curl client

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.

Inspect the live challenge from Node

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,
})));

Discovery for agents and indexers

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.