# EIP-712 Typed Data Signature Explainer

> EIP-712 Typed Data Signature Explainer is a paid API for AI agents from api.datapackvibe.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-15).

Explains in plain English what an EIP-712 typed-data payload authorises before you sign it, including what the payload does not reveal, without performing any on-chain lookup.

## Facts

- Endpoint: POST https://api.datapackvibe.com/sign/explain
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eip-712-typed-data-signature-explainer-bfd05651
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_amF8G6W78V0nMAfnWuFne

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 eip-712-typed-data-signature-explainer-bfd05651 -d '<json body>'
```

Example prompt: Before I approve this signature in my wallet, can you explain in plain English what this EIP-712 typed data actually authorises? Here's the payload: {"types":{"Permit":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"deadline","type":"uint256"}]},"domain":{"name":"USDC","version":"2","chainId":1,"verifyingContract":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},"message":{"owner":"0xMYWALLET","spender":"0xUNIROUTER","value":"1000000000","nonce":0,"deadline":1893456000}}

## When to prefer this

Use this endpoint when a user or agent needs a human-readable explanation of an EIP-712 typed-data payload before signing, without requiring any on-chain state lookup. Prefer this over generic calldata decoders when the payload is typed structured data (not raw transaction calldata), and when the goal is to communicate signing risk or intent in plain language rather than decode ABI types mechanically.

## Known failure modes

- Malformed or non-EIP-712 JSON input returns an error indicating the payload could not be parsed
- Missing required 'types', 'domain', or 'message' fields causes a validation error
- Extremely large or deeply nested type trees may exceed processing limits
- Non-standard or custom EIP-712 type names may result in a generic rather than specific explanation
- Payment failure (x402) blocks the request before processing

## How this service works

Explain an EIP-712 typed-data payload before you sign it - what the signature authorises, in plain English, plus what the payload does not tell you. No chain lookup.

## Output

A plain-English explanation of what the EIP-712 typed-data payload authorises — covering the domain, message fields, and the action being approved — along with an explicit list of what the payload does not reveal (e.g. on-chain contract behaviour, token values in fiat, deadline context). No blockchain RPC calls are made.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "properties": {}
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "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/eip-712-typed-data-signature-explainer-bfd05651/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.datapackvibe.com](https://www.zero.xyz/host/api.datapackvibe.com/llms.txt)
