Contact verification

Verify an email address is deliverable - syntax validation plus MX record check on the domain.

$0.004 per call · one payment for the whole workflow
POST /api/skill/contact-verify
Sample output + API docs →

3 tools run server-side in one request. You pay once, settle once, and get a single response - no orchestration, no per-step payments, and a partial-success envelope if any step fails. USDC over x402 on any supported chain.

When to use this pack

An agent collecting contact information needs to verify an email before storing it or sending to it: does the address pass syntax validation, and does the domain actually have mail servers? Catches typos, disposable domains, and dead mailboxes.

Tools in this pack

All 3 run inside the single $0.004 call above. Each is also callable on its own if you only need one part.

Bought one at a time, these 3 tools cost $0.004 together; the pack is that sum less a 10% bundle discount, rounded up to the $0.001 settlement floor, which is $0.004.

Workflow

  1. Call email-validate to check syntax, domain existence, and mailbox reachability.
  2. Call dns-lookup with host=<domain from email> and type='MX' to independently verify the domain has mail exchange records.
  3. Call spf-check on the domain - a domain that publishes a valid SPF record is configured for legitimate sending, an added deliverability signal beyond MX (and a hint the domain isn't a throwaway).

Arguments

NameRequiredDescriptionExample
emailyesEmail address to verify (e.g. test@gmail.com)test@gmail.com

What one call returns

A JSON object with pack, args, steps, summary; steps holds one entry per tool (email-validate, dns-lookup, spf-check), each with its own result or error. Full example on the API page.

Call it directly

Any x402 client pays the 402 and gets the whole workflow back in one response. With the agent402-client SDK (npm i agent402-client, an ES module):

import { Agent402 } from "agent402-client";
// payFetch: an x402-wrapped fetch your wallet signs (@x402/fetch).
// Tools on the free tier need no options: new Agent402() pays them by proof-of-work.
// an existing prepaid credits key also works: new Agent402({ creditsKey })
const client = new Agent402({ fetch: payFetch });
const result = await client.call("skill-contact-verify", {"email":"test@gmail.com"});

Run it in Claude

claude mcp add agent402 -s user -- npx -y agent402-mcp@latest

Then paste this prompt into Claude:

Verify the email address test@gmail.com using Agent402's contact-verify skill pack: (1) email-validate for syntax and reachability, (2) dns-lookup for MX records on gmail.com, (3) spf-check on gmail.com. Report whether the address is likely deliverable and whether the domain is properly configured for sending.

← All skill packs