# Lumen Pre-Sign Check

> Lumen Pre-Sign Check is a paid API for AI agents from lumenworks-x402-decoder.onrender.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-11).

Analyzes an EVM transaction or EIP-712 message before signing and returns a human-readable summary, risk flags, and a verdict on whether it is safe to sign.

## Facts

- Endpoint: POST https://lumenworks-x402-decoder.onrender.com/v1/tx/explain?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lumen-pre-sign-check-fa35830b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TQVpHarN75zxvQ80LZ4bO

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 lumen-pre-sign-check-fa35830b -d '<json body>'
```

Example prompt: Before I sign this transaction, can you check if it's safe? It's calling 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 with calldata 0x095ea7b3000000000000000000000000111111125421ca6dc452d289314280a0f8842a65ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff and zero ETH value — give me a verdict and flag anything suspicious like unlimited approvals.

## When to prefer this

Use this endpoint when an AI agent or wallet interface needs to explain and risk-assess an EVM transaction or EIP-712 typed-data signature request before the user signs it. It is the right choice when you want a human-readable breakdown of what a transaction does, automated detection of high-risk patterns like unlimited token approvals, and a clear verdict without needing to simulate on-chain state or run a full security audit.

## Known failure modes

- Unrecognized function selector returns partial decode with no signature match
- Malformed calldata causes decode failure or empty candidates array
- Unknown contract address returns no label or context
- EIP-712 message with non-standard types may produce incomplete risk notes
- Network or server unavailability returns 5xx error
- Missing required fields in request body returns 4xx validation error

## How this service works

Lumen Pre-Sign Check: call before signing any EVM transaction or EIP-712 message. Returns {summary, flags[], verdict} (looks_ok | review | do_not_sign_unless_intended). Flags unlimited approvals, Per…

## Output

Returns a JSON object with: a plain-English summary array describing what the transaction does, a verdict field (looks_ok | review | do_not_sign_unless_intended), an array of flags with code, level, and message for each detected risk (e.g. UNLIMITED_APPROVAL at high severity), the decoded calldata including function signature and arguments, a label for the target contract if known, and a disclaimer noting this is informational only.

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "kind": "transaction",
  "risk": "high",
  "flags": [
   {
    "msg": "Unlimited token approval: spender can drain this token at any time.",
    "code": "UNLIMITED_APPROVAL",
    "level": "high"
   }
  ],
  "summary": [
   "Approve 0x111111125421cA6dc452d289314280a0f8842A65 (1inch v6 Router) to spend UNLIMITED units of token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
  ],
  "toLabel": "USDC (Base)",
  "verdict": "do_not_sign_unless_intended",
  "calldata": {
   "source": "built-in",
   "decoded": {
    "args": [
     "0x111111125421cA6dc452d289314280a0f8842A65",
     "115792089237316195423570985008687907853269984665640564039457584007913129639935"
    ],
    "signature": "approve(address,uint256)"
   },
   "selector": "0x095ea7b3",
   "candidates": [
    {
     "args": [
      "0x111111125421cA6dc452d289314280a0f8842A65",
      "115792089237316195423570985008687907853269984665640564039457584007913129639935"
     ],
     "signature": "approve(address,uint256)"
    }
   ],
   "signaturesFound": 1
  },
  "valueWei": "0",
  "disclaimer": "Informational, not a security guarantee. looks_ok does not mean safe. No simulation, no on-chain state (proxy implementations, spender code, balances) is checked."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lumen-pre-sign-check-fa35830b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from lumenworks-x402-decoder.onrender.com](https://www.zero.xyz/host/lumenworks-x402-decoder.onrender.com/llms.txt)
