{"x402Version":2,"name":"Email authentication","description":"Parse and validate the email-authentication DNS records SPF, DMARC and DKIM, and evaluate an SPF record against an IPv4/IPv6 address, with honest handling of DNS-dependent SPF mechanisms.","version":"0.1.0","openapi":"https://emailauth.openverbs.com/openapi.json","resources":[{"url":"https://emailauth.openverbs.com/v1/spf-parse","method":"POST","description":"Parse an SPF TXT record (\"v=spf1 …\") into its qualified mechanisms and modifiers. Records that do not start with v=spf1 or use unknown mechanisms are clean 400s.","tags":["parse spf record","spf record parser","spf dns lookup","validate spf syntax","email spf mechanisms"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://emailauth.openverbs.com/v1/spf-check","method":"POST","description":"Evaluate an SPF record against an IPv4/IPv6 address using only its literal ip4/ip6/all mechanisms. DNS-dependent mechanisms (include, a, mx, exists, redirect) reached before a match yield an honest `indeterminate` result rather than a guess.","tags":["check spf ip","evaluate spf record","spf ip validation","spf sender check","email authentication check"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://emailauth.openverbs.com/v1/dmarc-parse","method":"POST","description":"Parse a DMARC TXT record (\"v=DMARC1; p=…\") into its policy, alignment, sampling and reporting tags. Missing or invalid policy/alignment/pct values are clean 400s.","tags":["parse dmarc record","dmarc record parser","validate dmarc policy","dmarc dns lookup","email dmarc tags"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://emailauth.openverbs.com/v1/dkim-parse","method":"POST","description":"Parse a DKIM public-key DNS TXT record (\"v=DKIM1; k=rsa; p=…\") into its key type, public key, hash algorithms, service types and flags. An empty `p` is reported as a revoked key. A missing `p` tag is a clean 400.","tags":["parse dkim record","dkim key parser","validate dkim dns","dkim public key lookup","email dkim tags"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]}]}