81trust / 100

Compliance Wallet Screen

by Wallet Sanctions Screen in Onchain & crypto

x402 APIPassing, checked 58 min ago

Crypto wallet sanctions & compliance screening (AML/KYT): screen any EVM/Solana/Bitcoin/Tron/XRP wallet against the official OFAC SDN crypto list (UN/UK declared) with mixer (Tornado Cash) exposure and wallet age, returning PASS/WARN/BLOCK and a cryptographically SIGNED compliance receipt (list-version-pinned, verifiable offline) for audit. OFAC wallet check, travel-rule / KYT counterparty screening with an auditable attestation an agent can keep.

GET https://x402-endpoints.onrender.com/compliance/wallet-screen

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
102 ms typical, 102 ms slowest 5%
Last check
58 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402-endpoints.onrender.com/compliance/wallet-screen?chains=ethereum%2Cbase&wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
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%2Fx402-endpoints.onrender.com%2Fcompliance%2Fwallet-screen
const res = await pay("https://x402-endpoints.onrender.com/compliance/wallet-screen?chains=ethereum%2Cbase&wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045");
console.log(await res.json());

Example input

{
  "chains": "ethereum,base",
  "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}

Example output

{
  "cached": false,
  "confidence": 0.95,
  "data_freshness": {
    "age_seconds": 0,
    "as_of": "2026-06-29T12:00:00Z",
    "deterministic": true,
    "ofac_evm_size": 612,
    "ofac_list_fingerprint": "a1b2c3d4e5f60718",
    "ofac_other_size": 480,
    "retrieved_at": "2026-06-29T12:00:00Z",
    "sources": [
      "OFAC SDN crypto addresses (official, public)"
    ]
  },
  "disclaimer": "Screening against official OFAC crypto addresses; UN/UK are names-only. A clear result is not legal clearance.",
  "error": null,
  "lists_checked": [
    {
      "coverage": "addresses",
      "list": "OFAC SDN (crypto addresses)",
      "official": true
    },
    {
      "coverage": "names_only",
      "list": "UN Security Council consolidated",
      "official": true
    },
    {
      "coverage": "names_only",
      "list": "UK OFSI/FCDO consolidated",
      "official": true
    }
  ],
  "matched_lists": [],
  "mixer_exposure": {
    "checked": true,
    "exposed": false,
    "hits": [],
    "hosts_checked": [
      "https://eth.blockscout.com",
      "https://base.blockscout.com"
    ]
  },
  "query": {
    "chains": [
      "ethereum",
      "base"
    ],
    "detected_chain": "evm",
    "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "reasons": [
    {
      "code": "NO_DIRECT_MATCH",
      "label": "No match on any screened sanctions list",
      "weight": -0.5
    }
  ],
  "signed_compliance_receipt": {
    "algorithm": "ed25519",
    "available": true,
    "claims": {
      "issued_at": "2026-06-29T12:00:00Z",
      "issuer": "x402-endpoints.onrender.com",
      "kind": "wallet_compliance_screen",
      "matched_lists": [],
      "ofac_list_fingerprint": "a1b2c3d4e5f60718",
      "verdict": "PASS",
      "wallet": "0xd8dA6BF...6045"
    },
    "public_key": "5b77f2e95c3eee40403453e942834b703383e15fca50d11fdd28633ca5dd9f9d",
    "signature": "<hex>"
  },
  "timestamp": "2026-06-29T12:00:00Z",
  "verdict": "PASS",
  "wallet_age": {
    "first_seen_observed": null,
    "is_lower_bound": true,
    "min_age_days": null
  }
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
58 min agoPassed402183 ms$0.005
6 h agoPassed402102 ms$0.005