Discovery
Machine-readable resource discovery for AI agents and facilitator crawlers.
Discovery
Dial implements the Bazaar extension for x402 resource discovery. This lets agents and facilitator crawlers automatically find all available endpoints, pricing, and payment requirements.
Endpoints
| Path | Purpose |
|---|---|
GET /discovery/resources | Bazaar-standard resource catalog (paginated) |
GET /.well-known/x402 | Protocol metadata (version, networks, facilitators) |
GET /api/v1/discovery | Legacy discovery (backward-compatible) |
Bazaar Discovery
curl https://x402.dial.wtf/discovery/resources{
"x402Version": 2,
"provider": {
"name": "Dial x402",
"description": "Telephony and OSINT primitives...",
"homepage": "https://github.com/Dial-WTF/x402-dial"
},
"facilitators": [
"https://facilitator.openx402.ai"
],
"resources": [
{
"x402Version": 2,
"resource": "https://x402.dial.wtf/api/v1/messages/send",
"type": "http",
"method": "POST",
"description": "Send SMS to any phone number worldwide",
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "10000",
"payTo": "0x..."
}
],
"metadata": {
"category": "messaging",
"tags": ["sms", "telephony"],
"status": "live"
}
}
],
"total": 7
}Pagination
curl "https://x402.dial.wtf/discovery/resources?offset=0&limit=10"
curl "https://x402.dial.wtf/discovery/resources?type=http"Protocol Metadata
curl https://x402.dial.wtf/.well-known/x402{
"x402Version": 2,
"provider": {
"name": "Dial x402",
"description": "Telephony and OSINT primitives...",
"homepage": "https://github.com/Dial-WTF/x402-dial"
},
"networks": ["eip155:8453"],
"facilitators": ["https://facilitator.openx402.ai"],
"discovery": "https://x402.dial.wtf/discovery/resources",
"payTo": "0x..."
}OpenX402 Registration
Dial is registered with the OpenX402 facilitator. Once registered, endpoints appear in the OpenX402 discovery catalog and on your project page at openx402.ai/projects/{payTo}.
SDK Usage
import { DialClient } from "@dial/sdk";
const dial = new DialClient({ baseUrl: "https://x402.dial.wtf" });
// Bazaar-standard discovery
const catalog = await dial.discovery.bazaar();
console.log(catalog.resources);
// Protocol metadata
const meta = await dial.discovery.wellKnown();
console.log(meta.networks, meta.facilitators);