Searches the public x402 discovery catalogue for services able to replace a brok
Searches the public x402 discovery catalogue for services able to replace a broken dependency. Give the failed URL and, better still, a short description of what it did and the fields you need back; matches are scored on overlap between your task words and the candidate name, description and path, then ordered by score and price. Every hit carries the reason it matched, its price in USDC, its network and when the catalogue last saw it.
Answeringour last check, 2026-10-10
1 of 1checks answered this week
1062 msmedian answer time
$0.005listed price per call
$0.005price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://agent.halowerk.com/v1/fallback-resolve
| Category | Market data |
|---|---|
| Provider host | agent.halowerk.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 3 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.005 | 1062 ms |
Example input (from the provider)
{
"body": {
"failed_url": "https://legacy.example.invalid/v1/weather/forecast",
"limit": 5,
"network": "eip155:8453",
"required_fields": [
"temperature",
"precipitation"
],
"task": "Weather forecast with temperature and precipitation."
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"failed_url": {
"description": "The endpoint that stopped working.",
"maxLength": 2000,
"type": "string"
},
"limit": {
"default": 10,
"description": "How many candidates to return.",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"max_price_usdc": {
"description": "Ignore candidates above this price per call.",
"minimum": 0,
"type": "number"
},
"network": {
"description": "Only candidates on this network, e.g. eip155:8453.",
"maxLength": 64,
"type": "string"
},
"required_fields": {
"default": [],
"description": "Field names you need in the answer. Candidates mentioning them score higher.",
"items": {
"type": "string"
},
"type": "array"
},
"task": {
"description": "What it did, in a few words. The single strongest signal for a good match.",
"maxLength": 500,
"type": "string"
}
},
"required": [
"failed_url"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}