For the complete documentation index, see llms.txt. This page is also available as Markdown.

verifymessage - Bitcoin Cash

Example code for the verifymessage JSON-RPC method. Complete guide on how to use the verifymessage JSON-RPC method in the GetBlock Web3 documentation.

This method verifies that a signature was produced by the private key behind a given address for a specific message.

Parameters

Parameter
Type
Required
Description

address

string

Yes

The address whose key allegedly signed the message

signature

string

Yes

The base64 signature produced by the signer

message

string

Yes

The message that was signed

Request

curl --location --request POST 'https://go.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "verifymessage",
    "params": ["bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a", "H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmvhX0=", "Hello"],
    "id": "getblock.io"
}'
example.js
const axios = require('axios');
const { data } = await axios.post('https://go.getblock.io/<ACCESS-TOKEN>/', {
  jsonrpc: '2.0', method: 'verifymessage',
  params: ['bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a', signature, 'Hello'], id: 'getblock.io'
});
console.log(data.result);
example.py
import requests

response = requests.post(
    'https://go.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'verifymessage',
        'params': ["bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a", "H9L5yLFjti0QTHhPyFrZCT1V/MMnBtXKmoiKDZ78NDBjERki6ZTQZdSMCtkgoNmvhX0=", "Hello"],
        'id': 'getblock.io'
    }
)

print(response.json()['result'])

Response

{
    "error": null,
    "id": "getblock.io",
    "result": true
}

Response Parameters

Parameter
Type
Description

error

null|object

Error object when the call fails, otherwise null

id

string

Request identifier matching the request

result

boolean

true if the signature is valid for the address and message

Use Cases

  • Ownership Proofs: Verify a user controls the key behind an address

  • Authentication: Confirm signed challenges in a login flow

  • Message Integrity: Check that a signed message was not altered

  • Dispute Evidence: Validate a signature offered as proof of authorship

Error Handling

Error Code
Message
Description

-22

Decode failed

The supplied data could not be decoded

-8

Invalid parameter

A required parameter is missing or malformed

-32603

Internal error

Node failed to process the request

Was this helpful?