Forest Packages
Fingerprint the normalized metadata state of one public GitHub release and optionally compare it with a caller-provided previous SHA-256 hash. Forest uses the existing bounded release lookup and does not download assets, inspect repository contents or mutate GitHub state. Base mainnet USDC
Offering
- Provider
- http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Development
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/changed- MIME type
- Not provided
- First seen
- 2026-10-16T01:50:45.949Z
- Last seen
- Tags
- release, GitHub, change-detection
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.002 USDC
Atomic price: 2000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "2000",
"payTo": "0xb48D918151311F982d542eF5C84cc1cd54CFf7a9"
}
]Observed health
- Status
- Reachable
- Latest latency
- 263 ms
- Average latency
- 502 ms
- HTTP status
- 405
- Last checked
- Reachability
- 100% over 13 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": {
"allow_prerelease": {
"description": "Public allow prerelease value used to scope this lookup.",
"type": "boolean"
},
"previous_hash": {
"description": "Earlier result hash used to detect a material change.",
"pattern": "^[a-fA-F0-9]{64}$",
"type": [
"string",
"null"
]
},
"release": {
"description": "Release identifier used to resolve a public asset.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"repository": {
"description": "Public owner/name repository to inspect.",
"maxLength": 300,
"minLength": 3,
"type": "string"
}
},
"required": [
"repository"
],
"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
{
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"capability": {
"const": "release.changed",
"description": "Public capability value used to scope this lookup."
},
"data": {
"additionalProperties": false,
"description": "Public data value used to scope this lookup.",
"properties": {
"allow_prerelease": {
"description": "Public allow prerelease value used to scope this lookup.",
"type": "boolean"
},
"changed": {
"description": "Public changed value used to scope this lookup.",
"type": [
"boolean",
"null"
]
},
"fingerprint_fields": {
"description": "Public fingerprint fields value used to scope this lookup.",
"items": {
"enum": [
"tag",
"name",
"draft",
"prerelease",
"published_at",
"asset_count"
]
},
"maxItems": 6,
"minItems": 6,
"type": "array"
},
"new_hash": {
"description": "Public new hash value used to scope this lookup.",
"pattern": "^[a-fA-F0-9]{64}$",
"type": "string"
},
"previous_hash": {
"description": "Earlier result hash used to detect a material change.",
"type": [
"string",
"null"
]
},
"release": {
"additionalProperties": false,
"description": "Release identifier used to resolve a public asset.",
"properties": {
"asset_count": {
"description": "Public asset count value used to scope this lookup.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"draft": {
"description": "Public draft value used to scope this lookup.",
"type": [
"boolean",
"null"
]
},
"name": {
"description": "Public DNS hostname to resolve.",
"type": [
"string",
"null"
]
},
"prerelease": {
"description": "Public prerelease value used to scope this lookup.",
"type": [
"boolean",
"null"
]
},
"published_at": {
"description": "Public published at value used to scope this lookup.",
"type": [
"string",
"null"
]
},
"tag": {
"description": "Mutable image tag whose current state should be resolved.",
"type": [
"string",
"null"
]
}
},
"required": [
"tag",
"name",
"draft",
"prerelease",
"published_at",
"asset_count"
],
"type": "object"
},
"repository": {
"description": "Public owner/name repository to inspect.",
"type": "string"
},
"requested_release": {
"description": "Public requested release value used to scope this lookup.",
"type": "string"
},
"scope": {
"const": "github_release_metadata_only_no_asset_download",
"description": "Public scope value used to scope this lookup."
}
},
"required": [
"repository",
"requested_release",
"allow_prerelease",
"changed",
"previous_hash",
"new_hash",
"release",
"fingerprint_fields",
"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"
}