ToolAssay

Email authentication check for a sending domain over DNS

Email authentication check for a sending domain over DNS: MX, SPF (policy and lookup count), DMARC (policy, pct, reporting) and DKIM keys on common selectors. Returns pass/weak/missing per check, findings with fix hints, and a 0-100 email-auth score. Reads public DNS only; no mail is sent. $0.003 USDC per call on Base.

Not tested: has real-world effectsour last check, 2026-10-24
0 of 0checks answered this week
n/amedian answer time
$0.003listed price per call
n/aprice 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

POST https://api.avedaris.com/v1/paid/email-auth-check

CategoryEverything else
Provider hostapi.avedaris.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "body": {
    "domain": "example.com"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "domain": {
              "description": "Sending domain to check, e.g. example.com. An email address or URL is also accepted. 3 to 320 characters. No mail is sent.",
              "maxLength": 320,
              "minLength": 3,
              "type": "string"
            }
          },
          "required": [
            "domain"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "result": {
              "description": "Output of email.auth_check. The fields below are the documented core; some responses add further detail fields.",
              "properties": {
                "dkim": {
                  "description": "DKIM key check on common selectors.",
                  "properties": {
                    "revokedSelectors": {
                      "description": "Selectors whose record has an empty p= (key revoked).",
                      "type": "array"
                    },
                    "selectorsChecked": {
                      "description": "Selectors queried at <selector>._domainkey.<domain>.",
                      "items": {
                        "description": "Selectors queried at <selector>._domainkey.<domain>.",
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "selectorsFound": {
                      "description": "Selectors that publish a DKIM public key.",
                      "type": "array"
                    },
                    "status": {
                      "description": "pass when a key was found on at least one common selector, otherwise not_found (a custom selector may still exist).",
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "selectorsChecked",
                    "selectorsFound",
                    "revokedSelectors"
                  ],
                  "type": "object"
                },
                "dmarc": {
                  "description": "DMARC record check at _dmarc.<domain>.",
                  "properties": {
                    "pct": {
                      "description": "Percent of failing mail the policy applies to (default 100), or null when missing.",
                      "type": "integer"
                    },
                    "policy": {
                      "description": "DMARC p= value: none, quarantine or reject; null when missing.",
                      "type": "string"
                    },
                    "record": {
                      "description": "The DMARC TXT record text, or null.",
                      "type": "string"
                    },
                    "reportingEnabled": {
                      "description": "true when an aggregate report address (rua=) is published.",
                      "type": "boolean"
                    },
                    "status": {
                      "description": "pass (enforcing policy), weak (p=none or invalid) or missing.",
                      "type": "string"
                    },
                    "subdomainPolicy": {
                      "description": "DMARC sp= value, or the main policy when sp= is absent.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "record",
                    "policy",
                    "subdomainPolicy",
                    "pct",
                    "reportingEnabled"
                  ],
                  "type": "object"
                },
                "domain": {
                  "description": "Sending domain that was checked (taken from a domain, email address or URL).",
                  "type": "string"
                },
                "findings": {
                  "description": "Issues found, most serious first in practice, each with a fix-oriented explanation.",
                  "items": {
                    "description": "Issues found, most serious first in practice, each with a fix-oriented explanation.",
                    "properties": {
                      "code": {
                        "description": "Stable machine code, e.g. dmarc_missing, spf_allows_any_sender.",
                        "type": "string"
                      },
                      "detail": {
                        "description": "One-sentence explanation of the issue.",
                        "type": "string"
                      },
                      "severity": {
                        "description": "high, medium, low or info.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "code",
                      "severity",
                      "detail"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "mailSent": {
                  "description": "Always false: only public DNS is read.",
                  "type": "boolean"
                }

This page as JSON