API reference
Every ProbeKit check is an HTTP endpoint, paid per request with x402 in USDC. No account, no API key and no subscription.
Examples use the Base (eip155:8453) network.
Updated 2026-10-09
DNS
| Endpoint | Method and path | Price |
|---|---|---|
| DNS lookup | GET /v1/dns/lookup | $0.005 per request |
| Endpoint | Method and path | Price |
|---|---|---|
| Mail configuration check | GET /v1/mail/check | $0.03 per request |
| Bulk mail configuration check | POST /v1/mail/check/bulk | $0.024 per item, minimum $0.03 per request, at most 20 items |
| DKIM record check | GET /v1/mail/dkim | $0.01 per request |
| DMARC check | GET /v1/mail/dmarc | $0.01 per request |
| MX lookup | GET /v1/mail/mx | $0.01 per request |
| SPF check | GET /v1/mail/spf | $0.01 per request |
| Free retry of failed bulk items | POST /v1/mail/check/bulk/retry | Free |
Payment
A request without payment is answered with 402 Payment Required and the exact price. An x402 client signs the payment and sends the same request again with the PAYMENT-SIGNATURE header. Only ordinary wallets (EOA) can pay: a smart-contract wallet signature (ERC-1271 or ERC-6492) gets a 402 that says so, and nothing is charged. See payments.
Response envelope
| Field | Meaning |
|---|---|
request_id | Unique id of this request. Quote it when you contact support. |
endpoint | The endpoint id, for example mail.spf. |
schema_version | Version of the response format, currently 1.0. |
checked_at | When the check ran (ISO 8601, UTC). |
status | ok, info, warning or error from the worst finding, or unknown when the check was incomplete. unknown is not an error in the domain. |
data | The check's own data. Its fields are listed below. |
findings | What was found: code, severity, message, explanation and evidence. |
meta | Duration, cache use, resolver and how long the result stays fresh. |
Errors
Errors other than 402 share one JSON body with error, message, request_id and details. You are never charged for an error. See errors.