# EIP-191/EIP-712 Signature Verification & Signer Recovery

> EIP-191/EIP-712 Signature Verification & Signer Recovery is a paid API for AI agents from webtools402.176-109-107-191.sslip.io, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-14).

Verifies an Ethereum EIP-191 personal_sign or EIP-712 typed-data signature and recovers the signer's address from the message and signature inputs.

## Facts

- Endpoint: POST https://webtools402.176-109-107-191.sslip.io/crypto/verify
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eip-191-eip-712-signature-verification-signer-recovery-270c53a3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kNIyMrVu3iJnN8ayIV_qj

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 eip-191-eip-712-signature-verification-signer-recovery-270c53a3 -d '<json body>'
```

Example prompt: Can you verify this Ethereum signature and tell me which wallet address signed it? The scheme is eip191, the message is 'Hello, World!', and the signature is 0x4355c47d63924e8a72e509b65029052eb6c299d53a04e167c5775fd466751c9d07299936d304c153f6443dfa05f40ff007d72911b6f72307f996231605b915621c. Also check if it matches 0xAbCd1234...

## When to prefer this

Choose this endpoint when you need to cryptographically verify an Ethereum wallet signature (either EIP-191 personal_sign or EIP-712 typed-data) and recover the signer address without any signing capability — ideal for authentication flows, provenance checks, and access control in Web3 applications. Prefer this over general-purpose crypto libraries when operating in an agent/serverless context where you want a hosted, pay-per-call verification service that supports both EIP standards and optional address matching in one call.

## Known failure modes

- Invalid or malformed signature (not 65 bytes / not 0x-prefixed) returns an error
- Mismatched scheme — using eip191 for a typed-data signature or vice versa — causes incorrect recovery or error
- Malformed EIP-712 typed-data object (missing types/domain/primaryType/message) causes a parse error
- Recovered address does not match expected_signer — returns mismatch result, not an exception
- Network or service unavailability returns a non-200 HTTP error
- Payment failure via x402 protocol blocks the request

## How this service works

Verify an EIP-191 personal_sign or EIP-712 typed-data signature and recover the signer address from public inputs (message + signature). Verification/recovery only — never signs.

## Output

Returns the recovered Ethereum signer address derived from the provided message and signature, along with whether the signature is valid. If an expected_signer address was provided, also returns whether the recovered address matches it.

## 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/eip-191-eip-712-signature-verification-signer-recovery-270c53a3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from webtools402.176-109-107-191.sslip.io](https://www.zero.xyz/host/webtools402.176-109-107-191.sslip.io/llms.txt)
