ToolAssay

Email authentication posture check

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.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
606 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://email-auth.use.x402atlas.com/check

CategoryEverything else
Provider hostemail-auth.use.x402atlas.com
Networkseip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days23 from 10 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.01 606 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "domain": "example.com",
    "selector": "google"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "domain": {
              "description": "Domain to check \u2014 hostname only, no scheme/IP literal, no trailing dot, no localhost, no local/internal/reserved suffix (.local, .internal, .localdomain, .lan, .test)",
              "maxLength": 253,
              "pattern": "^[A-Za-z0-9-]{1,63}(\\.[A-Za-z0-9-]{1,63})*$",
              "type": "string"
            },
            "selector": {
              "description": "Optional DKIM selector to check authoritatively; if omitted, a common-selector list is probed",
              "type": "string"
            }
          },
          "required": [
            "domain"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "accepts_mail": {
              "description": "true when the domain has at least one MX record",
              "type": "boolean"
            },
            "dkim": {
              "properties": {
                "checked_selectors": {
                  "description": "exact selectors probed",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "found": {
                  "items": {
                    "properties": {
                      "record": {
                        "type": "string"
                      },
                      "selector": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "dmarc": {
              "description": "null when no DMARC record is present",
              "properties": {
                "adkim": {
                  "default": "r",
                  "enum": [
                    "r",
                    "s"
                  ],
                  "type": "string"
                },
                "aspf": {
                  "default": "r",
                  "enum": [
                    "r",
                    "s"
                  ],
                  "type": "string"
                },
                "pct": {
                  "default": 100,
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "policy": {
                  "description": "p= tag; empty when missing/invalid",
                  "enum": [
                    "none",
                    "quarantine",
                    "reject",
                    ""
                  ],
                  "type": "string"
                },
                "record": {
                  "type": "string"
                },
                "rua": {
                  "description": "aggregate report addresses",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "ruf": {
                  "description": "forensic report addresses",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "subdomain_policy": {
                  "description": "sp= tag; empty when absent (inherits policy)",
                  "type": "string"
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "domain": {
              "type": "string"
            },
            "mx": {
              "items": {
                "properties": {
                  "host": {
                    "type": "string"
                  },
                  "pref": {
                    "maximum": 65535,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "queried_at": {
              "format": "date-time",
              "type": "string"
            },
            "spf": {
              "description": "null when no SPF record is present",
              "properties": {
                "all_qualifier": {
                  "description": "qualifier on the all mechanism; empty when absent",
                  "enum": [
                    "-all",
                    "~all",
                    "?all",
                    "+all",
                    ""
                  ],
                  "type": "string"
                },
                "dns_lookups": {
                  "description": "count of lookup-causing terms; RFC 7208 limit is 10",
                  "minimum": 0,
                  "type": "integer"
                },
                "mechanisms": {
                  "items": {
                    "properties": {
                      "causes_dns": {
                        "type": "boolean"
                      },
                      "kind": {
                        "enum": [
                          "include",
                          "a",
                          "mx",
                          "ip4",
                          "ip6",
                          "all",
                          "exists",
                          "ptr",
                          "redirect",
                          "exp",
              

This page as JSON