80trust / 100

Trust Clearance

by json-repair-api-9ybv.onrender.com in Onchain & crypto

x402 APIPassing, checked 8 h ago

Decide whether an autonomous agent both can and should execute an exact x402 payment. Verifies predelegated spending authority, challenge/request integrity, and public merchant transaction-risk signals, then returns an evidence-based APPROVED, REVIEW or DENIED clearance plus a signed clearance token. APPROVED means the agent may proceed autonomously; REVIEW means do not auto-pay until higher-level review; DENIED means do not pay.

POST
https://json-repair-api-9ybv.onrender.com/trust/x402/clearance
Price
$0.001
per call in USDC
Uptime
100%
last 30 days
Response time
216 ms
496 ms slowest 5%
Last check
Passed
8 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to call it

POST https://json-repair-api-9ybv.onrender.com/trust/x402/clearance

Each call costs $0.001 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

POST https://json-repair-api-9ybv.onrender.com/trust/x402/clearance
content-type: application/json

{
  "category": "ai-infrastructure",
  "merchant_id": "merchant.example",
  "payer": "0x2222222222222222222222222222222222222222",
  "payment_required": {
    "accepts": [
      {
        "amount": "10000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0x1111111111111111111111111111111111111111",
        "scheme": "exact"
      }
    ],
    "resource": {
      "description": "Merchant paid resource",
      "mimeType": "application/json",
      "url": "https://merchant.example/api/resource"
    },
    "x402Version": 2
  },
  "policy_token": "signed-agent-policy-token",
  "request": {
    "body": {
      "task": "example"
    },
    "method": "POST",
    "url": "https://merchant.example/api/resource"
  }
}

Parameters

ParameterTypeRequiredDescription
ap2_evidenceobjectNoOptional AP2 v0.2 mandate evidence and challenge token for native verification.
categorystringYesPurchase category used by the operator policy.
merchant_idstringYesStable merchant identifier used by the operator policy.
noncestringNo
payerstringYesEVM address that would sign/pay the merchant transaction.
payment_requiredobject or stringYesThe merchant's real x402 PAYMENT-REQUIRED payload, as decoded JSON or its encoded string.
policy_tokenstringYesOperator-issued signed policy credential for the buying agent.
requestobjectYesExact HTTP request the agent intends to make after authorization.

Example response

The provider's example. We can't check it without paying.

{
  "approved": true,
  "authority_approved": true,
  "authorization_token": "signed-short-lived-authorization",
  "clearance_decision": "APPROVED",
  "clearance_token": "signed-transaction-clearance",
  "merchant_risk": {
    "decision": "APPROVED",
    "reasons": [
      "no_material_public_risk_signal_observed"
    ],
    "risk_level": "LOW",
    "score": 0
  },
  "next_action": "PROCEED"
}

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.001.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://json-repair-api-9ybv.onrender.com/trust/x402/clearance' \
  -H 'content-type: application/json' \
  --data-raw '{"category":"ai-infrastructure","merchant_id":"merchant.example","payer":"0x2222222222222222222222222222222222222222","payment_required":{"accepts":[{"amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":300,"network":"eip155:8453","payTo":"0x1111111111111111111111111111111111111111","scheme":"exact"}],"resource":{"description":"Merchant paid resource","mimeType":"application/json","url":"https://merchant.example/api/resource"},"x402Version":2},"policy_token":"signed-agent-policy-token","request":{"body":{"task":"example"},"method":"POST","url":"https://merchant.example/api/resource"}}'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://json-repair-api-9ybv.onrender.com/trust/x402/clearance' \
  -H 'content-type: application/json' \
  --data-raw '{"category":"ai-infrastructure","merchant_id":"merchant.example","payer":"0x2222222222222222222222222222222222222222","payment_required":{"accepts":[{"amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":300,"network":"eip155:8453","payTo":"0x1111111111111111111111111111111111111111","scheme":"exact"}],"resource":{"description":"Merchant paid resource","mimeType":"application/json","url":"https://merchant.example/api/resource"},"x402Version":2},"policy_token":"signed-agent-policy-token","request":{"body":{"task":"example"},"method":"POST","url":"https://merchant.example/api/resource"}}' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.001 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.001" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.001 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fjson-repair-api-9ybv.onrender.com%2Ftrust%2Fx402%2Fclearance&method=POST
const res = await pay("https://json-repair-api-9ybv.onrender.com/trust/x402/clearance", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "category": "ai-infrastructure",
    "merchant_id": "merchant.example",
    "payer": "0x2222222222222222222222222222222222222222",
    "payment_required": {
      "accepts": [
        {
          "amount": "10000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "maxTimeoutSeconds": 300,
          "network": "eip155:8453",
          "payTo": "0x1111111111111111111111111111111111111111",
          "scheme": "exact"
        }
      ],
      "resource": {
        "description": "Merchant paid resource",
        "mimeType": "application/json",
        "url": "https://merchant.example/api/resource"
      },
      "x402Version": 2
    },
    "policy_token": "signed-agent-policy-token",
    "request": {
      "body": {
        "task": "example"
      },
      "method": "POST",
      "url": "https://merchant.example/api/resource"
    }
  }),
});
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.001 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.001"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.post(
        "https://json-repair-api-9ybv.onrender.com/trust/x402/clearance",
        json={
            "category": "ai-infrastructure",
            "merchant_id": "merchant.example",
            "payer": "0x2222222222222222222222222222222222222222",
            "payment_required": {
                "accepts": [
                    {
                        "amount": "10000",
                        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                        "maxTimeoutSeconds": 300,
                        "network": "eip155:8453",
                        "payTo": "0x1111111111111111111111111111111111111111",
                        "scheme": "exact",
                    },
                ],
                "resource": {
                    "description": "Merchant paid resource",
                    "mimeType": "application/json",
                    "url": "https://merchant.example/api/resource",
                },
                "x402Version": 2,
            },
            "policy_token": "signed-agent-policy-token",
            "request": {
                "body": {
                    "task": "example",
                },
                "method": "POST",
                "url": "https://merchant.example/api/resource",
            },
        },
    )
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
8 h agoPassed402291 ms$0.001
17 h agoPassed402218 ms$0.001
26 h agoPassed402280 ms$0.001
35 h agoPassed402178 ms$0.001
44 h agoPassed402200 ms$0.001
Show 10 older checks
2 days agoPassed402195 ms$0.001
3 days agoPassed402269 ms$0.001
3 days agoPassed402253 ms$0.001
3 days agoPassed402193 ms$0.001
3 days agoPassed402193 ms$0.001
4 days agoPassed402216 ms$0.001
4 days agoPassed402226 ms$0.001
4 days agoPassed402185 ms$0.001
4 days agoPassed402167 ms$0.001
5 days agoPassed402190 ms$0.001