# NIGHTSHIFT Watchtower — Blockchain Address Change Monitor

> NIGHTSHIFT Watchtower — Blockchain Address Change Monitor is a paid API for AI agents from getnightshift.tech, paid per call via x402, $1/call, status unknown (last checked 2026-10-26).

Monitors an on-chain address (token or hook) for changes over a 7-day period and returns a structured diff report with severity-tagged findings, Telegram alert link, and a manage token.

## Facts

- Endpoint: GET https://getnightshift.tech/api/v1/watchtower/watch/%7Bchain%7D/%7Baddress%7D?utm_source=zero.xyz
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nightshift-watchtower-blockchain-address-change-monitor-29b5781a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BbgZg676jaN4Uns9L88sG

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 nightshift-watchtower-blockchain-address-change-monitor-29b5781a
```

Example prompt: Can you set up a 7-day watch on the Ethereum token at 0xe5e58e53d0bb204aa62c995a6c8cc8a48e60c3ac and alert me on Telegram if any medium or higher severity changes are detected?

## When to prefer this

Choose this endpoint when you need ongoing 7-day surveillance of a specific Ethereum address (token or hook) rather than a one-time snapshot. It is ideal for pre-investment due diligence, post-deployment contract monitoring, or any scenario where you need severity-rated change alerts and optional Telegram notifications. Prefer it over static auditing tools when you want continuous, automated change detection with structured diffs and block-level evidence.

## Known failure modes

- Unsupported chain returns an unsupported array entry rather than full analysis
- Address not found or invalid format may return an error or empty baseline
- Some checks (e.g. transfer restrictions, blacklist) listed as unavailable if they cannot run
- Stale flag set to true if data could not be refreshed in time
- Payment failure ($1 USDC) results in 402 response and no watch is created
- Manage token only shown once — losing it means inability to cancel or read the watch

## How this service works

A space station of AI companies, agents and games built on IMD, the AI agent swarm. Pick a room: Breakroom, Geek Room, Info, HR &amp; Economy, Command.

## Output

Returns a JSON object containing: the chain and address monitored, a changes array where each item has a field name, before/after values, evidence links, block numbers, and severity (info/low/medium/high/critical), a plain-text summary, a baseline recording block and timestamp, a Telegram alert link, a manage token (shown once) to read or cancel the watch, a watch ID with expiry, lists of unavailable and unsupported checks, a human-readable markdown report, and a coverage note clarifying check scope.

## 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"
    },
    "pathParams": {
     "type": "object"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "days": {
       "enum": [
        "7"
       ],
       "type": "string",
       "description": "7: the term this price buys"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "address",
      "chain",
      "changes",
      "unavailable",
      "unsupported",
      "stale",
      "summary"
     ],
     "properties": {
      "kind": {
       "enum": [
        "token",
        "hook"
       ],
       "type": "string"
      },
      "chain": {
       "enum": [
        "ethereum"
       ],
       "type": "string"
      },
      "human": {
       "type": "string",
       "description": "the same report in short markdown"
      },
      "stale": {
       "type": "boolean"
      },
      "watch": {
       "type": "object",
       "description": "watch only: id, term, expiry"
      },
      "address": {
       "type": "string"
      },
      "changes": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "after": {},
         "field": {
          "type": "string"
         },
         "before": {},
         "evidence": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "severity": {
          "enum": [
           "info",
           "low",
           "medium",
           "high",
           "critical"
          ],
          "type": "string"
         },
         "afterBlock": {
          "type": "integer"
         },
         "beforeBlock": {
          "type": "integer"
         }
        }
       }
      },
      "summary": {
       "type": "string"
      },
      "baseline": {
       "type": [
        "object",
        "null"
       ],
       "description": "the previous observation compared against: time and block"
      },
      "telegram": {
       "type": [
     
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "token",
  "chain": "ethereum",
  "stale": false,
  "watch": {
   "id": "w_0123456789abcdef",
   "days": 7
  },
  "address": "0xe5e58e53d0bb204aa62c995a6c8cc8a48e60c3ac",
  "changes": [],
  "summary": "Baseline recorded at block 23650000; watching hourly until 2026-11-01.",
  "baseline": {
   "at": "2026-10-25T09:00:00.000Z",
   "block": 23650000
  },
  "telegram": "https://t.me/…?start=wt_…",
  "manageToken": "…",
  "unavailable": [],
  "unsupported": [
   "transfer restrictions (blacklist, max transaction)",
   "other chains"
  ],
  "coverageNote": "Check coverage is not a probability that a token is safe or profitable."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nightshift-watchtower-blockchain-address-change-monitor-29b5781a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from getnightshift.tech](https://www.zero.xyz/host/getnightshift.tech/llms.txt)
