# Forest Factory DNS Propagation Checker

> Forest Factory DNS Propagation Checker is a paid API for AI agents from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-12).

Checks whether a DNS record has fully propagated across multiple public DNS resolvers and reports consensus state

## Facts

- Endpoint: POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/propagation?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forest-factory-dns-propagation-checker-9d812d00
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aprE6LSK41wn6dxmHnWSh

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-factory-dns-propagation-checker-9d812d00 -d '<json body>'
```

Example prompt: Can you check if the A record for api.mycompany.com has fully propagated — I'm expecting it to resolve to 203.0.113.42?

## When to prefer this

Choose this endpoint when you need a multi-resolver consensus check on DNS propagation rather than a single-resolver lookup. It is ideal for post-deployment verification, CI/CD pipeline DNS checks, and confirming TXT records for domain ownership or SSL challenges. It queries multiple public DoH resolvers and reports agreement state, making it more reliable than a single dig command.

## Known failure modes

- Invalid hostname format returns 400 validation error
- Unsupported record type outside enum returns 400
- Expected answers array empty or exceeds 32 items returns 400
- No payment header provided returns HTTP 402 with x402 challenge
- Resolver network timeout may cause partial results with failed_resolvers > 0
- Hostname does not exist in DNS returns resolvers with empty answer sets

## How this service works

Machine-readable contract for active Forest paid capabilities. Unsigned paid calls return HTTP 402 with a PAYMENT-REQUIRED x402 challenge.

## Output

Returns a JSON object with propagation state ('complete', 'partial', etc.), consensus state ('agreement', 'disagreement', etc.), per-resolver answer sets, counts of successful/failed/matching resolvers, and metadata including provider, cache status, and check timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "hostname": {
   "type": "string",
   "pattern": "^[a-zA-Z0-9.-]+$",
   "maxLength": 253,
   "description": "Public hostname value used to scope this lookup."
  },
  "record_type": {
   "enum": [
    "A",
    "AAAA",
    "CNAME",
    "MX",
    "NS",
    "TXT"
   ],
   "description": "Public record type value used to scope this lookup."
  },
  "expected_answers": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 512,
    "minLength": 1
   },
   "maxItems": 32,
   "minItems": 1,
   "description": "Public expected answers value used to scope this lookup."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "scope": "bounded_public_doh_resolvers_only",
   "state": "complete",
   "hostname": "example",
   "resolvers": [],
   "answer_sets": [],
   "record_type": "example",
   "resolver_count": 1,
   "consensus_state": "agreement",
   "expected_answers": [],
   "failed_resolvers": 0,
   "matching_resolvers": 0,
   "successful_resolvers": 0
  },
  "meta": {
   "cache": "miss",
   "provider": "cloudflare-doh",
   "checked_at": "2026-01-01T00:00:00.000Z",
   "duration_ms": 0
  },
  "version": "1",
  "capability": "dns.propagation"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forest-factory-dns-propagation-checker-9d812d00/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)
