80trust / 100

Execute Merchant Trust Check V1

by Macaroon Network in Company & people data

x402 APIPassing, checked 2 h ago

Composite trust check for a merchant domain before an agent recommends or transacts with it: live DNS/SSL/RDAP domain signals, same-origin shipping/returns/contact policy-page presence, UK Companies House registration match (GB-only), and US FDA + UK OPSS product recall/safety alert flags. Built entirely from already-cleared internal capabilities and direct, robots.txt-respecting fetches of the merchant's own public pages -- no new third-party licensed dataset. Not a fraud or compliance determin

POST https://api.macaroonnetwork.com/execute/merchant-trust-check-v1

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
259 ms typical, 323 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://api.macaroonnetwork.com/execute/merchant-trust-check-v1" \
  -H "content-type: application/json" \
  -d '{"input":{"company_name":"Example Store Ltd","country":"GB","domain":"example-store.com"},"predicate":{"conditions":[{"field":"$.dns_ok","operator":"eq","type":"field_changed","value":true},{"field":"$.source_urls","type":"count_gte","value":1}],"type":"all"}}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.macaroonnetwork.com%2Fexecute%2Fmerchant-trust-check-v1
const res = await pay("https://api.macaroonnetwork.com/execute/merchant-trust-check-v1", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"input":{"company_name":"Example Store Ltd","country":"GB","domain":"example-store.com"},"predicate":{"conditions":[{"field":"$.dns_ok","operator":"eq","type":"field_changed","value":true},{"field":"$.source_urls","type":"count_gte","value":1}],"type":"all"}}),
});
console.log(await res.json());

Example input

{
  "input": {
    "company_name": "Example Store Ltd",
    "country": "GB",
    "domain": "example-store.com"
  },
  "predicate": {
    "conditions": [
      {
        "field": "$.dns_ok",
        "operator": "eq",
        "type": "field_changed",
        "value": true
      },
      {
        "field": "$.source_urls",
        "type": "count_gte",
        "value": 1
      }
    ],
    "type": "all"
  }
}

Example output

{
  "payload": {
    "dns_ok": false,
    "domain": "",
    "rdap_found": false,
    "risk": "",
    "ssl_ok": false,
    "trust_score": 0
  },
  "predicate_passed": true,
  "settled": true
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402259 ms$0.005
6 h agoPassed402286 ms$0.005
9 h agoPassed402193 ms$0.005
13 h agoPassed402234 ms$0.005
17 h agoPassed402206 ms$0.005
21 h agoPassed402323 ms$0.005
24 h agoPassed402216 ms$0.005
28 h agoPassed402300 ms$0.005
31 h agoPassed402179 ms$0.005
35 h agoPassed402272 ms$0.005
40 h agoPassed402701 ms$0.005