Email Auth SPF/DMARC/DKIM Check
GET email-auth.use.x402atlas.com/check
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Email authentication posture check: parses SPF, DMARC and DKIM plus MX for any domain and grades deliverability/anti-spoofing gaps (SPF +all, SPF >10 lookups, DMARC p=none, missing DKIM). Clean JSON for deliverability and security-ops automation.
Resource: email-auth.use.x402atlas.com/check
Network: eip155:8453, eip155:137, eip155:42161, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0
Payment methods: — · Last validation: 2026-09-14 09:18:33.547+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,63}(\\.[A-Za-z0-9-]{1,63})*$",
"maxLength": 253,
"description": "Domain to check — hostname only, no scheme/IP literal, no trailing dot, no localhost, no local/internal/reserved suffix (.local, .internal, .localdomain, .lan, .test)"
},
"selector": {
"type": "string",
"description": "Optional DKIM selector to check authoritatively; if omitted, a common-selector list is probed"
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"domain",
"queried_at",
"accepts_mail",
"mx",
"spf",
"dmarc",
"dkim",
"warnings"
],
"properties": {
"mx": {
"type": "array",
"items": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"pref": {
"type": "integer",
"maximum": 65535,
"minimum": 0
}
}
}
},
"spf": {
"type": [
"object",
"null"
],
"properties": {
"record": {
"type": "string"
},
"mechanisms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"enum": [
"include",
"a",
"mx",
"ip4",
"ip6",
"all",
"exists",
"ptr",
"redirect",
"exp",
"unknown"
],
"type": "string"
},
"value": {
"type": "string"
},
"qualifier": {
"enum": [
"+",
"-",
"~",
"?"
],
"type": "string"
},
"causes_dns": {
"type": "boolean"
}
}
}
},
"dns_lookups": {
"type": "integer",
"minimum": 0,
"description": "count of lookup-causing terms; RFC 7208 limit is 10"
},
"all_qualifier": {
"enum": [
"-all",
"~all",
"?all",
"+all",
""
],
"type": "string",
"description": "qualifier on the all mechanism; empty when absent"
}
},
"description": "null when no SPF record is present"
},
"dkim": {
"type": "object",
"properties": {
"found": {
"type": "array",
"items": {
"type": "object",
"properties": {
"record": {
"type": "string"
},
"selector": {
"type": "string"
}
}
}
},
"checked_selectors": {
"type": "array",
"items": {
"type": "string"
},
"description": "exact selectors probed"
}
}
},
"dmarc": {
"type": [
"object",
"null"
],
"properties": {
"pct": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 0
},
"rua": {
"type": "array",
"items": {
"type": "string"
},
"description": "aggregate report addresses"
},
"ruf": {
"type": "array",
"items": {
"type": "string"
},
"description": "forensic report addresses"
},
"aspf": {
"enum": [
"r",
"s"
],
"type": "string",
"default": "r"
},
"adkim": {
"enum": [
"r",
"s"
],
"type": "string",
"default": "r"
},
"policy": {
"enum": [
"none",
"quarantine",
"reject",
""
],
"type": "string",
"description": "p= tag; empty when missing/invalid"
},
"record": {
"type": "string"
},
"subdomain_policy": {
"type": "string",
"description": "sp= tag; empty when absent (inherits policy)"
}
},
"description": "null when no DMARC record is present"
},
"domain": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "human-readable posture advisories; never null"
},
"queried_at": {
"type": "string",
"format": "date-time"
},
"accepts_mail": {
"type": "boolean",
"description": "true when the domain has at least one MX record"
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "10000"
},
{
"raw": {
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"amount": "10000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"scheme": "exact",
"network": "eip155:137",
"amountAtomic": "10000"
},
{
"raw": {
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"amount": "10000",
"scheme": "exact",
"network": "eip155:42161",
"maxTimeoutSeconds": 300
},
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"payTo": "0x3731f5C2c1835E3aCe2AC157c4e31b1cEA0CB0e0",
"scheme": "exact",
"network": "eip155:42161",
"amountAtomic": "10000"
},
{
"raw": {
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"tier": "standard",
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"merchant": "x402Atlas"
},
"payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ",
"amount": "10000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
},
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"amountAtomic": "10000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.