wallet_createAction
Creates a new Bitcoin transaction. Handles funding, signing, and broadcasting based on options.
Read as MarkdownResult
The BRC-100 createAction result as JSON text. Depending on options, this includes a transaction or a pending signable transaction.
Permissions
Forwarded to the selected BRC-100 wallet. Its spending permissions apply.
Fields ending in JSON contain JSON-encoded strings, not nested objects. When inputs are supplied, include their BEEF proof data. In a role-routed wallet, walletRole can choose the signing wallet explicitly.
Definition 1
Full catalog · Legacy local wallet; Legacy local identity; External BRC-100 wallet
| Field | Type / required | Description |
|---|---|---|
| description | string Required | 5-50 char description of the action |
| inputBEEFJSON | string Optional | JSON array of BEEF bytes proving the inputs. Required whenever inputs are supplied — createAction rejects inputs without their proof chain. |
| inputsJSON | string Optional | JSON array of transaction inputs |
| outputsJSON | string Optional | JSON array of transaction outputs [{lockingScript, satoshis, outputDescription, basket, tags, customInstructions}] |
| labelsJSON | string Optional | JSON array of label strings |
| lockTime | number Optional | See schema for details. |
| version | number Optional | See schema for details. |
| optionsJSON | string Optional | JSON CreateActionOptions: {noSend, sendWith, acceptDelayedBroadcast, signAndProcess, randomizeOutputs, noSendChange, knownTxids, trustSelf} |
Nested fields are required only when their parent object or array item is supplied.
Full input schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "5-50 char description of the action"
},
"inputBEEFJSON": {
"description": "JSON array of BEEF bytes proving the inputs. Required whenever inputs are supplied — createAction rejects inputs without their proof chain.",
"type": "string"
},
"inputsJSON": {
"description": "JSON array of transaction inputs",
"type": "string"
},
"outputsJSON": {
"description": "JSON array of transaction outputs [{lockingScript, satoshis, outputDescription, basket, tags, customInstructions}]",
"type": "string"
},
"labelsJSON": {
"description": "JSON array of label strings",
"type": "string"
},
"lockTime": {
"type": "number"
},
"version": {
"type": "number"
},
"optionsJSON": {
"description": "JSON CreateActionOptions: {noSend, sendWith, acceptDelayedBroadcast, signAndProcess, randomizeOutputs, noSendChange, knownTxids, trustSelf}",
"type": "string"
}
},
"required": [
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Definition 2
Full catalog · Local Vault · broadcasting disabled; Local Vault · all roles; Local Vault · payment role only; Local Vault + sponsor
| Field | Type / required | Description |
|---|---|---|
| description | string Required | 5-50 char description of the action |
| inputBEEFJSON | string Optional | JSON array of BEEF bytes proving the inputs. Required whenever inputs are supplied — createAction rejects inputs without their proof chain. |
| inputsJSON | string Optional | JSON array of transaction inputs |
| outputsJSON | string Optional | JSON array of transaction outputs [{lockingScript, satoshis, outputDescription, basket, tags, customInstructions}] |
| labelsJSON | string Optional | JSON array of label strings |
| lockTime | number Optional | See schema for details. |
| version | number Optional | See schema for details. |
| optionsJSON | string Optional | JSON CreateActionOptions: {noSend, sendWith, acceptDelayedBroadcast, signAndProcess, randomizeOutputs, noSendChange, knownTxids, trustSelf} |
| walletRole | "payments" | "identity" | "ordinals" | "encryption" Optional | Select the configured root key for this BRC-100 call. Defaults to the role for the method; action continuations retain their original role. |
Nested fields are required only when their parent object or array item is supplied.
Full input schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "5-50 char description of the action"
},
"inputBEEFJSON": {
"description": "JSON array of BEEF bytes proving the inputs. Required whenever inputs are supplied — createAction rejects inputs without their proof chain.",
"type": "string"
},
"inputsJSON": {
"description": "JSON array of transaction inputs",
"type": "string"
},
"outputsJSON": {
"description": "JSON array of transaction outputs [{lockingScript, satoshis, outputDescription, basket, tags, customInstructions}]",
"type": "string"
},
"labelsJSON": {
"description": "JSON array of label strings",
"type": "string"
},
"lockTime": {
"type": "number"
},
"version": {
"type": "number"
},
"optionsJSON": {
"description": "JSON CreateActionOptions: {noSend, sendWith, acceptDelayedBroadcast, signAndProcess, randomizeOutputs, noSendChange, knownTxids, trustSelf}",
"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": [
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}