# Forest Infra DNS Change Detector

> Forest Infra DNS Change Detector is a paid API for AI agents from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-02).

Detects material changes in public DNS records for a given hostname and record type using a deterministic hash, ignoring TTL-only changes.

## Facts

- Endpoint: POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/changed?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forest-infra-dns-change-detector-3ca9f8a7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6ckw6UlKf7iK2Oyuatxxl

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability forest-infra-dns-change-detector-3ca9f8a7 -d '<json body>'
```

Example prompt: Has the A record for api.example.com changed since my last check? Use the previous hash abc123def456 to detect any material DNS changes.

## When to prefer this

Use this endpoint when you need lightweight, noise-free DNS change monitoring that ignores irrelevant TTL fluctuations and focuses only on material answer changes. Prefer it over full DNS resolvers when you want a deterministic hash-based diffing approach for polling workflows, or when you need to detect DNS hijacking, CDN IP rotation, or mail provider switches without running your own resolver infrastructure. It is ideal for agents that poll periodically and need a cheap, reliable signal of DNS state change.

## Known failure modes

- Invalid hostname format — rejected by pattern validation (must match ^[a-z0-9.-]+$)
- Unsupported record type — only A, AAAA, CNAME, MX, NS, TXT are accepted
- DNS resolution failure — hostname does not exist or is unreachable publicly
- Malformed or unrecognized previous_hash — may result in forced change detection or error
- Payment failure — x402 micropayment not completed, request rejected
- Hostname too long — exceeds 253 character limit

## How this service works

Detect material public DNS answer changes with a deterministic hash. TTL-only changes do not count and no arbitrary resolver or AXFR operation is exposed. Base mainnet USDC

## Output

Returns whether the DNS answer for the specified hostname and record type has materially changed compared to the previous hash, along with a new deterministic hash of the current answer. TTL-only differences are excluded from change detection. The response indicates if a material change occurred and provides the updated hash for future comparisons.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string",
   "pattern": "^[a-z0-9.-]+$",
   "maxLength": 253,
   "description": "Public DNS hostname to resolve."
  },
  "type": {
   "enum": [
    "A",
    "AAAA",
    "CNAME",
    "MX",
    "NS",
    "TXT"
   ],
   "description": "DNS record type to query."
  },
  "previous_hash": {
   "type": "string",
   "description": "Earlier result hash used to detect a material change."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forest-infra-dns-change-detector-3ca9f8a7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run](https://www.zero.xyz/host/http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/llms.txt)
