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
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 4 h ago | Amount "0.02" is not in atomic token units | 402 | 242 ms | $0.02 |
| 8 h ago | Amount "0.02" is not in atomic token units | 402 | 288 ms | $0.02 |
| 12 h ago | Amount "0.02" is not in atomic token units | 402 | 265 ms | $0.02 |
| 17 h ago | Amount "0.02" is not in atomic token units | 402 | 254 ms | $0.02 |
| 21 h ago | Amount "0.02" is not in atomic token units | 402 | 239 ms | $0.02 |
| 25 h ago | Amount "0.02" is not in atomic token units | 402 | 501 ms | $0.02 |
| 29 h ago | Amount "0.02" is not in atomic token units | 402 | 234 ms | $0.02 |
| 33 h ago | Amount "0.02" is not in atomic token units | 402 | 233 ms | $0.02 |
| 37 h ago | Amount "0.02" is not in atomic token units | 402 | 345 ms | $0.02 |
| 41 h ago | Amount "0.02" is not in atomic token units | 402 | 402 ms | $0.02 |
| 45 h ago | Amount "0.02" is not in atomic token units | 402 | 265 ms | $0.02 |
| 2 days ago | Amount "0.02" is not in atomic token units | 402 | 232 ms | $0.02 |
| 2 days ago | Amount "0.02" is not in atomic token units | 402 | 463 ms | $0.02 |
| 2 days ago | Amount "0.02" is not in atomic token units | 402 | 194 ms | $0.02 |
| 3 days ago | Amount "0.02" is not in atomic token units | 402 | 232 ms | $0.02 |