15trust / 100

Safety Merchant

by ShopperPulse in Security & trust

x402 APIFailing, checked 4 h ago

Know Your Merchant (KYM) trust score: pass a merchant domain and get a deterministic 0-100 trust score with a band (high/medium/low/very_low/avoid) and human-readable reasons. Live signals: domain age from the RDAP registry of record, malware/phishing blocklist verdict via Cloudflare Security DNS, TLS certificate health, mail capability, and refund/privacy/contact page presence. The merchant-side check an agent runs BEFORE committing funds — the complement to know-your-agent.

GET https://shopperpulse.theaslangroupllc.com/api/safety/merchant

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
0.0%
Response time
- typical, - slowest 5%
Last check
4 h ago: Amount "0.02" is not in atomic token units
Next check
any minute now

How to call it

# bash or zsh: see the payment challenge (nothing is charged)
curl -g -i -X GET 'https://shopperpulse.theaslangroupllc.com/api/safety/merchant?domain=sweetwater.com'
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%2Fshopperpulse.theaslangroupllc.com%2Fapi%2Fsafety%2Fmerchant
const res = await pay("https://shopperpulse.theaslangroupllc.com/api/safety/merchant?domain=sweetwater.com");
console.log(await res.json());

Example input

{
  "domain": "sweetwater.com"
}

Example output

{
  "attribution": "RDAP + Cloudflare (Security) DNS + direct TLS/site observation; deterministic rubric.",
  "band": "high",
  "checked_at": "2026-07-25T00:00:00.000Z",
  "confidence": 1,
  "domain": "sweetwater.com",
  "reasons": [
    "domain registered 1994-12-06 (31+ years old)"
  ],
  "score": 92,
  "signals": {
    "dns": {
      "available": true,
      "data": {
        "blocklisted": false,
        "mx": true,
        "resolves": true
      }
    },
    "domain_age": {
      "available": true,
      "data": {
        "age_days": 11554,
        "registered": "1994-12-06"
      }
    },
    "site": {
      "available": true,
      "data": {
        "contact": true,
        "privacy_policy": true,
        "reachable": true,
        "refund_policy": true,
        "status": 200
      }
    },
    "tls": {
      "available": true,
      "data": {
        "days_remaining": 180,
        "issuer": "DigiCert Inc",
        "valid": true
      }
    }
  }
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
4 h agoAmount "0.02" is not in atomic token units402242 ms$0.02
8 h agoAmount "0.02" is not in atomic token units402288 ms$0.02
12 h agoAmount "0.02" is not in atomic token units402265 ms$0.02
17 h agoAmount "0.02" is not in atomic token units402254 ms$0.02
21 h agoAmount "0.02" is not in atomic token units402239 ms$0.02
25 h agoAmount "0.02" is not in atomic token units402501 ms$0.02
29 h agoAmount "0.02" is not in atomic token units402234 ms$0.02
33 h agoAmount "0.02" is not in atomic token units402233 ms$0.02
37 h agoAmount "0.02" is not in atomic token units402345 ms$0.02
41 h agoAmount "0.02" is not in atomic token units402402 ms$0.02
45 h agoAmount "0.02" is not in atomic token units402265 ms$0.02
2 days agoAmount "0.02" is not in atomic token units402232 ms$0.02
2 days agoAmount "0.02" is not in atomic token units402463 ms$0.02
2 days agoAmount "0.02" is not in atomic token units402194 ms$0.02
3 days agoAmount "0.02" is not in atomic token units402232 ms$0.02