# PayWeave Relay – Webhook Inbox Event Poller

> PayWeave Relay – Webhook Inbox Event Poller is a paid API for AI agents from relay.payweave.services, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Long-polls a durable webhook inbox to retrieve incoming HTTP callback events (requests, approvals, or signals) received since a given cursor position.

## Facts

- Endpoint: GET https://relay.payweave.services/inboxes/%7Bid%7D/events
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payweave-relay-webhook-inbox-event-poller-5f275115
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5-mIGYQZF7Z-KuO_sH-DO

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 payweave-relay-webhook-inbox-event-poller-5f275115
```

Example prompt: Check my PayWeave Relay inbox 'abc123' for any new webhook events, wait up to 30 seconds for one to arrive, and start from cursor position 0 so I get everything from the beginning.

## When to prefer this

Use this endpoint when your AI agent needs to receive asynchronous HTTP callbacks, approvals, or signals without keeping a persistent connection open. Ideal for agentic workflows where an external service will POST a response (e.g. human approval, OAuth redirect, third-party callback) to a known inbox URL and the agent needs to pick it up efficiently. Prefer this over raw HTTP listeners or managed queues when you want durable, pay-per-use inbox semantics with long-poll support and cursor-based pagination.

## Known failure modes

- Inbox ID not found — returns 404 if the specified inbox does not exist
- wait parameter exceeds 30 seconds — capped or rejected with a 400 error
- Stale or invalid cursor in 'since' — may return empty events or an error
- Payment not attached or insufficient — returns 402 Payment Required since this is a pay-per-call x402 endpoint
- Timeout with no events — returns empty events array after the wait period expires
- Rate limiting if polled too aggressively — may return 429

## How this service works

Durable webhook inboxes for agents. Receive callbacks and approvals without holding a connection open.

## Output

Returns an array of webhook events each containing sequence number, unique ID, received timestamp, HTTP method, headers, query params, body content, content-type, and a truncation flag. Also returns the latest cursor for the next poll and a count of any dropped events since the last cursor.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "wait": {
   "type": "integer",
   "description": "Seconds to long-poll for the next event (max 30); returns as soon as one arrives."
  },
  "since": {
   "type": "integer",
   "description": "Cursor from a previous response; returns only events newer than this seq."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "events",
  "cursor",
  "dropped"
 ],
 "properties": {
  "label": {
   "type": "string"
  },
  "cursor": {
   "type": "number"
  },
  "events": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "seq",
     "id",
     "receivedAt",
     "method",
     "headers",
     "query",
     "body",
     "bodyTruncated",
     "contentType"
    ],
    "properties": {
     "id": {
      "type": "string"
     },
     "seq": {
      "type": "number"
     },
     "body": {
      "type": [
       "string",
       "null"
      ]
     },
     "query": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "method": {
      "type": "string"
     },
     "headers": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "receivedAt": {
      "type": "number"
     },
     "contentType": {
      "type": [
       "string",
       "null"
      ]
     },
     "bodyTruncated": {
      "type": "boolean"
     }
    },
    "additionalProperties": false
   }
  },
  "dropped": {
   "type": "number"
  },
  "metadata": {
   "type": "object",
   "additionalProperties": {}
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payweave-relay-webhook-inbox-event-poller-5f275115/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from relay.payweave.services](https://www.zero.xyz/host/relay.payweave.services/llms.txt)
