# Contact Verify – SMTP-Level Email Verification

> Contact Verify – SMTP-Level Email Verification is a paid API for AI agents from verify-x402.okwithit9.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-22).

Performs real mailbox-level email verification including SMTP connectivity, catch-all detection, disposable address detection, and role account identification.

## Facts

- Endpoint: POST https://verify-x402.okwithit9.workers.dev/verify/email?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/contact-verify-smtp-level-email-verification-76b3c9c5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SVDzFhNAAywFvoF4CdpCu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability contact-verify-smtp-level-email-verification-76b3c9c5 -d '<json body>'
```

Example prompt: Can you verify whether ada@example.com is a real, deliverable mailbox — I want to know if it's disposable, a catch-all, or a role account before I add it to my list?

## When to prefer this

Choose this endpoint when you need real SMTP-level mailbox verification rather than syntax-only validation. It is ideal for pre-send list hygiene, fraud prevention at sign-up, or sales outreach qualification where you need catch-all, disposable, and role-account detection with a numeric confidence score. Prefer it over simple regex or DNS-only validators when deliverability certainty matters.

## Known failure modes

- Invalid email syntax returns an error before payment is charged
- SMTP timeout or unreachable mail server may result in inconclusive deliverability status
- Catch-all servers mask per-mailbox existence, flagged via is_catch_all
- Rate limiting or payment failure results in 402 response
- Non-existent domain returns mx_accepts_mail: false

## How this service works

Pay-per-call email and phone verification for AI agents. Real mailbox-level email verification (SMTP-level deliverability, catch-all, disposable, and role detection). Live carrier line-type lookup (mobile, landline, VoIP, toll-free) with E.164 normalization. No signup and no API key. Payment is USDC on Base via x402 exact. Email addresses and phone numbers are not stored. Paid routes return HTTP 402 until the client sends a valid x402 PAYMENT-SIGNATURE. USDC uses 6 decimals.

## Output

A JSON object containing the verified email address and domain, deliverability status ('safe', etc.), username, MX records, SMTP connectivity result, and boolean flags for: is_deliverable, is_catch_all, is_disposable, is_role_account, is_free_email, is_disabled, is_spamtrap, has_inbox_full, is_safe_to_send, mx_accepts_mail, can_connect_smtp, is_valid_syntax, plus an overall_score numeric confidence (0–100).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "email"
     ],
     "properties": {
      "email": {
       "type": "object",
       "required": [
        "type",
        "description",
        "required",
        "example"
       ],
       "properties": {
        "type": {
         "const": "string"
        },
        "example": {
         "type": "string"
        },
        "required": {
         "const": true
        },
        "description": {
         "type": "string"
        }
       },
       "description": "Email address to verify. Syntax is checked before payment.",
       "additionalProperties": false
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "status": {
       "type": "string",
       "description": "Deliverability status for the mailbox."
      },
      "is_catch_all": {
       "type": "boolean"
      },
      "is_disposable": {
       "type": "boolean"
      },
      "overall_score": {
       "type": "number",
       "description": "Numeric confidence score when the check includes one."
      },
      "is_deliverable": {
       "type": "boolean"
      },
      "is_role_account": {
       "type": "boolean"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "email": "ada@example.com",
  "domain": "example.com",
  "status": "safe",
  "username": "ada",
  "mx_records": [
   "mx.example.com"
  ],
  "is_disabled": false,
  "is_spamtrap": false,
  "is_catch_all": false,
  "is_disposable": false,
  "is_free_email": false,
  "overall_score": 98,
  "has_inbox_full": false,
  "is_deliverable": true,
  "is_role_account": false,
  "is_safe_to_send": true,
  "is_valid_syntax": true,
  "mx_accepts_mail": true,
  "can_connect_smtp": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/contact-verify-smtp-level-email-verification-76b3c9c5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verify-x402.okwithit9.workers.dev](https://www.zero.xyz/host/verify-x402.okwithit9.workers.dev/llms.txt)
