# NIGHTSHIFT Payment Verify

> NIGHTSHIFT Payment Verify is a paid API for AI agents from getnightshift.tech, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-26).

Verifies whether a blockchain payment transaction has been confirmed, checking recipient, token, amount, and chain against expected values

## Facts

- Endpoint: GET https://getnightshift.tech/api/v1/payment-verify?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nightshift-payment-verify-07e63990
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kyM9A8rghwz8-IpyB-Np3

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-payment-verify-07e63990
```

Example prompt: Can you check if the Base transaction 0xabc123... was successfully sent to my wallet 0xdef456... for at least 10 USDC? Let me know if it's confirmed and whether everything matches what I expected.

## When to prefer this

Use this endpoint when you need to confirm that a specific on-chain payment transaction was successfully completed on Ethereum mainnet or Base, and validate that the recipient, token, and amount match expected values before delivering a service or unlocking access. It is especially useful in x402 payment flows where an AI agent must verify payment proof before proceeding.

## Known failure modes

- Transaction not yet mined — status returns 'pending' with 0 confirmations and null fields
- Invalid or non-existent transaction hash — may return null fields and reasons array explaining the failure
- Unsupported chain value — only 'ethereum' and 'base' are accepted
- Recipient address mismatch — matchesExpected returns false with reason listed
- Amount below minAmount threshold — matchesExpected returns false
- Network or data source unavailable — reflected in the 'unavailable' array field

## 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

A JSON object containing: payment status (e.g. 'pending', 'confirmed'), number of confirmations, sender and recipient addresses, token address, amount as a decimal string, a boolean indicating whether the transaction matches the expected parameters, an array of reasons if it does not match, and a list of any data sources that were unavailable during the check.

## 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",
     "required": [
      "chain",
      "tx",
      "recipient"
     ],
     "properties": {
      "tx": {
       "type": "string",
       "description": "Transaction hash"
      },
      "chain": {
       "enum": [
        "ethereum",
        "base"
       ],
       "type": "string",
       "description": "Mainnet chain"
      },
      "token": {
       "type": "string",
       "description": "USDC (default) or ERC-20 address"
      },
      "minAmount": {
       "type": "string",
       "description": "Minimum token amount, decimal string (default 0)"
      },
      "recipient": {
       "type": "string",
       "description": "Expected recipient address"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "service",
      "unavailable",
      "status",
      "confirmations",
      "from",
      "to",
      "token",
      "amount",
      "matchesExpected",
      "reasons"
     ],
     "properties": {
      "to": {
       "type": [
        "string",
        "null"
       ]
      },
      "from": {
       "type": [
        "string",
        "null"
       ]
      },
      "token": {
       "type": [
        "string",
        "null"
       ]
      },
      "amount": {
       "type": [
        "string",
        "null"
       ]
      },
      "status": {
       "type": "string"
      },
      "reasons": {
       "type": "array"
      },
      "service": {
       "type": "string"
      },
      "unavailable": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "Sources or checks that could not answer; never evidence of safety."
      },
      "confirmations": {
       "type": [
        "number",
        "null"
       ]
      },
      "matchesExpected": {
       "type": [
        "boolean",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": null,
  "from": null,
  "token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "amount": null,
  "status": "pending",
  "reasons": [
   "No mined receipt yet."
  ],
  "service": "payment-verify",
  "unavailable": [],
  "confirmations": 0,
  "matchesExpected": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nightshift-payment-verify-07e63990/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)
