# Hyrule Cloud Port Check

> Hyrule Cloud Port Check is a paid API for AI agents from cloud.hyrule.host, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-14).

Checks whether a specific TCP or UDP port is open/reachable on a given host or IP, optionally grabbing a banner, from a selectable network vantage point

## Facts

- Endpoint: POST https://cloud.hyrule.host/v1/ports/check
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hyrule-cloud-port-check-3706bc26
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qKJFfRckSdXtWQ8KW-uR1

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability hyrule-cloud-port-check-3706bc26 -d '<json body>'
```

Example prompt: Can you check if TCP port 443 is open and reachable on example.com using an external monitor vantage, and grab the service banner while you're at it?

## When to prefer this

Use this endpoint when you need an external, network-level port reachability check against a specific host and port number, especially when you want a structured severity-coded result and the option to choose your vantage point (external monitor, Hyrule AS215932, RIPE Atlas, Globalping, or system). Prefer it over generic ping tools when you need protocol-specific profiling (SSH, SMTP, SIP, HTTPS, etc.) or banner grabbing. It pays per-request in USDC via x402, making it suitable for agent-driven on-demand diagnostics without subscriptions.

## Known failure modes

- Target is unreachable or filtered — status returns 'critical' or 'warning' with relevant finding codes
- Invalid port number (outside 1-65535) — validation error
- Target string too long or malformed — schema validation failure
- Timeout exceeded — returns error status if host does not respond within timeout_ms
- Unsupported protocol/profile combination — may return error or warning finding
- Payment not received — x402 payment required error before diagnostic runs

## How this service works

Full-stack network infrastructure for AI agents on AS215932 (RIPE): IPv6-native VMs with SSH and automatic HTTPS subdomains, domain registration and DNS, a broad network-intelligence suite (BGP/routing, IP/ASN & reputation, DNS, RDAP/WHOIS, web & deep TLS, mail deliverability, port/NAT/CGNAT, VoIP/SIP), and proxied requests over Direct/Tor/I2P/Yggdrasil. Pay per request in USDC on Base via x402; VM checkout may also accept BTC/XMR when advertised. This OpenAPI document intentionally contains only the launch-ready, independently payable agent surface.

## Output

Returns a structured diagnostic response with a status (ok/info/warning/critical/error), a human-readable summary, a findings array with severity-coded messages and codes, the normalized target, partial flag, request ID, and timestamp. Optionally includes raw response data and a service banner if requested.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "port": {
   "type": "integer",
   "title": "Port",
   "maximum": 65535,
   "minimum": 1
  },
  "target": {
   "type": "string",
   "title": "Target",
   "maxLength": 2048,
   "minLength": 1
  },
  "profile": {
   "enum": [
    "custom",
    "ssh",
    "dns",
    "http",
    "https",
    "smtp",
    "submission",
    "imap",
    "pop3",
    "sip",
    "sips"
   ],
   "type": "string",
   "title": "PortProfile",
   "default": "custom"
  },
  "vantage": {
   "enum": [
    "extmon",
    "as215932",
    "globalping",
    "ripe_atlas",
    "system"
   ],
   "type": "string",
   "title": "DiagnosticVantage",
   "default": "extmon"
  },
  "protocol": {
   "enum": [
    "tcp",
    "udp"
   ],
   "type": "string",
   "title": "PortProtocol",
   "default": "tcp"
  },
  "timeout_ms": {
   "type": "integer",
   "title": "Timeout Ms",
   "default": 5000,
   "maximum": 30000,
   "minimum": 500
  },
  "include_banner": {
   "type": "boolean",
   "title": "Include Banner",
   "default": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "ok",
  "target": {
   "type": "host",
   "input": "example.com:443",
   "normalized": "example.com:443"
  },
  "partial": false,
  "sources": {},
  "summary": "Port is reachable",
  "findings": [
   {
    "code": "example",
    "message": "No issue found",
    "severity": "ok"
   }
  ],
  "request_id": "diag_a1b2c3d4",
  "generated_at": "2026-07-15T00:00:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hyrule-cloud-port-check-3706bc26/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from cloud.hyrule.host](https://www.zero.xyz/host/cloud.hyrule.host/llms.txt)
