1. Discover without payment
Browse the service directory, fetch the JSON index, or inspect OpenAPI. Discovery never creates a payment.
curl https://signalharness.ai/agent/services.jsonStart with the free 330-service index, choose one implemented capability, then let an x402 V2 buyer client handle the HTTP 402 challenge and identical paid retry.
Browse the service directory, fetch the JSON index, or inspect OpenAPI. Discovery never creates a payment.
curl https://signalharness.ai/agent/services.jsonThe response is HTTP 402 with a PAYMENT-REQUIRED header. The provider job does not run.
curl -i -X POST https://signalharness.ai/api/agent/services/json_schema_validate/invoke \
-H "Content-Type: application/json" \
--data '{"value":{"example":true},"schema":{"type":"object"}}'Install @coinbase/cdp-sdk and @x402/fetch. The wallet must be explicitly authorized, hold enough Base USDC, and enforce your spending policy. Never place wallet credentials in browser code.
import { CdpX402Client } from "@coinbase/cdp-sdk/x402";
import { wrapFetchWithPayment } from "@x402/fetch";
// Configure CDP credentials and an authorized, funded Base wallet in server-side environment variables.
const client = new CdpX402Client();
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment("https://signalharness.ai/api/agent/services/json_schema_validate/invoke", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"value": {
"example": true
},
"schema": {
"type": "object"
}
})
});
if (!response.ok) throw new Error(`SignalHarness request failed: ${response.status}`);
console.log(await response.json());Before signing, verify method, URL, amount, Base network, USDC asset, recipient, and expiry from the live challenge. SignalHarness prices range from 5000 to 50000 atomic USDC (0.005-0.05 USDC) per call.
Treat the call as complete only after HTTP success, payment verification, settlement/finality, a receipt, and a valid service response. On ambiguity, use the safe retry rules in the x402 guide; never create a fresh payment merely because a response was lost.