# x402 Signature Service — E-Signatures for AI Agents

> x402 Signature Service — E-Signatures for AI Agents is a paid API for AI agents from signx402.com, paid per call via x402, $0.5/call, status unknown (last checked 2026-09-15).

Sends a PDF document to an email recipient for electronic signature, returns a tracking token and status URL, and enables status polling and signed PDF retrieval.

## Facts

- Endpoint: GET https://signx402.com/v1/signature-requests
- Price: $0.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-signature-service-e-signatures-for-ai-agents-8bb00555
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Whx3vH-DSHsv4dLDVZeEk

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 x402-signature-service-e-signatures-for-ai-agents-8bb00555
```

Example prompt: Send our NDA PDF (https://docs.mycompany.com/nda.pdf) to Jordan Lee at jordan.lee@acmecorp.com for electronic signature — title it 'Mutual NDA', include a note saying 'Please review and sign by end of week', and set it to expire in 7 days.

## When to prefer this

Choose this endpoint when an AI agent needs to automate the e-signature step of a document workflow on a pay-per-call basis with no subscription required — particularly suited for agentic pipelines where cost predictability ($0.50 USDC flat per request) matters and the use case is one PDF to one email recipient. Prefer this over subscription-based e-sign platforms when volume is low or unpredictable, or when the agent must handle payment natively via the x402 protocol on Base.

## Known failure modes

- Invalid or unreachable documentUrl returns an error (PDF could not be fetched)
- PDF exceeds 5 MB size limit causes rejection
- Invalid signer email format triggers validation error
- Missing required fields (signer name, email, document source) returns 400-level error
- Payment not completed via x402 protocol results in 402 Payment Required response
- Both documentUrl and documentBase64 provided simultaneously may cause conflict error
- expiresInDays outside range 1–30 triggers validation error

## How this service works

Pay-per-call API (x402, $0.50 USDC on Base): send one PDF to one email recipient for simple electronic signature, track status, download the signed PDF.

## Output

Returns a JSON object with a unique signature request ID (e.g. sigreq_…), signer details (name and masked email), current status ('sent'), creation and expiry timestamps, a statusUrl for polling the request status, a one-time plain-text access token for downstream management calls, and the document name.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "signer": {
   "type": "object",
   "required": [
    "name",
    "email"
   ],
   "properties": {
    "name": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "email": {
     "type": "string",
     "format": "email"
    }
   }
  },
  "message": {
   "type": "string",
   "maxLength": 2000,
   "description": "Optional message included in the signature request email"
  },
  "documentUrl": {
   "type": "string",
   "description": "HTTPS URL of the PDF to sign (max 5 MB). Provide either documentUrl OR documentBase64."
  },
  "documentName": {
   "type": "string",
   "maxLength": 150,
   "minLength": 1,
   "description": "Human-readable document title shown to the signer"
  },
  "expiresInDays": {
   "type": "integer",
   "default": 14,
   "maximum": 30,
   "minimum": 1,
   "description": "Days until the signature request expires"
  },
  "documentBase64": {
   "type": "string",
   "description": "Base64-encoded PDF (max 5 MB decoded). Provide either documentUrl OR documentBase64."
  },
  "externalReference": {
   "type": "string",
   "maxLength": 200,
   "description": "Optional caller-side reference id, echoed back in responses"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "sigreq_1f4a9c2b7d3e8a01",
  "signer": {
   "name": "Anna Müller",
   "email": "a***@example.com"
  },
  "status": "sent",
  "createdAt": "2026-07-19T15:00:00Z",
  "expiresAt": "2026-08-02T15:00:00Z",
  "statusUrl": "https://your-api.example.com/v1/signature-requests/sigreq_1f4a9c2b7d3e8a01",
  "accessToken": "sec_… (plain-text bearer token, shown exactly once)",
  "documentName": "Service Agreement"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-signature-service-e-signatures-for-ai-agents-8bb00555/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signx402.com](https://www.zero.xyz/host/signx402.com/llms.txt)
