# Ethereum EIP-191 Signature Verifier

> Ethereum EIP-191 Signature Verifier is a paid API for AI agents from payai.agentstools.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-15).

Verifies an Ethereum EIP-191 personal signature, recovers the signer address, and checks it against an expected signer address.

## Facts

- Endpoint: POST https://payai.agentstools.dev/crypto/verify
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-eip-191-signature-verifier-20d38928
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AgMzZOPaBdIFIbgomvkwA

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 ethereum-eip-191-signature-verifier-20d38928 -d '<json body>'
```

Example prompt: Can you verify that this Ethereum signature was actually created by wallet 0xAbC...123? The original message was 'Login to MyApp at 1700000000' and the signature is 0x4a7b...f3e2 — tell me if the recovered signer matches and what address signed it.

## When to prefer this

Choose this endpoint when you need to cryptographically verify an EIP-191 personal_sign Ethereum signature in a lightweight API call without running a local Ethereum node or web3 library. Ideal for agents handling wallet-based authentication, off-chain authorization checks, or governance vote validation where recovering the signer address and confirming it matches an expected wallet is the primary goal.

## Known failure modes

- Invalid or malformed signature hex returns an error or null recovered address
- Mismatched message content causes a valid but unexpected signer address to be returned (match=false)
- Incorrect expected signer address format (non-checksummed or invalid hex) may cause validation errors
- Signature produced with a different signing standard (e.g. EIP-712 typed data instead of EIP-191) will return wrong recovered address
- Empty or missing required fields (message, signature) result in a 400-level error

## How this service works

Verifies crypto transactions and returns validation results.

## Output

Returns the recovered Ethereum address derived from the EIP-191 signature, plus a boolean or explicit match result indicating whether the recovered address equals the expected signer address provided in the request.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "scheme": {
   "enum": [
    "eip191",
    "eip712"
   ],
   "type": "string",
   "description": "eip191 personal_sign or eip712 typed-data"
  },
  "message": {
   "description": "Plain text / 0x-hex (eip191) OR a full typed-data object with types/domain/primaryType/message (eip712)"
  },
  "signature": {
   "type": "string",
   "description": "0x 65-byte signature"
  },
  "expected_signer": {
   "type": "string",
   "description": "Optional address to compare the recovered signer against"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-eip-191-signature-verifier-20d38928/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from payai.agentstools.dev](https://www.zero.xyz/host/payai.agentstools.dev/llms.txt)
