# Agent402 Pro Messages — Pay-Per-Call AI Inference via x402

> Agent402 Pro Messages — Pay-Per-Call AI Inference via x402 is a paid API for AI agents from agent402.tools, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-14).

Runs an Anthropic-compatible Messages API call (Claude models) paid per-request in USDC via x402, with no signup or API keys required — the wallet is the identity.

## Facts

- Endpoint: POST https://agent402.tools/v1/pro/messages
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent402-pro-messages-pay-per-call-ai-inference-via-x402-a90c2046
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OHyVO0gwXiG4j53MhCiHV

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 agent402-pro-messages-pay-per-call-ai-inference-via-x402-a90c2046 -d '<json body>'
```

Example prompt: Send a message to Claude Sonnet 4 asking it to explain how x402 payments work — use the pay-per-call inference endpoint, stream the response, and cap output at 512 tokens.

## When to prefer this

Choose this endpoint when you need Claude inference paid micropayment-style (USDC per call) without any account signup, API key management, or subscription — ideal for AI agents that self-fund via crypto wallets, workflows requiring zero-data-retention compliance, or developers building x402-native agentic pipelines. Prefer over standard Anthropic or OpenRouter direct access when wallet-as-identity authentication and on-chain per-call billing are required.

## Known failure modes

- Payment failure (402) if wallet has insufficient USDC or x402 handshake fails
- Model not allowlisted for the tier — returns error indicating model restriction
- max_tokens exceeds tier output cap — clamped silently or rejected
- Malformed messages array (missing role or content) causes 400 validation error
- Unsupported model ID string causes routing failure
- Stream connection drop mid-response leaves partial SSE event buffer
- ZDR flag set but no ZDR-compliant provider available for requested model

## How this service works

Anthropic Messages API over x402 - point the Anthropic SDK (or Claude Code / the Agent SDK) at base_url https://agent402.tools/v1/pro and pay $0.10 per call in USDC, no API key, no signup. Same models, caps and price as this tier's /chat/completions route; any model here is served through the Messages wire (Claude natively, others translated). Up to 48,000 input chars and 4096 output tokens; streaming supported.

## Output

An Anthropic Messages API-compatible JSON object containing the assistant role response, content blocks (text and/or tool_use), the model name, stop_reason (end_turn, tool_use, max_tokens, etc.), and token usage counts for input and output. When streaming is enabled, returns Anthropic SSE events (message_start through message_stop).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "zdr": {
   "type": "boolean",
   "description": "Optional - zero-data-retention providers only"
  },
  "model": {
   "type": "string",
   "description": "Model id (OpenRouter naming, e.g. anthropic/claude-sonnet-5) - allowlisted per tier; omit (or \"auto\") on the auto tier"
  },
  "tools": {
   "type": "array",
   "description": "Optional client tools {name, description, input_schema}; server/built-in tools are not served"
  },
  "stream": {
   "type": "boolean",
   "description": "Anthropic SSE (message_start … message_stop)"
  },
  "system": {
   "type": "string",
   "description": "Optional system prompt (string or text blocks)"
  },
  "messages": {
   "type": "array",
   "description": "Anthropic messages: {role: user|assistant, content: string | [text|image|tool_use|tool_result blocks]}"
  },
  "thinking": {
   "type": "object",
   "description": "Optional {type:\"enabled\", budget_tokens} | {type:\"adaptive\"} | {type:\"disabled\"} - thinking tokens are output tokens"
  },
  "max_tokens": {
   "type": "integer",
   "description": "Required by the Messages API; clamped to the tier's output cap"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "msg_…",
  "role": "assistant",
  "type": "message",
  "model": "anthropic/claude-sonnet-5",
  "usage": {
   "input_tokens": 14,
   "output_tokens": 18
  },
  "content": [
   {
    "text": "x402 is an HTTP-native way for agents to pay per request with USDC.",
    "type": "text"
   }
  ],
  "stop_reason": "end_turn"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent402-pro-messages-pay-per-call-ai-inference-via-x402-a90c2046/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
