{"slug":"saylorinnovations-com-api-chain-verify-signature-d6b484","title":"Verify an Ethereum personal_sign message","host":"saylorinnovations.com","method":"GET","resource":"https://saylorinnovations.com/api/chain/verify-signature","category":"market","description":"Verify an Ethereum personal_sign message: recover the signer from a 65-byte signature and check it against an address. Computed locally, no node needed.","price_listed":0.01,"price_asked":0.01,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":530,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:137","eip155:42161","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"address":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266","message":"Sign in to saylorinnovations.com","signature":"0x170226baa64118ebe14291a196886847b4c2d69e7c4276c3d99bdeeb0787bcc5778c38e262cf6a0d3f43d4b929b4499525f12a1d72b6de022010f7fef04b5e461b"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"address":{"description":"the address that should have signed","type":"string"},"message":{"description":"the exact message text that was signed","type":"string"},"signature":{"description":"the 65-byte signature as 0x hex","type":"string"}},"required":["address","message","signature"],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"address":{"description":"address expected to have signed, checksummed","type":"string"},"message_length":{"description":"characters in the message","type":"number"},"note":{"description":"plain-language reading of the result","type":"string"},"recovered_address":{"description":"address recovered from the signature","type":["string","null"]},"signature_valid":{"description":"true when the signer matches the address","type":"boolean"},"source":{"description":"where the data was read from or how it was computed","type":"string"},"standard":{"description":"signing standard checked","type":"string"}},"required":["address","message_length","standard","signature_valid","note","source"],"type":"object"},"type":{"const":"json","type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-21","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.01,"price_match":true,"latency_ms":530,"error":null}],"description_full":"Verify an Ethereum personal_sign message: recover the signer from a 65-byte signature and check it against an address. Computed locally, no node needed.","last_updated":"2026-10-21T04:11:40.166Z","schemes":["exact"]}