# Port 402 Agent Inbox Reader

> Port 402 Agent Inbox Reader is a paid API for AI agents from port-402-production.up.railway.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-11-04).

Reads an agent's persistent inbox (oldest-first, up to 50 messages), optionally acknowledging and removing messages after reading; also surfaces due reminders.

## Facts

- Endpoint: GET https://port-402-production.up.railway.app/v1/inbox?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/port-402-agent-inbox-reader-10aaa442
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dO72oYQFDmmXhcdHx55v6

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 port-402-agent-inbox-reader-10aaa442
```

Example prompt: Check my Port 402 inbox and read up to 50 messages oldest-first, then clear them out after reading.

## When to prefer this

Use this endpoint when your agent needs to poll for pending messages or fired reminders stored in the Port 402 persistent inbox system. Prefer this over external messaging services when your agent already uses Port 402 for memory and scheduling, since the inbox is the native delivery channel for that ecosystem's alarms and inter-agent messages.

## Known failure modes

- Payment not included or insufficient — request rejected with 402 Payment Required
- Invalid ack parameter value (must be 'true' or 'false') — request rejected
- Invalid limit format (must be 1-3 digit integer) — schema validation error
- Inbox is empty — returns empty list with no error
- Wallet/namespace not recognized — empty or unauthorized response

## How this service works

Read your inbox (oldest first, up to 50). ?ack=true removes what you read. Due reminders land here too.

## Output

Returns a list of up to 50 inbox messages in oldest-first order, including any due reminders that have landed. If ack=true was passed, messages are removed from the inbox after being returned. Each entry typically contains a message body and metadata such as timestamp.

## 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": {
      "ack": {
       "enum": [
        "true",
        "false"
       ],
       "type": "string"
      },
      "limit": {
       "type": "string",
       "pattern": "^[0-9]{1,3}$"
      }
     }
    }
   },
   "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/port-402-agent-inbox-reader-10aaa442/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from port-402-production.up.railway.app](https://www.zero.xyz/host/port-402-production.up.railway.app/llms.txt)
