{"uid":"cap_cWTbJLDDHJ--FkdYnk5Jv","slug":"evm-signature-verifier-eip-191-eip-712-erc-1271-c46481e4","name":"EVM Signature Verifier (EIP-191 / EIP-712 / ERC-1271)","description":"Checks whether a signature was made by a claimed EVM address: EIP-191 personal_sign messages, EIP-712 typed data or a raw 32-byte digest, verified by ecrecover for wallets or ERC-1271 isValidSignature for smart-contract wallets (Safe, Coinbase Smart Wallet) on Ethereum, Base, Arbitrum, Optimism or Polygon. Returns validity, method, recovered signer and digest. Free sample: https://onchain-health.mick8511.workers.dev/sample","url":"https://onchain-health.mick8511.workers.dev/verify-signature?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"hash":{"type":"string","description":"32-byte digest"},"chain":{"type":"string","description":"Chain for ERC-1271 checks (default ethereum)"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Claimed signer"},"message":{"type":"string","description":"EIP-191 message text (or use typed_data / hash)"},"signature":{"type":"string","description":"0x hex signature"},"typed_data":{"type":"object","description":"EIP-712 typed data {types, primaryType, domain, message}"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_r9b4D-mpKHlta48M3cuUd","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies whether a given signature was produced by a claimed EVM address, supporting EIP-191 personal_sign, EIP-712 typed data, raw 32-byte digests, and ERC-1271 smart-contract wallets across five EVM chains.","exampleAgentPrompt":"Can you check whether the address 0xAbC...123 actually signed this EIP-191 message 'Welcome to MyApp' with the signature 0xdeadbeef...abc on Ethereum?","exampleUseCases":[{"title":"Gating access behind wallet signature","prompt":"A user claims they own 0x1234...abcd and submitted a personal_sign of 'Login to MyDapp at 1710000000' with signature 0xaabbcc... — can you verify that signature on Ethereum and confirm whether it's valid before I let them in?"},{"title":"Validating EIP-712 typed order signature","prompt":"I have an EIP-712 typed data object for a trade order, supposedly signed by 0xDeAdBeEf... with signature 0x112233... on Arbitrum — please verify whether that address actually signed it."},{"title":"Checking Safe multisig wallet signature","prompt":"Our Safe smart-contract wallet at 0xSafe...9999 on Base should have signed a governance proposal using ERC-1271 — the signature is 0xfeedface... and the message digest is 0xabc123... Can you confirm it's valid?"}],"resultDescription":"Returns a JSON object containing: a boolean validity flag indicating whether the signature is authentic, the verification method used (ecrecover or ERC-1271 isValidSignature), the recovered or confirmed signer address, and the computed message digest.","failureModes":["Invalid or malformed signature hex returns an error or validity=false","Mismatched address and signer returns validity=false with recovered signer shown","ERC-1271 check fails if the contract is not deployed or does not implement isValidSignature","Unsupported chain identifier causes an error response","Providing neither message, typed_data, nor hash results in a missing-input error","RPC node timeout for ERC-1271 on-chain call may return a transient error"],"whenToPreferThis":"Choose this endpoint when you need to cryptographically verify that an EVM wallet (EOA or smart-contract wallet like Safe or Coinbase Smart Wallet) produced a given signature, especially when you need multi-chain support (Ethereum, Base, Arbitrum, Optimism, Polygon) and ERC-1271 smart-contract wallet support in a single call. Prefer it over rolling your own ecrecover when smart-contract wallets may be involved, or when you need to handle EIP-191 and EIP-712 formats without custom parsing logic.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-02T11:18:09.583Z","isFirstParty":false,"canonicalSlug":"evm-signature-verifier-eip-191-eip-712-erc-1271-c46481e4"}