Verify an Ethereum signature: recover the signer of a message

$0.01 per call · failed calls are never charged · no account or API key needed

Verify an Ethereum personal_sign (EIP-191) signature: recover the address that signed a message and, given an expected address, say whether it matches. Works for ordinary wallets (EOAs); smart-contract wallets sign by ERC-1271, which this offline check does not cover. Use for sign-in-with-wallet, proving wallet ownership or checking a signed order. A malformed signature is 400, uncharged.

Run it free (25 free calls) Buy credits by card (from $5) Example result (JSON)

Try it with your own inputs

The exact message that was signed (or 0x hex with raw=true)
0x signature, 65 bytes (130 hex characters)

Uses one of your 25 free calls. Nothing is charged, and a call that fails is not counted.

Inputs

NameTypeDescription
message (required)stringThe exact message that was signed (or 0x hex with raw=true)
signature (required)string0x signature, 65 bytes (130 hex characters)
addressstringOptional expected signer address to compare
rawstringtrue to treat a 0x message as raw bytes instead of text

Request

Over HTTP, with a card key from /credits:

curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/evm/verify-signature?message=hello&signature=0xf16ea9a3478698f695fd1401bfe27e9e4a7e8e3da94aa72b021125e31fa899cc573c48ea3fe1d4ab61a9db10c19032026e3ed2dbccba5a178235ac27f94504311c"

Or one of your 25 free calls, no key:

curl "https://agent-data-tools.revmesh2074.workers.dev/evm/verify-signature?message=hello&signature=0xf16ea9a3478698f695fd1401bfe27e9e4a7e8e3da94aa72b021125e31fa899cc573c48ea3fe1d4ab61a9db10c19032026e3ed2dbccba5a178235ac27f94504311c&trial=1"

Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.

Example result

{
  "recovered": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
  "expected": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
  "valid": true,
  "standard": "EIP-191 personal_sign"
}

From an AI agent (MCP)

Add the MCP server to Claude, Cursor or any MCP client. This tool is evm_verify_signature, and the first 25 successful calls are free:

https://agent-data-tools.revmesh2074.workers.dev/mcp

Related tools