Verify a signed message (dev tool)
msg_verifyCheck a PUBLIC message signature (blocktools msgVerifyOpts): EIP-191 personal_sign (0x address, 65-byte hex sig), Bitcoin Core signmessage (P2PKH address, base64 sig), Tron signMessageV2, Solana (format raw|offchain-v0, required) or Cosmos ADR-036 (pubkey, base64 33-byte compressed key, required). The chain is detected from the address; optional chain (eth|btc|tron|sol|cosmos) names it, and is required for an address valid both as Cosmos bech32 and as a Solana key (else error ambiguous_address). A named chain that does not match the address gives chain_does_not_match_address. message_is_hex=true when the message is hex bytes. Returns status ok or signer_mismatch, chain, address and the recovered signer. Pure, offline computation (blocktools); nothing is fetched or stored. How to combine this with the other tools: swapchan_playbook (workflows: find-money, best-swap, rebalance, revoke-approvals, bridge-stuck, token-safety, recover-old-wallet).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"address": "<address>",
"message": "<message>",
"sig": "<sig>"
},
"name": "msg_verify"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sig | Yes | ||
| chain | No | ||
| format | No | ||
| pubkey | No | ||
| address | Yes | ||
| message | Yes | ||
| message_is_hex | No |