mirrored listing x402 eip155:8453solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Give this API a hostname or IP address and it tries connecting to each port in your reques

Give this API a hostname or IP address and it tries connecting to each port in your requested range. For every port that answers it reports whether it is open or blocked, which service is likely running there (a web server, SSH), and what software version was detected. Saves you installing network tools, parsing command-line output, or writing socket loops. Only scan hosts you own or have permission to scan - this tool does not check that for you.

Do you run port-scanner.underscoredone.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
5
calls / 30d
3
unique payers
2026-09-14
updated

Provider

port-scanner.underscoredone.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "ports": "1-1000",
          "scan_type": "tcp_connect",
          "target": "scanme.nmap.org",
          "timeout": 30
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "api_version": "1.0.0",
          "closed_or_filtered_count": 998,
          "complete": true,
          "duration_ms": 4521,
          "open_ports": [
            {
              "port": 22,
              "protocol": "tcp",
              "service": "ssh",
              "state": "open",
              "version": "OpenSSH 8.2p1"
            },
            {
              "port": 80,
              "protocol": "tcp",
              "service": "http",
              "state": "open",
              "version": "Apache httpd 2.4.41"
            }
          ],
          "ports_requested": 1000,
          "ports_scanned": 1000,
          "resolved_ip": "45.33.32.156",
          "scan_type": "tcp_connect",
          "target": "scanme.nmap.org",
          "warning": ""
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "additionalProperties": false,
              "properties": {
                "ports": {
                  "description": "Which ports to check. Use a range like '1-1000', a comma-separated list like '22,80,443', or leave this out to automatically check the 1000 most commonly used ports.",
                  "type": "string"
                },
                "scan_type": {
                  "description": "How to probe each port. The only supported value right now is 'tcp_connect', which tries to open a full connection - the same way a browser or app would. Defaults to 'tcp_connect' if left out.",
                  "type": "string"
                },
                "target": {
                  "description": "The hostname (like 'example.com') or numeric IP address (like '93.184.216.34') you want to scan. Must be a real, reachable address.",
                  "type": "string"
                },
                "timeout": {
                  "description": "How many seconds the scan is allowed to run before giving up. Must be between 5 and 60. Defaults to 30 if left out.",
                  "type": "integer"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "api_version": {
                  "type": "string"
                },
                "closed_or_filtered_count": {
                  "type": "integer"
                },
                "complete": {
                  "type": "boolean"
                },
                "duration_ms": {
                  "type": "integer"
                },
                "open_ports": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "ports_requested": {
                  "type": "integer"
                },
                "ports_scanned": {
                  "type": "integer"
                },
                "resolved_ip": {
                  "type": "string"
                },
                "scan_type": {
                  "type": "string"
                },
                "target": {
                  "type": "string"
                },
                "warning": {
                  "type": "string"
                }
              },
              "required": [
                "api_version",
                "target",
                "resolved_ip",
                "scan_type",
                "duration_ms",
                "complete",
                "ports_requested",
                "ports_scanned",
                "open_ports",
                "closed_or_filtered_count",
                "warning"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://port-scanner.underscoredone.com/scan"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://port-scanner.underscoredone.com/scan");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://port-scanner.underscoredone.com/scan")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/3393.json, and this resource appears in /discovery/resources and /discovery/search.