Forest Infra
Check whether a DNS change has reached the configured public resolvers. Compare public DoH answers with an optional expected answer set and return complete, partial, not_observed or unknown. Scope is a fixed bounded resolver set; Forest does not claim worldwide propagation. Base mainnet USDC
Offering
- Provider
- http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Infrastructure
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/propagation- MIME type
- Not provided
- First seen
- 2026-10-16T01:50:45.949Z
- Last seen
- Tags
- DNS, deployment, Readiness, propagation
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"payTo": "0xb48D918151311F982d542eF5C84cc1cd54CFf7a9"
}
]Observed health
- Status
- Reachable
- Latest latency
- 259 ms
- Average latency
- 1011 ms
- HTTP status
- 405
- Last checked
- Reachability
- 100% over 12 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"expected_answers": {
"description": "Public expected answers value used to scope this lookup.",
"items": {
"maxLength": 512,
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"hostname": {
"description": "Public hostname value used to scope this lookup.",
"maxLength": 253,
"pattern": "^[a-zA-Z0-9.-]+$",
"type": "string"
},
"record_type": {
"description": "Public record type value used to scope this lookup.",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"TXT"
]
}
},
"required": [
"hostname",
"record_type"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"expected_answers": {
"description": "Public expected answers value used to scope this lookup.",
"items": {
"maxLength": 512,
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"hostname": {
"description": "Public hostname value used to scope this lookup.",
"maxLength": 253,
"pattern": "^[a-zA-Z0-9.-]+$",
"type": "string"
},
"record_type": {
"description": "Public record type value used to scope this lookup.",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"TXT"
]
}
},
"required": [
"hostname",
"record_type"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"capability": {
"const": "dns.propagation",
"description": "Public capability value used to scope this lookup."
},
"data": {
"additionalProperties": false,
"description": "Public data value used to scope this lookup.",
"properties": {
"answer_sets": {
"description": "Public answer sets value used to scope this lookup.",
"items": {
"additionalProperties": false,
"properties": {
"answers": {
"description": "Public answers value used to scope this lookup.",
"items": {
"type": "string"
},
"type": "array"
},
"rcode": {
"description": "Public rcode value used to scope this lookup.",
"type": "string"
},
"resolvers": {
"description": "Public resolvers value used to scope this lookup.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"rcode",
"answers",
"resolvers"
],
"type": "object"
},
"type": "array"
},
"consensus_state": {
"description": "Public consensus state value used to scope this lookup.",
"enum": [
"agreement",
"disagreement",
"insufficient_data",
"unknown"
]
},
"expected_answers": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Public expected answers value used to scope this lookup."
},
"failed_resolvers": {
"description": "Public failed resolvers value used to scope this lookup.",
"maximum": 3,
"minimum": 0,
"type": "integer"
},
"hostname": {
"description": "Public hostname value used to scope this lookup.",
"type": "string"
},
"matching_resolvers": {
"description": "Public matching resolvers value used to scope this lookup.",
"maximum": 3,
"minimum": 0,
"type": "integer"
},
"record_type": {
"description": "Public record type value used to scope this lookup.",
"type": "string"
},
"resolver_count": {
"description": "Public resolver count value used to scope this lookup.",
"maximum": 3,
"minimum": 1,
"type": "integer"
},
"resolvers": {
"description": "Public resolvers value used to scope this lookup.",
"items": {
"additionalProperties": false,
"properties": {
"answers": {
"description": "Public answers value used to scope this lookup.",
"items": {
"type": "string"
},
"type": "array"
},
"rcode": {
"description": "Public rcode value used to scope this lookup.",
"type": [
"string",
"null"
]
},
"resolver": {
"description": "Public resolver value used to scope this lookup.",
"type": "string"
},
"state": {
"description": "Public state value used to scope this lookup.",
"enum": [
"ok",
"error"
]
},
"ttl_max": {
"description": "Public ttl min value used to scope this lookup.",
"type": [
"integer",
"null"
]
},
"ttl_min": {
"description": "Public ttl min value used to scope this lookup.",
"type": [
"integer",
"null"
]
}
},
"required": [
"resolver",
"state",
"rcode",
"answers",
"ttl_min",
"ttl_max"
],
"type": "object"
},
"type": "array"
},
"scope": {
"const": "bounded_public_doh_resolvers_only",
"description": "Public scope value used to scope this lookup."
},
"state": {
"description": "Public state value used to scope this lookup.",
"enum": [
"complete",
"partial",
"not_observed",
"unknown"
]
},
"successful_resolvers": {
"description": "Public successful resolvers value used to scope this lookup.",
"maximum": 3,
"minimum": 0,
"type": "integer"
}
},
"required": [
"hostname",
"record_type",
"resolver_count",
"successful_resolvers",
"failed_resolvers",
"answer_sets",
"resolvers",
"state",
"consensus_state",
"expected_answers",
"matching_resolvers",
"scope"
],
"type": "object"
},
"meta": {
"additionalProperties": false,
"description": "Public meta value used to scope this lookup.",
"properties": {
"cache": {
"description": "Public cache value used to scope this lookup.",
"enum": [
"hit",
"miss",
"bypass"
]
},
"checked_at": {
"description": "Public checked at value used to scope this lookup.",
"type": "string"
},
"duration_ms": {
"description": "Public duration ms value used to scope this lookup.",
"minimum": 0,
"type": "integer"
},
"provider": {
"description": "Public provider value used to scope this lookup.",
"type": [
"string",
"null"
]
}
},
"required": [
"provider",
"checked_at",
"cache",
"duration_ms"
],
"type": "object"
},
"ok": {
"const": true,
"description": "Public ok value used to scope this lookup."
},
"version": {
"const": "1",
"description": "Package version whose public metadata should be checked."
}
},
"required": [
"ok",
"capability",
"version",
"data",
"meta"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}