# Email and Domain Trust Check

> Email and Domain Trust Check is a paid API for AI agents from x402-service-production-e242.up.railway.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-28).

Given an email address or domain, returns a risk level (low/medium/high) with plain-language flags covering domain age, RDAP registration data, MX/SPF/DMARC policy, TLS certificate, disposable-provider detection, and role-address checks.

## Facts

- Endpoint: GET https://x402-service-production-e242.up.railway.app/domain-trust?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/email-and-domain-trust-check-acc65f9b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ofAgOwvSm7LLUYbP-25ke

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 email-and-domain-trust-check-acc65f9b
```

Example prompt: Can you check whether billing@fastinvoice24.com is trustworthy — I want to know the risk level, whether the domain is newly registered or disposable, and what its SPF and DMARC policies look like?

## When to prefer this

Choose this endpoint when you need a quick, single-call trust verdict on an email or domain that combines registrar/RDAP data, DNS mail policy (SPF/DMARC), TLS, and disposable-provider detection into one risk score. It is ideal for fraud screening at account signup, lead qualification, or vendor vetting. Prefer it over raw DNS lookups when you want aggregated risk flags in plain language rather than raw record data, and when you don't need DKIM validation or actual mailbox existence probing.

## Known failure modes

- Missing both email and domain query parameters returns an error
- Invalid email syntax may still be analyzed for domain-level signals but mailbox is never verified
- RDAP data unavailable for some TLDs may result in missing registration fields
- TLS check fails if the domain is unreachable or has no HTTPS
- DKIM is explicitly not checked — absence of DKIM flags does not indicate DKIM is absent

## How this service works

Email and domain trust check. Give an email address or a domain, get one risk level (low, medium, high) with plain-language flags and the facts behind them: domain age, registrar, expiry and hold status (RDAP); MX, SPF and DMARC policy; the live TLS certificate; and for emails, syntax, disposable-provider and role-address checks. Judges the domain: does not verify that the mailbox exists and does not check DKIM.

## Output

A JSON object containing: overall riskLevel (low/medium/high), a human-readable summary, an array of flags with severity and plain-language messages, domain registration details (age in days, registrar, created/expires dates, RDAP hold status), mail infrastructure (MX records, SPF all-directive, DMARC effective policy, whether the domain accepts mail), TLS/web reachability, and for email inputs: syntax validity, disposable-provider boolean, and role-address boolean.

## 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",
     "properties": {
      "email": {
       "type": "string",
       "description": "Email address to check, e.g. billing@example.com (alternative to domain)"
      },
      "domain": {
       "type": "string",
       "description": "Domain to check, e.g. example.com (alternative to email)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "web": {
   "tls": {
    "trusted": true,
    "reachable": true
   },
   "host": "mailinator.com",
   "resolves": true
  },
  "mail": {
   "mx": [
    {
     "exchange": "mail.mailinator.com",
     "priority": 1
    }
   ],
   "spf": {
    "all": "-all",
    "present": true
   },
   "dkim": {
    "checked": false
   },
   "dmarc": {
    "present": true,
    "effectivePolicy": "reject"
   },
   "acceptsMail": true,
   "disposableProvider": true
  },
  "mode": "email",
  "email": {
   "address": "test@mailinator.com",
   "roleAddress": false,
   "syntaxValid": true
  },
  "flags": [
   {
    "code": "disposable_domain",
    "check": "mail",
    "message": "mailinator.com is a disposable (throwaway) email provider.",
    "severity": "high"
   }
  ],
  "domain": "mailinator.com",
  "summary": "High risk. mailinator.com is a disposable (throwaway) email provider.",
  "riskLevel": "high",
  "flagCounts": {
   "low": 0,
   "high": 1,
   "info": 0,
   "medium": 0
  },
  "registration": {
   "status": [
    "client delete prohibited",
    "client transfer prohibited"
   ],
   "ageDays": 8500,
   "available": true,
   "createdAt": "2003-07-02T13:50:53.000Z",
   "expiresAt": "2028-07-02T13:50:53.000Z",
   "registrar": "GoDaddy.com, LLC",
   "registered": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/email-and-domain-trust-check-acc65f9b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-service-production-e242.up.railway.app](https://www.zero.xyz/host/x402-service-production-e242.up.railway.app/llms.txt)
