# Perplexity Agent (via paysponge x402)

> Perplexity Agent (via paysponge x402) is a paid API for AI agents from pplx.x402.paysponge.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-09).

Generates an AI response for a given input using selectable models, with optional web search and reasoning capabilities, paid per-call via x402/USDC.

## Facts

- Endpoint: POST https://pplx.x402.paysponge.com/v1/agent?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/perplexity-agent-via-paysponge-x402-fe5963ee
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EZjSf5Ij0uItgKMF97M-b

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 perplexity-agent-via-paysponge-x402-fe5963ee -d '<json body>'
```

Example prompt: Use the Perplexity agent endpoint to answer this question with web search enabled: 'What are the latest developments in fusion energy as of this week?' — use the sonar model and give me a detailed, reasoned response.

## When to prefer this

Choose this endpoint when you need a single-call AI generation with optional live web search and reasoning, billed per-call via x402 USDC micropayments — ideal for agents that want to pay only for what they use without API key management. Prefer over the async Sonar endpoint when you want a synchronous response. Prefer over the Search endpoint when you need a synthesized natural language answer rather than raw web content.

## Known failure modes

- Missing required 'input' field returns a 400 validation error
- Invalid model ID returns an error indicating unrecognized provider/model format
- Insufficient x402 USDC payment returns a 402 Payment Required response
- Rate limiting or quota exceeded returns a 429 error
- Malformed function_call_output (missing call_id) causes a 400 error
- Network timeout on long-running reasoning tasks

## How this service works

Create Agent Response

## Output

Returns a structured response object containing a unique response ID, the model used, the generated text output, token usage counts (input, output, total), and a detailed cost breakdown in USD (input cost, output cost, tool call costs, total cost). May also include function call outputs if tools were used.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ResponsesRequest",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "oneOf": [
    {
     "type": "string",
     "title": "StringInput"
    },
    {
     "type": "array",
     "items": {
      "oneOf": [
       {
        "type": "object",
        "title": "InputMessage",
        "required": [
         "type",
         "role",
         "content"
        ],
        "properties": {
         "role": {
          "enum": [
           "user",
           "assistant",
           "system",
           "developer"
          ],
          "type": "string"
         },
         "type": {
          "enum": [
           "message"
          ],
          "type": "string"
         },
         "content": {
          "$ref": "#/components/schemas/InputContent"
         }
        }
       },
       {
        "type": "object",
        "title": "FunctionCallOutputInput",
        "required": [
         "type",
         "call_id",
         "output"
        ],
        "properties": {
         "name": {
          "type": "string",
          "description": "Function name (required by some providers)"
         },
         "type": {
          "enum": [
           "function_call_output"
          ],
          "type": "string"
         },
         "output": {
          "type": "string",
          "description": "Function result (JSON string)"
         },
         "call_id": {
          "type": "string",
          "description": "The call_id from function_call output"
         },
         "thought_signature": {
          "type": "string",
          "description": "Base64-encoded signature from function_call"
         }
        }
       },
       {
        "type": "object",
        "title": "FunctionCallInput",
        "required": [
         "type",
         "call_id",
         "name",
         "arguments"
        ],
        "properties": {
         "name": {
          "type": "string",
          "description": "The function name"
         },
         "type": {
          "enum": [
           "function_call"
          ],
          "type": "string"
         },
         "call_id": {
          "type": "string",
          "description": "The call_id that correlates with function_call_output"
         },
         "arguments": {
          "type": "string",
          "description": "Function arguments (JSON string)"
         },
         "thought_signature": {
          "type": "string",
          "description": "Base64-encoded signature for thinking models
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ResponsesResponse",
 "required": [
  "id",
  "object",
  "created_at",
  "status",
  "model",
  "output"
 ],
 "properties": {
  "id": {
   "type": "string",
   "description": "Unique identifier for the response"
  },
  "error": {
   "type": "object",
   "title": "ErrorInfo",
   "required": [
    "message"
   ],
   "properties": {
    "code": {
     "type": "string",
     "description": "Error code"
    },
    "type": {
     "type": "string",
     "description": "Error type category"
    },
    "message": {
     "type": "string",
     "description": "Human-readable error message"
    }
   },
   "description": "Error information returned when a request fails"
  },
  "model": {
   "type": "string",
   "description": "Model used for generation"
  },
  "usage": {
   "type": "object",
   "title": "ResponsesUsage",
   "required": [
    "input_tokens",
    "output_tokens",
    "total_tokens"
   ],
   "properties": {
    "cost": {
     "type": "object",
     "title": "ResponsesCost",
     "required": [
      "currency",
      "input_cost",
      "output_cost",
      "total_cost"
     ],
     "properties": {
      "currency": {
       "enum": [
        "USD"
       ],
       "type": "string",
       "description": "Currency code for cost values"
      },
      "input_cost": {
       "type": "number",
       "format": "double",
       "description": "Cost for input tokens in USD"
      },
      "total_cost": {
       "type": "number",
       "format": "double",
       "description": "Total cost for the request in USD"
      },
      "output_cost": {
       "type": "number",
       "format": "double",
       "description": "Cost for output tokens in USD"
      },
      "cache_read_cost": {
       "type": "number",
       "format": "double",
       "description": "Cost for cache reads in USD"
      },
      "tool_calls_cost": {
       "type": "number",
       "format": "double",
       "description": "Cost for tool call invocations in USD"
      },
      "cache_creation_cost": {
       "type": "number",
       "format": "double",
       "description": "Cost for cache creation in USD"
      }
     },
     "description": "Cost breakdown for a Responses API request"
    },
    "input_tokens": {
     "type": "integer",
     "format": "int64",
     "description": "Number of input tokens used"
    },
    "total_tokens": {
     "type": "integer",
     "format": "int64",
     "description": "Total tokens used (input + output)"
    },
    "output
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/perplexity-agent-via-paysponge-x402-fe5963ee/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from pplx.x402.paysponge.com](https://www.zero.xyz/host/pplx.x402.paysponge.com/llms.txt)
