# MailCheck API > Email address and domain checks for AI agents: syntax, MX, disposable/role/free flags, typo suggestions, SPF/DMARC/DKIM, RDAP and a deliverability grade. Pay per item with x402 (USDC on Base) or Lightning sats. No signup. Payment: x402 v2, scheme exact, network eip155:8453 (Base), asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, payTo 0x7a3C00Ef0969378A3E74455cde3Dc87C0f016dfa. $0.001 per item; the 402 quote is computed from the number of items in your request. Lightning: POST https://mailcheck.toolschemaforge.workers.dev/v1/credits {"sats": N} returns a BOLT11 invoice (1 sat = 1 check, 10-50000 sats). Pay it, poll GET https://mailcheck.toolschemaforge.workers.dev/v1/credits/ until status is "paid", then send header X-Credits-Token: to the paid routes. Free tier: 50 checks per day per IP on the /v1/free/* routes (no payment). After that they return HTTP 402 with x402 requirements. Client note: Send a descriptive User-Agent header (e.g. User-Agent: mailcheck-client/1.0). Cloudflare blocks Python urllib's default User-Agent ("Python-urllib/3.x") on workers.dev with HTTP 403 "error code: 1010" before the request reaches this API. curl, python-requests and fetch work as-is. No API key is needed. ## Paid endpoints (POST JSON, or GET with query parameters) - https://mailcheck.toolschemaforge.workers.dev/v1/email-check ($0.001/item, max 100 per request): Validate email addresses: syntax, normalization, MX via DNS-over-HTTPS, disposable/role/free-provider flags, typo suggestion, verdict and score. Body example: {"emails":["jane.doe@gmial.com","info@example.com"]} - https://mailcheck.toolschemaforge.workers.dev/v1/domain-check ($0.001/item, max 2 per request): Domain intel: A/AAAA/MX/NS/TXT via DoH, SPF and DMARC parsing, DKIM selector probe, RDAP registration data and a deliverability/security grade. Body example: {"domain":"example.org"} ## Free endpoints - https://mailcheck.toolschemaforge.workers.dev/v1/free/email-check: same as /v1/email-check, up to 10 item(s) per call, 50/day per IP - https://mailcheck.toolschemaforge.workers.dev/v1/free/domain-check: same as /v1/domain-check, up to 1 item(s) per call, 50/day per IP - https://mailcheck.toolschemaforge.workers.dev/openapi.json, https://mailcheck.toolschemaforge.workers.dev/.well-known/x402, https://mailcheck.toolschemaforge.workers.dev/health ## Notes - email-check never contacts mail servers (no SMTP probing). verdict valid = well formed and the domain accepts mail; it does not prove the mailbox exists. - Disposable list: disposable-email-domains (CC0), e4f0910 (2026-10-23), 9927 domains. - Inputs are processed in memory and not stored.