Agent Risk Desk
Address data and risk checks an agent can buy one call at a time, before it pays, approves or trusts someone. No account, no API key: pay each call in USDC with x402.
exact, USDC on Base (eip155:8453)0xbC005B343D98c458F457d21d99969cd267370B26https://x402-services.soldano.workers.dev/mcp (Streamable HTTP)What you can buy
| Endpoint | Price | What it returns |
|---|---|---|
POST /v1/enrich/addressMCP: enrich_evm_address | $0.01 | Profile of an EVM address on Base, Ethereum, OP Mainnet or Arbitrum in one call: EOA, contract or EIP-7702 account, age, transactions sent, native and major token balances (USDC, USDT, EURC, DAI, WETH, BTC), Sourcify-verified source and name, proxy and implementation, token metadata, labels (OFAC SDN, Chainalysis oracle, known issuers) and a risk verdict with reasons. Useful to know who an address is before paying, listing or trusting it. |
POST /v1/risk/evmMCP: counterparty_risk_evm | $0.02 | Counterparty-risk verdict (allow, warn or block, with reasons) for an EVM address on Base, Ethereum, OP Mainnet, Arbitrum or Base Sepolia, for use before paying, approving or trusting it. Checks the OFAC SDN list and the Chainalysis sanctions oracle, account age, EOA or contract, EIP-7702 delegation, upgradeable proxies and code changes in the last 72 h, and token controls (mint, blacklist, pause, fees, owner). |
POST /v1/risk/nearMCP: counterparty_risk_near | $0.02 | Counterparty-risk verdict (allow, warn or block, with reasons) for a NEAR account, for use before paying it. Checks the OFAC SDN list and operator deny-lists, whether the account exists, its age, its contract code and code changes in the last 72 h, global contracts whose publisher can change them, and, with an Allowance vault, the vault denylist and payment history. |
POST /v1/receipt/verify-nearMCP: verify_allowance_receipt | $0.005 | Seller-side check that an Allowance vault receipt on NEAR paid a given account at least a given amount, bound to the seller request hash, at final finality. Returns valid or the reason (not paid yet, wrong payee, amount, asset or request, unknown receipt, not a vault) and the vault code hash read at the same block. |
POST /v1/screen/txMCP: screen_transaction | $0.04 | Plain-language explanation of an EVM or NEAR transaction: status, method, native and token transfers, approvals (unlimited ones flagged), fee, and a risk verdict for each counterparty, with a one-line summary. Covers Base, Ethereum, OP Mainnet, Arbitrum, Base Sepolia and NEAR. Useful to check what a payment or approval really did. |
Invalid input (400), unknown transactions (404) and chain or facilitator outages (503) are not charged: the payment is only settled after a successful answer.
How to pay (HTTP)
Call an endpoint without payment: it answers 402 with the price in the PAYMENT-REQUIRED header. An x402 client signs a USDC authorization and retries with PAYMENT-SIGNATURE; the answer carries the settlement in PAYMENT-RESPONSE.
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // a wallet holding a little USDC on Base
const client = new x402Client().register("eip155:8453", new ExactEvmScheme(signer));
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://x402-services.soldano.workers.dev/v1/risk/evm", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", chain: "base" }),
});
console.log(await res.json()); // { verdict: "allow" | "warn" | "block", reasons, signals, ... }
How to pay (MCP)
Add the server to any MCP client. Paid tools return an x402 payment requirement as a tool error; x402-aware clients (@x402/mcp, Cloudflare Agents withX402Client) pay and retry with the payment in _meta["x402/payment"]. list_services is free.
{ "mcpServers": { "risk-desk": { "type": "http", "url": "https://x402-services.soldano.workers.dev/mcp" } } }
Sources and limits
Public data only: the official OFAC SDN list (refreshed every 6 hours), the Chainalysis on-chain sanctions oracle, EVM and NEAR RPC nodes, Sourcify verified sources, the FastNear transactions API. Verdicts are heuristic signals to support an automated decision, not legal or compliance advice. Token heuristics read standard function signatures from bytecode and can miss custom ones.