FETCHX402

LIVE

host intel

Host intelligence

host intel bundle: DNS + TLS + WHOIS in one settle.

LIVE $0.015 USDC GET /v1/bundles/host-intel

When to use

host intel: DNS, leaf TLS, and WHOIS/RDAP for one hostname in a single settle. Use when you need live host facts together and must not guess. Child errors stay in-field; we do not invent data.

Try

Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.

/v1/bundles/host-intel?domain=example.com

Full URL: https://api.fetchx402.com/v1/bundles/host-intel?domain=example.com

Request

GET /v1/bundles/host-intel · x402 V2 · USDC on Base · $0.015 USDC

x402 V2 curl

Expect HTTP 402 and a PAYMENT-REQUIRED header until you retry with PAYMENT-SIGNATURE.

curl -i -H "Accept: application/json" "https://api.fetchx402.com/v1/bundles/host-intel?domain=example.com"

Cursor mcp.json

Intended config for @fetchx402/mcp. This is not npm @x402/fetch (a payment fetch wrapper).

{
  "mcpServers": {
    "fetchx402": {
      "args": [
        "-y",
        "@fetchx402/mcp"
      ],
      "command": "npx",
      "env": {
        "X402_PRIVATE_KEY": "0xYOUR_SPENDING_KEY"
      }
    }
  }
}

Query parameters

Name Type Required Description
domain string required Public fully-qualified domain name. Same Domain guards as the child tools. IPs, localhost, and internal/mDNS names are rejected.
dns_type string optional · A, AAAA, MX, TXT, CNAME, NS, SOA · default A DNS record type passed through to DNS Explorer. Defaults to A if omitted. Does not change TLS or RDAP.

Success fields

Field Type Description
domain string Normalized FQDN that was queried
dns object DNS Explorer JSON, or {error: {code, message}} if that child failed
ssl object SSL Inspector JSON, or {error: {code, message}} if that child failed
whois object WHOIS Intelligence JSON, or {error: {code, message}} if that child failed

Example

Frozen fixture. Not a live lookup.

{
  "dns": {
    "domain": "example.com",
    "rcode": "NOERROR",
    "records": [
      {
        "address": "104.20.23.154"
      }
    ],
    "resolver": "1.1.1.1",
    "ttl": 20,
    "type": "A"
  },
  "domain": "example.com",
  "ssl": {
    "cipher": "aes_256_gcm_sha384",
    "domain": "example.com",
    "expired": false,
    "fingerprint_sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "hostname_match": true,
    "issuer": "CN=DigiCert Global G3 TLS ECC SHA384 2020 CA1, O=DigiCert Inc, C=US",
    "not_after": "2027-01-15T23:59:59Z",
    "not_before": "2026-01-15T00:00:00Z",
    "not_yet_valid": false,
    "peer_ip": "23.215.0.138",
    "port": 443,
    "sans": [
      "www.example.org",
      "example.com",
      "example.net",
      "example.org"
    ],
    "serial": "0f1a2b3c4d5e6f708192a3b4c5d6e7f8",
    "signature_algorithm": "ecdsa-with-SHA384",
    "sni": "example.com",
    "subject": "CN=www.example.org, O=Internet Corporation for Assigned Names and Numbers, C=US",
    "tls_version": "tlsv1.3"
  },
  "whois": {
    "created_at": "1995-08-14T04:00:00Z",
    "dnssec": true,
    "domain": "example.com",
    "expires_at": "2025-08-13T04:00:00Z",
    "handle": "2336799_DOMAIN_COM-VRSN",
    "nameservers": [
      "a.iana-servers.net",
      "b.iana-servers.net"
    ],
    "rdap_server": "https://rdap.verisign.com/com/v1/",
    "registrar": {
      "iana_id": "376",
      "name": "RESERVED-Internet Assigned Numbers Authority"
    },
    "source": "rdap",
    "status": [
      "client delete prohibited",
      "client transfer prohibited",
      "client update prohibited"
    ],
    "updated_at": "2024-08-14T07:01:39Z"
  }
}

Payment

Unpaid requests return HTTP 402 with a base64 PAYMENT-REQUIRED header. Retry the same URL with PAYMENT-SIGNATURE. Settlement completes before the tool runs. Full handshake and shared payment errors: Payments.

Errors

HTTP Code When
400 invalid_domain Domain is missing, malformed, an IP address, or a blocked/internal name
400 invalid_type dns_type must be one of A, AAAA, MX, TXT, CNAME, NS, SOA
402 payment_required Missing or invalid PAYMENT-SIGNATURE; decode the PAYMENT-REQUIRED header
503 overloaded Tool concurrency cap reached; retry shortly
504 host_intel_timeout Host intelligence bundle timed out
409 payment_in_progress The same authorization nonce is already being settled; retry shortly
429 rate_limited Too many requests from this client
503 settlement_uncertain Settlement is unconfirmed; retry with the same PAYMENT-SIGNATURE
503 facilitator_unavailable Payment facilitator unavailable
503 facilitator_misconfigured Payment facilitator is not configured
503 facilitator_unauthorized Payment facilitator rejected credentials
503 ledger_unavailable Payment ledger unavailable
503 payment_unavailable Payment processing unavailable

Guarantees

  • Settlement finishes before the tool executes. Uncertain settlement fails closed (HTTP 503).
  • Lookups run on our nodes — no third-party data API wrappers.
  • Localhost, IP literals, and metadata hostnames are rejected.
  • Execution is timeout-bounded and concurrency-capped.