# x402-store Sign Decode

> x402-store Sign Decode is a paid API for AI agents from x402-store.dgdb.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-20).

Decodes an EVM signature request (EIP-712, Permit/Permit2, or ERC-20 approve calldata) into a structured intent describing what token, spender, amount, expiry, risk flags, and action hint

## Facts

- Endpoint: POST https://x402-store.dgdb.workers.dev/v1/sign-decode?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-store-sign-decode-f117e60e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uzeqwgJUzxOT9dV0Wocmj

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-store-sign-decode-f117e60e -d '<json body>'
```

Example prompt: Before I sign this, can you decode this EIP-712 Permit2 message and tell me what token it's approving, which spender gets access, how much, when it expires, and whether there are any risk flags? Here's the domain and message object: {domain: {name: 'Permit2', chainId: 1, ...}, message: {token: '0xA0b...', spender: '0x000...', amount: '115792...', deadline: '1718000000'}, primaryType: 'PermitSingle'}

## When to prefer this

Use this endpoint when an AI agent needs to explain or audit an EVM signature request before a user signs it — especially for EIP-712 typed data (Permit, Permit2, PermitSingle, PermitBatch) or raw ERC-20 approve calldata. Prefer this over LLM-based decoding because it is deterministic, structured, and returns machine-readable risk flags. Ideal for wallets, DeFi agents, or security tools that need to present 'what am I signing?' summaries.

## Known failure modes

- Missing or malformed domain/message object returns a parsing error
- Unrecognized primaryType or calldata format returns an unsupported type error
- Calldata that doesn't match ERC-20 approve ABI fails to decode
- Incomplete typed data structure causes partial decode or error
- Payment not included or insufficient USDC results in 402 payment required response

## How this service works

Decode an EVM signature request (EIP-712 typed data, Permit/Permit2, or ERC-20 approve calldata) into a structured intent: what token, which spender, how much, until when, plus risk_flags and an action_hint. Deterministic, no LLM. Answers an agent's question 'what am I about to sign?'

## Output

Returns a structured intent object containing: the token being approved, the spender address, the allowance amount, the expiry/deadline, risk_flags (e.g. unlimited approval, suspicious spender), and an action_hint summarizing what the signature would authorize — all computed deterministically without an LLM.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "domain": {
   "type": "object"
  },
  "message": {
   "type": "object"
  },
  "calldata": {
   "type": "string"
  },
  "primaryType": {
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-store-sign-decode-f117e60e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-store.dgdb.workers.dev](https://www.zero.xyz/host/x402-store.dgdb.workers.dev/llms.txt)
