# EVM Message Signature Verifier

> EVM Message Signature Verifier is a paid API for AI agents from x402-toolbox.swiftbotlab.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-31).

Verifies an Ethereum message signature and recovers the signer address, confirming whether it matches a given EVM address

## Facts

- Endpoint: POST https://x402-toolbox.swiftbotlab.workers.dev/v1/evm/verify-message?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-message-signature-verifier-6f41b1a4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tHiGEmUaLUO6jKkLA2OWr

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 evm-message-signature-verifier-6f41b1a4 -d '<json body>'
```

Example prompt: Can you verify that Ethereum address 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B actually signed the message 'I agree to the terms of service' with this signature: 0x4a5c3d...f9b?

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call EVM signature verification without setting up an RPC node or Web3 library. Ideal for agents that occasionally verify Ethereum personal_sign signatures (EIP-191) without committing to a full blockchain SDK or subscription API key. At $0.003 per call it's cost-effective for sporadic verification tasks, and it returns the recovered address directly — useful for both authentication flows and forensic signer recovery.

## Known failure modes

- Invalid signature format (not 0x + 130 hex chars) — returns error or ok:false
- Address mismatch — returns matches:false with the actual recovered address
- Malformed address (not 42 chars) — validation error
- Message encoding mismatch (hex specified but invalid hex string) — parse error
- Payment failure or insufficient USDC balance — HTTP 402 response before processing

## How this service works

62 small, deterministic utility APIs (DNS and e-mail checks, web extraction, EVM decoding, x402 checks, IP math, JSON/CSV, hashing, conversions). No account or API key: pay per call in USDC with x402.

## Output

Returns a JSON object with an 'ok' boolean, the tool name, and a 'result' object containing: 'matches' (true/false — whether the recovered address equals the provided address), 'recovered' (the 0x Ethereum address recovered from the signature), and 'messageHash' (the keccak256 hash of the prefixed message).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "address": {
   "type": "string",
   "maxLength": 42
  },
  "message": {
   "type": "string",
   "maxLength": 65536
  },
  "signature": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{130}$",
   "maxLength": 132
  },
  "messageEncoding": {
   "enum": [
    "utf8",
    "hex"
   ],
   "type": "string",
   "default": "utf8"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "tool": "evm-verify-message",
  "result": {
   "matches": true,
   "recovered": "0x...",
   "messageHash": "0x50b2c43fd39106bafbba0da34fc430e1f91e3c96ea2acee2bc34119f92b37750"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-message-signature-verifier-6f41b1a4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-toolbox.swiftbotlab.workers.dev](https://www.zero.xyz/host/x402-toolbox.swiftbotlab.workers.dev/llms.txt)
