# PayPerScreen > Pay-per-call sanctions, crypto-wallet, email, and IP risk > screening API, priced in USDC and paid over [x402](https://x402.org): no > account, no API key, no subscription. Every request is authenticated by a > signed on-chain payment at the moment it's made, in USDC on Base, Polygon > or Arbitrum. Built > around the assumption that most real callers are agents, not humans > clicking a button. PayPerScreen checks names against the OFAC SDN, UN Security Council, EU and UK sanctions lists (fuzzy match; the lists actually loaded are named in every response) and crypto wallet addresses against OFAC's sanctioned digital-currency address list (exact match). It also runs deterministic trust/risk composites (no LLM calls anywhere in the scoring path) against email addresses and IP addresses, each returning a riskLevel (low/medium/high) and a redFlag when a severe signal fires. It returns results and signals. It does not make compliance decisions for you. ## Docs - [Methodology](https://payperscreen.com/methodology): a complete, signal-by-signal list of what every check actually does, and what it doesn't check yet. Read this to judge whether a check is sufficient for your use case. - [API reference](https://payperscreen.com/docs): endpoints, pricing, the x402 payment handshake, request/response shapes, and honest current coverage. - [Lists we check](https://payperscreen.com/lists): live record counts and last-refreshed dates for every list currently loaded, not a marketing description, the actual database state. - [Reference client](https://payperscreen.com/examples/agent-client.mjs): a standalone Node.js script an agent can run directly. It reads a private key from the environment, pays per call, no other setup. - [Agent card](https://payperscreen.com/.well-known/agent-card.json): machine-readable service descriptor (skills, pricing, payment scheme). ## Base URL All endpoints below are served from `https://api.payperscreen.com` (`GET /` there is free and returns a short index). ## How payment works No API key, no signup. A request with no payment gets back `402 Payment Required` naming the exact price and asset (USDC) for each network you can pay on: Base (`eip155:8453`), Polygon (`eip155:137`) or Arbitrum (`eip155:42161`). The caller signs a gasless EIP-3009 `transferWithAuthorization` and retries with it attached; x402-aware HTTP clients (e.g. `@x402/fetch`) do this automatically. You only need USDC on one of those chains: no gas token, since the facilitator submits the transaction. To see a real response first, call the free `GET https://api.payperscreen.com/sample/screen` or `/sample/screen-address`. ## MCP server AI agents can use PayPerScreen as tools via MCP: `npx -y payperscreen-mcp` (tools: screen_name, screen_wallet, check_email, check_ip, plus free lists_coverage and samples). It pays per check from the wallet in PAYPERSCREEN_PRIVATE_KEY, with a spending cap (PAYPERSCREEN_MAX_SPEND, default $1). Setup: https://github.com/TonytheTiger22/payperscreen/tree/main/mcp ## Endpoints (see /docs for full detail) - `GET /screen`, $0.02: fuzzy name match across the loaded sanctions lists (OFAC, UN, EU, UK); each hit includes record ID, programmes, aliases, and a date-of-birth / nationality / type comparison against what you sent - `GET /context`, $0.05: the same comparison for the top hit (now included in /screen; kept for existing integrations) - `GET /screen-address`, $0.02: exact match against OFAC's sanctioned crypto-address list, plus Tether's USDT freeze list on Tron (on-chain, as `frozenByIssuer`) and a curated list of known hack proceeds (FBI notices and incident reports, as `hackFunds`) - `GET /screen-email`, $0.02: mail-server validity, disposable-domain check, domain age, mailbox verification, blocklist status, typo-squat - `GET /screen-ip`, $0.01 (beta): Spamhaus ZEN blocklist and Tor exit-node check, IPv4 only ## Optional - [payperscreen.com/try](https://payperscreen.com/try): the web UI for humans, same API underneath, same live payments.