# wallet_createSignature

Creates a digital signature using wallet keys

## Result

The BRC-100 createSignature 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.

Creates a digital signature using wallet keys. Supply exactly one of data or hashToDirectlySign.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| data | array of number | No | Data bytes to sign |  |
| hashToDirectlySign | array of number | No | Pre-computed 32-byte hash to sign directly |  |
| protocolIDJSON | string | Yes | JSON array [securityLevel, protocolString] |  |
| keyID | string | Yes |  |  |
| counterparty | string | 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 to sign",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "hashToDirectlySign": {
      "description": "Pre-computed 32-byte hash to sign directly",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "protocolIDJSON": {
      "type": "string",
      "description": "JSON array [securityLevel, protocolString]"
    },
    "keyID": {
      "type": "string"
    },
    "counterparty": {
      "type": "string"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    },
    "seekPermission": {
      "type": "boolean"
    }
  },
  "required": [
    "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.

Creates a digital signature using wallet keys. Supply exactly one of data or hashToDirectlySign.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| data | array of number | No | Data bytes to sign |  |
| hashToDirectlySign | array of number | No | Pre-computed 32-byte hash to sign directly |  |
| protocolIDJSON | string | Yes | JSON array [securityLevel, protocolString] |  |
| keyID | string | Yes |  |  |
| counterparty | string | 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 to sign",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "hashToDirectlySign": {
      "description": "Pre-computed 32-byte hash to sign directly",
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "protocolIDJSON": {
      "type": "string",
      "description": "JSON array [securityLevel, protocolString]"
    },
    "keyID": {
      "type": "string"
    },
    "counterparty": {
      "type": "string"
    },
    "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": [
    "protocolIDJSON",
    "keyID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

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