DNS records
Queries public resolvers without connecting to the domain’s server.
DNS API · X402 · TESTNET PROTOTYPE
DNS records and email policy presence for a domain, in one JSON response. One x402 payment per analysis.
0.01 test USDC per analysis · Base Sepolia only
01 — WHAT IT CHECKS
Add a first diagnostic to a script, an internal tool or an agent. Explicit findings, without an opaque score.
Queries public resolvers without connecting to the domain’s server.
Policies present, absent or duplicated. Resolution errors are kept separate from missing records.
Normalized domain, timestamp, DNS results, available TTLs, cache status and diagnostic limitations.
02 — THE RESPONSE
A structure that separates DNS results, email findings and diagnostic limitations.
Illustrative excerpt, fictional data.
This page does not run analyses or initiate payments.
{
"domain": "example.com",
"status": "complete",
"cached": false,
"email": {
"spf": {
"status": "present",
"records": ["v=spf1 -all"]
},
"dmarc": {
"status": "absent",
"records": []
}
}
}EXPLICIT LIMITATIONS
Detects SPF and DMARC presence; does not fully validate these policies or assess email deliverability.
DMARC is checked at the exact domain, without organizational-domain fallback.
No TLS, reputation or overall domain security assessment. DNS errors are reported explicitly.
03 — TRY IT YOURSELF
test tokens / analysis
Base Sepolia · chain ID 84532
Without payment, the analysis endpoint returns HTTP 402 with payment terms in the header PAYMENT-REQUIRED.
curl -i \
'https://api.x4-02.fr/v1/domain/check?domain=example.com'Check service health only: /health ↗ (free).
Download the client and install the x402 SDK. Its initial check needs no key and makes no payment.
python3 -m venv .venv
source .venv/bin/activate
pip install 'x402[evm]==2.26.0' web3
python client.pyFund a dedicated wallet with test USDC on Base Sepolia using the Circle faucet ↗. Then run:
python client.py --payThe client prompts for the private key without displaying or saving it. Use a dedicated test wallet only.
Before signing, the client checks the network, USDC contract, recipient and amount. It verifies on-chain settlement and replay rejection. Payment errors are never retried automatically.
THE DETAILS THAT MATTER
No. Only Base Sepolia (eip155:84532) and test USDC are accepted. The complete payment flow and replay rejection have been tested; this is not an uptime guarantee or a security audit.
No API key is needed. x402 protects the analysis endpoint. A payment authorization is required for a diagnostic; /health remains free.
Before payment: 60 requests per minute per IP and up to 16 active requests. After x402 validation: 30 requests per minute per IP and up to eight concurrent analyses. Limits are in memory in one process and reset on restart. Clients sharing a public IP share a quota.
Yes. Complete results may be cached for up to 60 seconds, without exceeding the lowest positive DNS TTL. The cached field indicates this. Cached responses still require payment per request.
No. This page does not connect a wallet or ask for secrets. The Python client runs on your machine and only prompts for a key with --pay. Never share your key with a website or in a message.