Service discovery
The gateway catalog is the source of services for which the gateway will actually mint a 402. There is no sample-data fallback.
List services
GET /v1/services
GET /v1/services?q=<query>Example response shape:
{
"count": 1,
"services": [
{
"id": "service-id",
"name": "Service name",
"description": "What one paid call returns",
"method": "POST",
"path": "/v1/resource",
"resourceUrl": "https://gateway.example/v1/resource",
"price": "250000",
"asset": "0x...::usdc::USDC",
"decimals": 6,
"payTo": "0x...",
"network": "sui:testnet",
"dialects": ["mpp"],
"rail": "delegate",
"mimeType": "application/json",
"status": "live",
"managed": false,
"brand": null,
"activeRevision": 1
}
]
}Values illustrate types, not deployable terms. price is an exact atomic
integer string. Use asset and decimals together for display and keep the
integer for authorization.
rail is the settlement engine. For agent commerce expect a spend account
(wire tag delegate). The V1 allowance rail is retired; do not plan new
integrations against it.
Read one service
GET /v1/services/{id}
GET /v1/services/{id}.mdThe JSON resource is authoritative for machine terms. The Markdown form is an agent-readable description. An authenticated owner may receive additional safe management fields, but credential locators are never returned.
Use resourceUrl for the paid call, and compare id, method, path, asset, and
recipient with the owner's active policy target. Fetching the catalog does not
authorize a purchase.
Registration (sellers)
Canonical create path on the gateway: POST /v1/register (draft, then activate
via the owner surface). See Seller quickstart.
Related discovery surfaces
GET /SKILL.md
GET /llms.txt
GET /.well-known/mcp.json/SKILL.md is the agent skill contract for safe discovery and payment.
/llms.txt is a short index of live endpoints.