Pay once. Use 33 tools.

Choose a PayPal credit pack. After a verified payment, the return page reveals your private API key. Save it securely. Keep it on your server, outside logs and public browser code.

Node.js quickstart

Download the dependency-free client for Node.js 20.3 or later. Buy credits first, then read your key from a private environment variable:

curl -fsS https://bounty-engineer-x402-prod.onrender.com/buyer-client.mjs -o buyer-client.mjs

Save the following as app.mjs. Set BOUNTY_API_KEY privately, then run node app.mjs:

import { BountyClient } from "./buyer-client.mjs";
const client = new BountyClient({ apiKey: process.env.BOUNTY_API_KEY });
const quote = await client.quote("web-extract");
const reply = await client.call("web-extract",
  { url: "https://example.com" },
  { idempotencyKey: "extract-job-0001", maxCredits: 1 }
);
console.log(reply.result);
const balance = await client.balance();

Save the job key with your task before calling. Reuse it with the same input when retrying. The client quotes the current catalog, sends your credit cap for server enforcement, and retries pending or ambiguous transport failures at most twice with the identical key and body. Refunded failures and input conflicts stop; they never create a new paid request automatically.

Call a tool with HTTP

POST /v1/prepaid/web-extract
Authorization: Bearer YOUR_API_KEY
Idempotency-Key: extract-job-0001
X-Max-Credits: 1
Content-Type: application/json

{"url":"https://example.com"}

Send the same input JSON as the corresponding x402 tool. Keep the key and body identical when retrying within 24 hours. X-Max-Credits is optional for raw HTTP calls; if the current tool cost exceeds it, HTTP 412 rejects the call before reserving credits. A successful retry returns the saved result without a second deduction. Pending requests return 409 and Retry-After; a different input with the same key returns 409.

Credit costs

ToolCredits per success
tender-search10
tender-match25
margin-unlock2
margin-portfolio-unlock10
json-contract-check1
json-change-set1
evidence-pack2
context-pack1
data-quality-gate2
provider-route-plan1
result-consensus-gate2
retry-policy-plan1
batch-budget-plan1
structured-record-merge2
tool-output-quality-gate1
agent-commerce-plan3
audit1
web-extract1
funding-rates1
hash1
jwt-decode1
base641
json-canonicalize1
tool-call-dry-run1
tool-response-shield1
schema-drift-guard3
x402-payment-preflight5
bounty-intel1
bounty-due-diligence75
bounty-deal-desk150
agent-opportunity-underwriter490
autonomous-execution-blueprint990
agent-revenue-command-center1990

Balance and recovery

GET /v1/prepaid/balance with your Bearer key returns your current balance. Execution errors refund reserved credits. Interrupted reservations recover automatically after two minutes. A billing transport error requires a retry with the same key and body. This credit usage is consumption of an existing purchase; it is not an additional payment.

Stateful control tools and the settlement canary continue to use x402. The original /v1/audit-key remains available.

OpenAPI · Machine-readable catalog