# is-port-21-open-watch

> is-port-21-open-watch is a paid API for AI agents from ip.intel.rallylive.ca, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-10).

Checks whether port 21 (FTP) is open on a given host, compares with the previous result (kept 90 days), and returns the current status plus a changed flag with before/after field diffs.

## Facts

- Endpoint: GET https://ip.intel.rallylive.ca/watch/ip/port/21?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/is-port-21-open-watch-cd69c2b8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_orCljjY__t-I28WfjdVsm

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 is-port-21-open-watch-cd69c2b8
```

Example prompt: Check if port 21 is currently open on 203.0.113.45 and tell me if the status has changed since the last time you checked — I want to know what fields changed and when it was last seen.

## When to prefer this

Choose this endpoint when you need to detect changes to FTP (port 21) availability on a specific host over time, rather than just a one-time check. It is ideal for scheduled monitoring workflows, security alerting pipelines, or compliance checks where you need to know not just the current state but whether it has recently changed. It is preferable over a plain port check when historical comparison and drift detection matter.

## Known failure modes

- Host unreachable — port scan times out with no result
- Invalid or malformed IP address — request rejected
- No previous record found — 'changed' field may be null or baseline missing
- Payment failure — x402 payment not accepted, check not run
- Rate limiting — too many requests in a short window

## How this service works

Change watch for is port 21 open: runs the check, compares it with the result from your previous call for the same host (kept 90 days) and returns the current answer, changed true/false, the fields that changed with before/after values, and when it was last seen. Schedule it to be alerted when this changes. $0.02 per check.

## Output

Returns the current open/closed status of port 21, a boolean 'changed' field indicating whether it differs from the previous check, an object listing which fields changed with their before and after values, and a timestamp of when the status was last seen. Results are compared against a stored baseline from up to 90 days ago.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/is-port-21-open-watch-cd69c2b8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ip.intel.rallylive.ca](https://www.zero.xyz/host/ip.intel.rallylive.ca/llms.txt)
