# wallet_signAction

Signs a transaction previously created with createAction (when signAndProcess was false).

## Result

The BRC-100 signAction result as JSON text, or an error.

## Permissions

The wallet checks spending permission. A pending action remains bound to its original wallet and caller.

Inspect action status after an uncertain response before submitting again.

## Definition 1 (full)

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

Signs a transaction previously created with createAction (when signAndProcess was false).

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| spendsJSON | string | Yes | JSON map of input index to {unlockingScript, sequenceNumber} |  |
| reference | string | Yes | Base64 reference from createAction result |  |
| optionsJSON | string | No | JSON SignActionOptions: {acceptDelayedBroadcast, sendWith} |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "spendsJSON": {
      "type": "string",
      "description": "JSON map of input index to {unlockingScript, sequenceNumber}"
    },
    "reference": {
      "type": "string",
      "description": "Base64 reference from createAction result"
    },
    "optionsJSON": {
      "description": "JSON SignActionOptions: {acceptDelayedBroadcast, sendWith}",
      "type": "string"
    }
  },
  "required": [
    "spendsJSON",
    "reference"
  ],
  "$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.

Signs a transaction previously created with createAction (when signAndProcess was false).

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| spendsJSON | string | Yes | JSON map of input index to {unlockingScript, sequenceNumber} |  |
| reference | string | Yes | Base64 reference from createAction result |  |
| optionsJSON | string | No | JSON SignActionOptions: {acceptDelayedBroadcast, sendWith} |  |
| 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": {
    "spendsJSON": {
      "type": "string",
      "description": "JSON map of input index to {unlockingScript, sequenceNumber}"
    },
    "reference": {
      "type": "string",
      "description": "Base64 reference from createAction result"
    },
    "optionsJSON": {
      "description": "JSON SignActionOptions: {acceptDelayedBroadcast, sendWith}",
      "type": "string"
    },
    "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": [
    "spendsJSON",
    "reference"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

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