# Hyrule Cloud NAT Port Forward Check

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

Checks whether a specific TCP or UDP port on a target host is reachable and forwarded through NAT/CGNAT from an external vantage point

## Facts

- Endpoint: POST https://cloud.hyrule.host/v1/nat/port-forward/check
- Price: $0.005/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-nat-port-forward-check-056eb9a5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oNCEIAckK48EJepTp7ZQ2

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-nat-port-forward-check-056eb9a5 -d '<json body>'
```

Example prompt: Check if TCP port 2222 on my server at home.example.com is reachable from the internet — use the extmon vantage and grab the banner if you can.

## When to prefer this

Use this endpoint when you need external verification that a port is forwarded and reachable through NAT or CGNAT from a real internet vantage point, especially when testing home servers, self-hosted services, or VMs behind carrier-grade NAT. Prefer this over generic port scanners when you need structured diagnostic findings, banner grabbing, protocol-profile-aware probing, or when operating in an agent context requiring x402 per-request payment on Base.

## Known failure modes

- Target host unreachable — port closed or filtered, returned as 'critical' or 'warning' status
- Invalid port number outside 1–65535 range — schema validation error
- Timeout exceeded (up to 30000ms) — returned as 'error' or 'warning' status
- Invalid target format or hostname resolution failure — error status
- Vantage point temporarily unavailable — error status with explanation

## 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 diagnostic response with a status (ok/info/warning/critical/error), a human-readable summary, a list of findings with severity codes and messages, the resolved target info, optional raw probe data including service banner, and a request ID with timestamp.

## 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 forward 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-nat-port-forward-check-056eb9a5/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)
