~/agents
agent integration

One catalog. Two agent paths.

Headless agents call the public API directly. Browser agents can discover, quote, sign, pay, and consume diagnostics through the visible toolbox. Both paths use the same enabled-only OpenAPI contract and live x402 challenge.

a. direct API

402 is the quote.

Discovery prices are estimates. The unpaid request returns the exact base-unit amount, accepted networks, asset, and payee. Sign one acceptance and retry the identical request.

Headless golden path

1 · discoverGET /openapi.json
2 · requestPOST /v1/dns/lookup
3 · quote402 Payment-Required
4 · settlePayment-Signature: eyJ…
5 · consume200 / 202 / binary
# request without credentials
curl -i https://cloud.hyrule.host/v1/dns/lookup \
  -H 'content-type: application/json' \
  -d '{"name":"example.com","type":"AAAA"}'

# sign accept.amount exactly, then replay
curl https://cloud.hyrule.host/v1/dns/lookup \
  -H 'Payment-Signature: eyJ…' \
  -H 'content-type: application/json' \
  -d '{"name":"example.com","type":"AAAA"}'
b. browser agents

WebMCP keeps the work in the page.

When the browser supports WebMCP, the toolbox exposes a small set of state-aware tools. An agent can use the installed wallet or provide a payment payload signed by its own wallet. Hyrule adds no spending cap or confirmation step to agent calls.
toolpurpose
search_hyrule_diagnosticsSearch the currently enabled diagnostic catalog and update the visible selection.
quote_hyrule_diagnosticValidate input and return an ephemeral request-bound x402 quote.
pay_hyrule_diagnosticSign with the browser wallet or submit an agent-signed x402 payload.
get_hyrule_diagnostic_resultWait for jobs, page through sanitized results, and complete downloads.
WebMCP is progressive enhancement. Agents without a visible supported browser use the direct API path above.
c. enabled operations

The API controls what appears here.

Fresh from enabled-only OpenAPI. Tagged diagnostics run in the toolbox; product operations hand off to their purpose-built flow.
operationsurfacediscovery price
POST /v1/bgp/lookup
Inputs: subject type, subject value, datasets, views, sources, time, and more. Returns: request id, subject, resolved, results, assertions, sources, and more.
toolbox $0.005–$0.01
POST /v1/dns/blocklists/check
Inputs: domain. Returns: request id, input domain, normalized domain, verdict, categories, checked source count, and more.
toolbox $0.003
POST /v1/dns/filtering/check
Inputs: domain. Returns: request id, input domain, normalized domain, vantage, overall, blocked profile count, and more.
toolbox $0.01
POST /v1/dns/lookup
Inputs: name, type, resolver, dnssec, trace, timeout ms. Returns: request id, question, answers, authority, additional, rcode, and more.
toolbox $0.001
POST /v1/dns/propagation
Inputs: name, type, expected, resolvers, authoritative, timeout ms. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.001
POST /v1/ip/lookup
Inputs: address, views, max age seconds. Returns: request id, address, geo, network, reverse dns, rdap, and more.
toolbox $0.003
POST /v1/mx/jobs
Inputs: profile, target, checks, options. Returns: job id, job access token, status, target, profile, status url, and more.
toolbox $0.03
POST /v1/mx/check
Inputs: tool, target, command, options. Returns: request id, tool, target, status, summary, findings, and more.
toolbox $0.005
POST /v1/mx/bounce/parse
Inputs: message, context. Returns: status, classification, smtp status, remote mta, probable causes, recommended actions, and more.
toolbox $0.005
POST /v1/nat/port-forward/check
Inputs: target, port, protocol, profile, vantage, timeout ms, and more. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.005
POST /v1/ports/check
Inputs: target, port, protocol, profile, vantage, timeout ms, and more. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.003
POST /v1/rdap/lookup
Inputs: subject type, subject value, include raw, max age seconds. Returns: request id, subject, registry, bootstrap url, parsed, raw, and more.
toolbox $0.003
POST /v1/whois/lookup
Inputs: subject type, subject value, include raw, max age seconds. Returns: request id, subject, registry, server, parsed, raw, and more.
toolbox $0.005
POST /v1/tunnel/create
Inputs: hours, allowlist cidrs. Returns: tunnel id, token, endpoint host, ssh port, public port, ssh command, and more.
toolbox from $0.05
POST /v1/voip/check
Inputs: target, checks, sip port, timeout ms, include raw. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.01
POST /v1/web/tls/deep
Inputs: host, port, scan profile, checks, include raw. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.10
POST /v1/web/check
Inputs: target, checks, vantages, timeout ms, include raw. Returns: request id, status, summary, target, findings, sources, and more.
toolbox $0.005
POST /v1/vm/create
Inputs: duration days, size, resources, os, ssh pubkey, domain mode, and more. Returns: vm id, status, status url, estimated ready seconds, management token, management url.
product flow from $0.20
POST /v1/vm/quote
Lock a durable VM price quote (free; pass quote_id to POST /v1/vm/create). Free supporting route — no x402 payment required.
product flow Live 402 quote
DELETE /v1/vm/{vm_id}
Destroy a VM permanently (management token required). Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/vm/{vm_id}/logs
Provisioning log events (management token required). Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/vm/{vm_id}/status
Public provisioning and launch-proof status poll. Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/vm/quote/{quote_id}
Reload a previously locked VM quote. Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/vm/{vm_id}
Full VM view including SSH target (management token required). Free supporting route — no x402 payment required.
product flow Live 402 quote
POST /v1/vm/{vm_id}/reboot
Hard reboot a VM (management token required). Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/payments/networks
Enabled payment networks, receiver address, and facilitator. Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/pricing
Current price list for all resources. Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/products/vms
Machine-readable VM catalog with customization pricing. Free supporting route — no x402 payment required.
product flow Live 402 quote
GET /v1/os/list
Available OS templates. Free supporting route — no x402 payment required.
product flow Live 402 quote
POST /v1/network/request
Inputs: url, method, headers, body, proxy mode, timeout seconds. Returns: status code, headers, body, elapsed seconds, proxy mode, error.
product flow $0.01–$0.05
d. settlement rails

Networks are live configuration too.

The wallet UI and agent tools accept only network and token contracts currently returned by GET /v1/payments/networks.
01

Base

eip155:8453
USDC · EVM

02

Polygon

eip155:137
USDC · EVM

03

Arbitrum

eip155:42161
USDC · EVM

run

Use the catalog without leaving the site.

Humans and browser agents share the same visible request, exact quote, settlement, progress, and result state.