# wallet_verifySignature

Verifies a digital signature using wallet keys

## Result

The BRC-100 verifySignature result, encoded as JSON text. Wallet failures return an error result.

## Permissions

Forwarded to the connected wallet under the configured app origin. Its protocol, certificate or basket permission checks apply to the requested operation.

Use walletRole to choose an assigned wallet. Otherwise the configured role is used. A disabled role cannot borrow another key.

## Definition 1 (full)

Registered in: Legacy local wallet; Legacy local identity; External BRC-100 wallet.

Verifies a digital signature using wallet keys. Supply exactly one of data or hashToDirectlyVerify.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| data | array of number | No | Data bytes that were signed |  |
| hashToDirectlyVerify | array of number | No | Pre-computed 32-byte hash that was signed |  |
| signature | array of number | Yes | Signature bytes |  |
| protocolIDJSON | string | Yes | JSON array [securityLevel, protocolString] |  |
| keyID | string | Yes |  |  |
| counterparty | string | No |  |  |
| forSelf | boolean | No |  |  |
| privileged | boolean | No |  |  |
| privilegedReason | string | No |  |  |
| seekPermission | boolean | No |  |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "data": {
      "description": "Data bytes that were signed",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "hashToDirectlyVerify": {
      "description": "Pre-computed 32-byte hash that was signed",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "signature": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Signature bytes"
    },
    "protocolIDJSON": {
      "type": "string",
      "description": "JSON array [securityLevel, protocolString]"
    },
    "keyID": {
      "type": "string"
    },
    "counterparty": {
      "type": "string"
    },
    "forSelf": {
      "type": "boolean"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    },
    "seekPermission": {
      "type": "boolean"
    }
  },
  "required": [
    "signature",
    "protocolIDJSON",
    "keyID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

## Definition 2 (full)

Registered in: Local Vault · broadcasting disabled; Local Vault · all roles; Local Vault · payment role only; Local Vault + sponsor.

Verifies a digital signature using wallet keys. Supply exactly one of data or hashToDirectlyVerify.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| data | array of number | No | Data bytes that were signed |  |
| hashToDirectlyVerify | array of number | No | Pre-computed 32-byte hash that was signed |  |
| signature | array of number | Yes | Signature bytes |  |
| protocolIDJSON | string | Yes | JSON array [securityLevel, protocolString] |  |
| keyID | string | Yes |  |  |
| counterparty | string | No |  |  |
| forSelf | boolean | No |  |  |
| privileged | boolean | No |  |  |
| privilegedReason | string | No |  |  |
| seekPermission | boolean | No |  |  |
| walletRole | "payments" \| "identity" \| "ordinals" \| "encryption" | No | Select the configured root key for this BRC-100 call. Defaults to the role for the method; action continuations retain their original role. |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "data": {
      "description": "Data bytes that were signed",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "hashToDirectlyVerify": {
      "description": "Pre-computed 32-byte hash that was signed",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "signature": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Signature bytes"
    },
    "protocolIDJSON": {
      "type": "string",
      "description": "JSON array [securityLevel, protocolString]"
    },
    "keyID": {
      "type": "string"
    },
    "counterparty": {
      "type": "string"
    },
    "forSelf": {
      "type": "boolean"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    },
    "seekPermission": {
      "type": "boolean"
    },
    "walletRole": {
      "description": "Select the configured root key for this BRC-100 call. Defaults to the role for the method; action continuations retain their original role.",
      "type": "string",
      "enum": [
        "payments",
        "identity",
        "ordinals",
        "encryption"
      ]
    }
  },
  "required": [
    "signature",
    "protocolIDJSON",
    "keyID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

[All tools](https://bsvmcp.com/docs/tools)