# SignCheck Pre-Sign Safety Checker

> SignCheck Pre-Sign Safety Checker is a paid API for AI agents from signcheck.agentgate.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-30).

Decodes blockchain transactions, EIP-712 signatures, and x402 payments into plain English and returns a SAFE/CAUTION/DANGER verdict with specific risk flags

## Facts

- Endpoint: GET https://signcheck.agentgate.workers.dev/v1/lite?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signcheck-pre-sign-safety-checker-6fd62208
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fF3w0micuWFy-qkamlm5k

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 signcheck-pre-sign-safety-checker-6fd62208
```

Example prompt: Before I sign this transaction, run it through SignCheck — the contract is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base, with calldata 0x095ea7b3000000000000000000000000...ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, and tell me if it's safe or dangerous.

## When to prefer this

Use SignCheck when an AI agent wallet is about to sign any EVM transaction, EIP-712 permit, Permit2 allowance, Seaport order, EIP-7702 delegation, or x402 payment and needs a human-readable safety verdict before proceeding. It is especially valuable for catching drainer patterns (unlimited approvals to EOAs, fake token contract domains, setApprovalForAll abuse), OFAC sanctions hits, and x402 payment parameter mismatches. Prefer this over generic blockchain explorers when you need an automated, structured SAFE/DANGER verdict rather than raw decoded data.

## Known failure modes

- Missing required 'to' query parameter returns validation error
- Malformed or non-hex 'data' parameter causes decode failure
- Unsupported chain ID returns error or defaults to Base
- Unrecognized transaction type may return generic or incomplete decoding
- OFAC list lookup may be slightly stale based on list_date in response
- Simulation (paid tier only) may fail if eth_call reverts on-chain

## How this service works

Pre-sign safety check for AI agent wallets. Decodes a transaction, an EIP-712 signature request (EIP-2612 Permit, Permit2 allowance and transfer, EIP-3009 TransferWithAuthorization as used by x402, Seaport orders), an EIP-7702 delegation, or an x402 payment (402 terms + the payload about to be sent) into plain English, and returns SAFE / CAUTION / DANGER with risk flags: unlimited or EOA approvals, setApprovalForAll, fake USDC / Permit2 domains, x402 overpay / wrong payTo / wrong asset, ownership and proxy changes, OFAC SDN counterparties. The paid tier adds on-chain facts (EOA vs contract, token metadata) and an eth_call simulation on Base, Ethereum or Base Sepolia. Read-only, informational.

## Output

A JSON object containing: a verdict (SAFE, CAUTION, or DANGER), a numeric risk score (0-100), a plain-English summary of what the transaction does, an array of risk flags with severity levels (critical/medium/low) and human-readable messages, decoded action type (e.g. erc20_approve), counterparty addresses with EOA/contract classification, OFAC sanctions match count, and optionally on-chain simulation results and token metadata for paid tier calls.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "to"
     ],
     "properties": {
      "to": {
       "type": "string",
       "description": "tx.to"
      },
      "data": {
       "type": "string",
       "description": "tx.data (0x hex)"
      },
      "from": {
       "type": "string",
       "description": "tx.from (enables simulation)"
      },
      "chain": {
       "type": "string",
       "description": "base (default), ethereum, base-sepolia or a chain id"
      },
      "value": {
       "type": "string",
       "description": "tx.value in wei"
      }
     },
     "description": "Search intents: decode transaction, signature risk check, permit2 decoder, eip712 safety, wallet security api, approve risk check"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "kind": {
       "type": "string"
      },
      "tier": {
       "type": "string"
      },
      "chain": {
       "type": "object"
      },
      "flags": {
       "type": "array"
      },
      "action": {
       "type": "string"
      },
      "engine": {
       "type": "string"
      },
      "onchain": {
       "type": "object"
      },
      "summary": {
       "type": "string"
      },
      "verdict": {
       "type": "string"
      },
      "sanctions": {
       "type": "object"
      },
      "risk_score": {
       "type": "number"
      },
      "counterparties": {
       "type": "array"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "transaction",
  "tier": "full",
  "chain": {
   "id": 8453,
   "name": "Base"
  },
  "flags": [
   {
    "code": "SPENDER_IS_EOA",
    "message": "The token allowance goes to 0x3c1A…8d6F, a plain wallet (no contract code). Legitimate apps approve contracts; approvals to wallets are how drainer kits steal funds.",
    "severity": "critical"
   },
   {
    "code": "UNLIMITED_APPROVAL",
    "message": "Grants an UNLIMITED allowance to 0x3c1A…8d6F.",
    "severity": "medium"
   }
  ],
  "action": "erc20_approve",
  "engine": "signcheck-0.1",
  "onchain": {
   "block": 52942270,
   "chain": "Base",
   "tokens": [
    {
     "name": "USD Coin",
     "symbol": "USDC",
     "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "decimals": 6
    }
   ],
   "available": true,
   "simulation": {
    "success": true
   }
  },
  "summary": "Approve 0x3c1A…8d6F to spend UNLIMITED USDC from your wallet",
  "verdict": "DANGER",
  "sanctions": {
   "list": "US Treasury OFAC Specially Designated Nationals (SDN) list",
   "matches": 0,
   "list_date": "2026-10-21",
   "evm_addresses": 124
  },
  "risk_score": 75,
  "counterparties": [
   {
    "type": "eoa",
    "label": null,
    "roles": [
     "spender"
    ],
    "address": "0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signcheck-pre-sign-safety-checker-6fd62208/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signcheck.agentgate.workers.dev](https://www.zero.xyz/host/signcheck.agentgate.workers.dev/llms.txt)
