RxKit Rx Domain WHOIS, DNS & Email Security

Composed public-data reports, priced per call.

Domain registration facts from registry RDAP (registrar, created, expires, status), live DNS records, email authentication grading (MX, SPF walk, DMARC, MTA-STS, BIMI), bulk domain checks, email address validation, and a domain due-diligence risk report. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.

x402 v2USDC on BaseNo API keysFree if it fails
1. CallSend a plain GET request. Without payment you receive HTTP 402 with the price in the PAYMENT-REQUIRED header.
2. PayAny x402 client signs a USDC authorization and retries with the PAYMENT-SIGNATURE header.
3. ReceiveYou get the JSON report. Settlement happens only for 2xx responses.

Domain due diligence

Registration age, DNS, email authentication, web behavior and brand-lookalike signals in one score.

GET/v1/domain/report$0.01

Domain due-diligence and risk report

Due-diligence report on a website, merchant or counterparty domain: registrable domain, registry RDAP facts (registrar, abuse contact, created, expiry, age, status, nameservers), DNS records (A, AAAA, MX, NS, TXT, CAA) from Cloudflare DNS over HTTPS, SPF and DMARC posture, a live web probe (redirect chain, HTTPS, HSTS, site-supplied title, parked or for-sale signs), brand-impersonation checks, and a 0-100 risk score with transparent weighted signals and a verdict.

Params: domain

Sample response
{
  "query": {
    "domain": "github.com"
  },
  "result": {
    "host": "github.com",
    "host_unicode": null,
    "registrable_domain": "github.com",
    "public_suffix": "com",
    "shared_platform": null,
    "registered": true,
    "registration_basis": "rdap",
    "risk": {
      "score": 0,
      "verdict": "low",
      "confidence": "normal",
      "signals": []
    },
    "registration": {
      "registrar": "MarkMonitor Inc.",
      "registrar_iana_id": "292",
      "registrar_abuse": {
        "email": "abusecomplaints@markmonitor.com",
        "phone": "+1.2086851750"
      },
      "created": "2007-10-09T18:20:50.000Z",
      "expires": "2028-10-09T18:20:50.000Z",
      "last_changed": "2026-09-07T09:22:52.000Z",
      "age_days": 6975,
      "days_to_expiry": 695,
      "status": [
        "client delete prohibited"
      ],
      "nameservers": [
        "dns1.p08.nsone.net"
      ],
      "dnssec": false,
      "registry_terms": {
        "title": "Terms of Service",
        "link": "https://www.verisign.com/domain-names/registration-data-access-protocol/terms-service/index.xhtml"
      }
    },
    "dns": {
      "status": "NOERROR",
      "nxdomain": false,
      "registrable_nxdomain": false,
      "a": [
        "140.82.114.4"
      ],
      "aaaa": [],
      "cname": [],
      "ns": [
        "dns1.p08.nsone.net"
      ],
      "caa": [
        "0 issue \"digicert.com\""
      ],
      "all_addresses_public": true,
      "verification_tokens": [
        "ms"
      ]
    },
    "email": {
      "domain": "github.com",
      "accepts_mail": true,
      "null_mx": false,
      "mx": [
        {
          "priority": 0,
          "host": "github-com.mail.protection.outlook.com"
        }
      ],
      "spf": {
        "present": true,
        "record": "v=spf1 ip4:192.30.252.0/22 …",
        "all": "~all",
        "redirect": null
      },
      "dmarc": {
        "present": true,
        "record_domain": "github.com",
        "record": "v=DMARC1; p=quarantine; …",
        "policy": "quarantine",
        "subdomain_policy": "reject",
        "pct": 100,
        "reporting": true,
        "multiple_records": false
      }
    },
    "web": {
      "probed": true,
      "skipped_reason": null,
      "final_url": "https://github.com/",
      "status": 200,
      "redirect_chain": [],
      "https_ok": true,
      "https_direct": true,
      "hsts": true,
      "server": "github.com",
      "content_type": "text/html",
      "title": "GitHub · Change is …",
      "final_registrable": "github.com",
      "cross_domain_redirect": false,
      "parked": false,
      "parked_indicators": [],
      "error": null
    },
    "brand_impersonation": null
  },
  "sources": [
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
    },
    {
      "name": "IANA RDAP bootstrap",
      "url": "https://data.iana.org/rdap/dns.json"
    },
    {
      "name": "Registry RDAP (rdap.verisign.com)",
      "url": "https://rdap.verisign.com/com/v1/domain/github.com"
    }
  ],
  "attribution": [
    "Registration data from the …",
    "DNS resolved via Cloudflare …"
  ],
  "generated_at": "2026-11-13T21:25:14.379Z"
}

https://domain.kit-rx.com/v1/domain/report?domain=github.com

GET/v1/domain/whois$0.003

Domain registration facts (RDAP whois)

Registration facts for a domain from its registry's RDAP server, located through the IANA bootstrap file: registrar name, IANA ID and abuse contact, created, updated and expiry dates, age and days to expiry, EPP status codes, transfer lock, nameservers, DNSSEC delegation flag, and the registry RDAP URL and terms link. No registrant contact data. Registries whose terms bar reuse (Nominet, CentralNic, Google Registry) are not queried.

Params: domain

Sample response
{
  "query": {
    "domain": "github.com"
  },
  "result": {
    "domain": "github.com",
    "domain_unicode": null,
    "host": "github.com",
    "public_suffix": "com",
    "registered": true,
    "registrar": "MarkMonitor Inc.",
    "registrar_iana_id": "292",
    "registrar_abuse": {
      "email": "abusecomplaints@markmonitor.com",
      "phone": "+1.2086851750"
    },
    "created": "2007-10-09T18:20:50.000Z",
    "updated": "2026-09-07T09:22:52.000Z",
    "expires": "2028-10-09T18:20:50.000Z",
    "age_days": 6976,
    "days_to_expiry": 694,
    "status": [
      "client delete prohibited",
      "client transfer prohibited",
      "client update prohibited"
    ],
    "transfer_locked": true,
    "nameservers": [
      "dns1.p08.nsone.net",
      "dns2.p08.nsone.net",
      "dns3.p08.nsone.net",
      "ns-1283.awsdns-32.org"
    ],
    "dnssec": false,
    "registry": {
      "rdap_server": "rdap.verisign.com",
      "rdap_url": "https://rdap.verisign.com/com/v1/domain/github.com",
      "terms": {
        "title": "Terms of Service",
        "link": "https://www.verisign.com/domain-names/registration-data-access-protocol/terms-service/index.xhtml"
      }
    }
  },
  "sources": [
    {
      "name": "IANA RDAP bootstrap",
      "url": "https://data.iana.org/rdap/dns.json"
    },
    {
      "name": "Registry RDAP (rdap.verisign.com)",
      "url": "https://rdap.verisign.com/com/v1/domain/github.com"
    }
  ],
  "attribution": [
    "Registration data from the domain's registry via RDAP, …"
  ],
  "generated_at": "2026-11-14T21:44:01.859Z"
}

https://domain.kit-rx.com/v1/domain/whois?domain=github.com

GET/v1/domain/dns$0.003

DNS records for a domain

Current DNS records for a hostname from Cloudflare DNS over HTTPS: A, AAAA, CNAME chain, MX with priority and null-MX flag, NS, TXT (up to 25 records of at most 400 characters, email addresses redacted), CAA as flag, tag and value, and SOA primary nameserver, serial and timers, each with its minimum TTL. An optional type parameter limits the answer to one record type. For subdomains without their own zone, NS and SOA come from the registrable domain.

Params: domain, type optional

Sample response
{
  "query": {
    "domain": "github.com"
  },
  "result": {
    "host": "github.com",
    "host_unicode": null,
    "registrable_domain": "github.com",
    "type": "ALL",
    "rcode": "NOERROR",
    "records": {
      "cname": [],
      "a": [
        "140.82.114.3"
      ],
      "aaaa": [],
      "mx": [
        {
          "priority": 0,
          "host": "github-com.mail.protection.outlook.com"
        }
      ],
      "null_mx": false,
      "ns": [
        "dns1.p08.nsone.net",
        "dns2.p08.nsone.net",
        "dns3.p08.nsone.net",
        "ns-1283.awsdns-32.org"
      ],
      "ns_zone": "github.com",
      "txt": [
        "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com …",
        "MS=ms44452932",
        "apple-domain-verification=RyQhdzTl6Z6x8ZP4"
      ],
      "txt_count": 24,
      "caa": [
        {
          "flags": 0,
          "tag": "issue",
          "value": "digicert.com"
        },
        {
          "flags": 0,
          "tag": "issuewild",
          "value": "letsencrypt.org"
        }
      ],
      "soa": {
        "zone": "github.com",
        "primary_ns": "dns1.p08.nsone.net",
        "serial": 1656468023,
        "refresh": 43200,
        "retry": 7200,
        "expire": 1209600,
        "minimum_ttl": 3600
      }
    },
    "ttl": {
      "cname": null,
      "a": 12,
      "aaaa": null,
      "mx": 112,
      "ns": 1330,
      "txt": 112,
      "caa": 3412,
      "soa": 3412
    }
  },
  "sources": [
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
    }
  ],
  "notes": [
    "The SOA contact mailbox (RNAME) is omitted."
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
  ],
  "generated_at": "2026-11-14T21:47:15.023Z"
}

https://domain.kit-rx.com/v1/domain/dns?domain=github.com

GET/v1/domain/email-auth$0.003

Email authentication posture (SPF, DMARC, MTA-STS)

Email authentication posture of a domain from DNS (Cloudflare DNS over HTTPS): MX records and null MX, SPF parsed into mechanisms with its all qualifier and a recursive DNS-lookup count against the RFC 7208 limit of 10, DMARC policy (p, sp, pct, alignment, report addresses' domains), MTA-STS and TLS-RPT records, and BIMI. DKIM is not assessed because selectors cannot be enumerated. Returns an A-F grade and 0-100 score with weighted reasons.

Params: domain

Sample response
{
  "query": {
    "domain": "github.com"
  },
  "result": {
    "domain": "github.com",
    "input_host": "github.com",
    "registrable_domain": "github.com",
    "grade": "B",
    "score": 88,
    "reasons": [
      {
        "code": "dmarc_quarantine",
        "points": -5,
        "detail": "DMARC policy is quarantine; reject is the strongest setting."
      },
      {
        "code": "no_mta_sts",
        "points": -5,
        "detail": "No MTA-STS record, so inbound SMTP TLS is opportunistic and can be downgraded."
      },
      {
        "code": "no_tls_rpt",
        "points": -2,
        "detail": "No TLS-RPT record, so the owner receives no reports of SMTP TLS failures."
      }
    ],
    "mx": {
      "accepts_mail": true,
      "null_mx": false,
      "implicit_mx": false,
      "records": [
        {
          "priority": 0,
          "host": "github-com.mail.protection.outlook.com"
        }
      ]
    },
    "spf": {
      "present": true,
      "multiple_records": false,
      "record": "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com … ~all",
      "all": "~all",
      "effective_all": "~all",
      "redirect": null,
      "mechanisms": [
        {
          "qualifier": "+",
          "mechanism": "ip4",
          "value": "192.30.252.0/22"
        },
        {
          "qualifier": "+",
          "mechanism": "include",
          "value": "spf.protection.outlook.com"
        },
        {
          "qualifier": "~",
          "mechanism": "all",
          "value": null
        }
      ],
      "dns_lookups": {
        "counted": 10,
        "top_level": 8,
        "limit": 10,
        "exceeds_limit": false,
        "complete": true,
        "loop": false
      },
      "broken_includes": [],
      "uses_ptr": false,
      "unknown_terms": []
    },
    "dmarc": {
      "present": true,
      "record_domain": "github.com",
      "inherited": false,
      "record": "v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:[redacted]@github.com; ruf=mailto:[redacted]@github.com; fo=1",
      "policy": "quarantine",
      "p": "quarantine",
      "sp": "reject",
      "pct": 100,
      "adkim": null,
      "aspf": null,
      "rua_present": true,
      "rua_domains": [
        "github.com"
      ],
      "ruf_present": true,
      "multiple_records": false
    },
    "mta_sts": {
      "present": false,
      "valid": false,
      "id": null
    },
    "tls_rpt": {
      "present": false,
      "rua_present": false
    },
    "bimi": {
      "present": false,
      "logo_url": null,
      "has_certificate": false
    },
    "dkim": {
      "assessed": false,
      "detail": "DKIM keys are published under sender-chosen selectors …"
    }
  },
  "sources": [
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
    }
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
  ],
  "generated_at": "2026-11-14T21:47:15.232Z"
}

https://domain.kit-rx.com/v1/domain/email-auth?domain=github.com

Email address checks

Syntax, MX and null-MX, disposable, role and free-provider flags, SPF/DMARC and typo hints. No mailbox probe.

GET/v1/email/verify$0.003

Email address verification (syntax, MX, risk flags)

Checks an email address without sending mail: syntax rules (IDN domains in punycode and Unicode), MX records by preference, null MX (RFC 7505), implicit A/AAAA fallback, NXDOMAIN, SPF and DMARC policy, disposable, role, free-webmail and +tag flags, mail provider from MX hosts, and typo suggestions for popular domains. Returns a verdict and 0-100 score with reasons. Mailbox existence is not confirmed. Sources: Cloudflare DNS over HTTPS, disposable-email-domains (CC0).

Params: email

Sample response
{
  "query": {
    "email": "jane.doe+news@gmail.com"
  },
  "result": {
    "address": "jane.doe+news@gmail.com",
    "verdict": "deliverable_domain",
    "score": 90,
    "score_reasons": [
      {
        "code": "mailbox_unverified",
        "points": -10,
        "detail": "Mailbox existence was not checked (no SMTP probe)."
      }
    ],
    "did_you_mean": null,
    "mailbox_verified": false,
    "syntax": {
      "valid": true,
      "local_part": "jane.doe+news",
      "domain": "gmail.com",
      "domain_unicode": null,
      "idn": false,
      "length": 23
    },
    "flags": {
      "disposable": false,
      "disposable_match": null,
      "role_account": false,
      "role": null,
      "free_provider": true,
      "subaddress": {
        "base": "jane.doe",
        "tag": "news"
      },
      "typo_suspected": false,
      "non_ascii_local": false
    },
    "mail_provider": {
      "id": "google",
      "name": "Gmail (Google)",
      "category": "mailbox_provider",
      "mx_host": "gmail-smtp-in.l.google.com"
    },
    "dns": {
      "rcode": "NOERROR",
      "accepts_mail": true,
      "mx": [
        {
          "preference": 5,
          "exchange": "gmail-smtp-in.l.google.com",
          "provider": "google"
        },
        {
          "preference": 10,
          "exchange": "alt1.gmail-smtp-in.l.google.com",
          "provider": "google"
        },
        {
          "preference": 20,
          "exchange": "alt2.gmail-smtp-in.l.google.com",
          "provider": "google"
        }
      ],
      "mx_count": 5,
      "null_mx": false,
      "implicit_mx": false,
      "implicit_mx_addresses": null,
      "primary_mx": {
        "host": "gmail-smtp-in.l.google.com",
        "status": "resolves",
        "addresses": [
          "142.250.31.26",
          "2607:f8b0:4004:c08::1a"
        ]
      }
    },
    "email_auth": {
      "spf": {
        "present": true,
        "record": "v=spf1 redirect=_spf.google.com",
        "all": null,
        "multiple_records": false
      },
      "dmarc": {
        "present": true,
        "record_domain": "gmail.com",
        "policy": "none",
        "record": "v=DMARC1; p=none; sp=quarantine; rua=mailto:mailauth-reports@google.com",
        "inherited_from_org_domain": false,
        "multiple_records": false
      }
    }
  },
  "sources": [
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
    },
    {
      "name": "disposable-email-domains blocklist (CC0 1.0, commit ba992a0, 2026-11-08)",
      "url": "https://github.com/disposable-email-domains/disposable-email-domains"
    }
  ],
  "notes": [
    "Mailbox existence is not confirmed: no SMTP connection is made (Cloudflare Workers cannot open outbound connections on port 25), so the result covers address syntax, the domain's mail DNS and list-based flags only. Catch-all and full-mailbox status are unknown."
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
  ],
  "generated_at": "2026-11-13T22:10:00.000Z"
}

https://domain.kit-rx.com/v1/email/verify?email=jane.doe%2Bnews%40gmail.com