# SignCheck: EVM Transaction Safety Analyzer

> SignCheck: EVM Transaction Safety Analyzer is a paid API for AI agents from api.youraitools.co, paid per call via x402, $0.015/call, status unknown (last checked 2026-10-23).

Analyzes an EVM transaction (by contract address, calldata, value, and chain) and returns a safety verdict, risk score, flags, and decoded action summary to help users avoid malicious approvals and drainer contracts.

## Facts

- Endpoint: GET https://api.youraitools.co/signcheck/v1/check?utm_source=zero.xyz
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signcheck-evm-transaction-safety-analyzer-86c1dd86
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uXEq1Klv4IQ18dSx8r8WQ

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-evm-transaction-safety-analyzer-86c1dd86
```

Example prompt: Before I sign this transaction, can you check if it's safe? It's on Base, sending to 0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F with calldata 0x095ea7b3... — tell me the risk score, any danger flags, and what it's actually doing.

## When to prefer this

Use this endpoint when an AI agent or user needs to validate a specific EVM transaction before signing — especially token approvals, contract interactions with unknown calldata, or transfers to unfamiliar addresses. It excels at catching drainer-kit patterns (unlimited approvals to EOAs), decoding calldata into human-readable summaries, running onchain simulations, and screening counterparties against OFAC sanctions. Prefer it over generic block explorers when you need a structured risk verdict with severity-ranked flags rather than raw on-chain data.

## Known failure modes

- Missing required 'to' query parameter returns validation error
- Invalid or malformed calldata hex may result in undecoded action or partial analysis
- Unsupported chain identifier returns error or falls back to Base default
- Simulation may fail if 'from' address not provided or has insufficient balance
- Sanctions list may lag by days if 'list_date' is stale
- Non-EVM chains (Solana) are not supported and will error

## How this service works

Transaction and signature safety check API for crypto wallets. Pre-sign safety check for agent wallets: send a transaction, EIP-712 typed data (Permit, Permit2, EIP-3009, Seaport), an EIP-7702 authorization, or an x402 402 + payment payload. Returns SAFE/CAUTION/DANGER, a plain-English summary and every risk flag (unlimited or EOA approvals, setApprovalForAll, fake USDC domains, x402 overpay, OFAC SDN) plus on-chain facts and eth_call simulation.

## Output

Returns a JSON object with a top-level verdict (e.g. DANGER, WARN, SAFE), a numeric risk score (0–100), an array of flags each with a code, human-readable message and severity level (critical/medium/low), a decoded action label (e.g. erc20_approve), a summary sentence, a list of counterparty addresses with roles and labels, onchain simulation results including success status and block number, token metadata (name, symbol, decimals, address), OFAC sanctions screening results with match count, and chain information.

## 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: transaction simulation api, signature safety check, permit phishing detection, eip712 decoder, wallet drainer check, pre sign 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-evm-transaction-safety-analyzer-86c1dd86/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.youraitools.co](https://www.zero.xyz/host/api.youraitools.co/llms.txt)
