Stacks Blockchain Signers
secret_key
The stacks::secret_key
signer can be used to synchronously sign a transaction.
Inputs
- Name
secret_key
- Description
The secret key used to sign messages and transactions.
- Name
mnemonic
- Description
The mnemonic phrase used to generate the secret key. This input will not be used if the
secret_key
input is provided.
- Name
derivation_path
- Description
The derivation path used to generate the secret key. This input will not be used if the
secret_key
input is provided.
- Name
is_encrypted
- Description
Coming soon
- Name
password
- Description
Coming soon
Outputs
When the secret_key
action is successfully executed, the following outputs are attached to the action
- Name
public_key
- Description
The public key of the account generated from the secret key.
Example using secret_key
// we can create a secret key signer by providing a mnemonic and computing the secret key
signer "bob" "stacks::secret_key" {
mnemonic = "board list obtain sugar hour worth raven scout denial thunder horse logic fury scorpion fold genuine phrase wealth news aim below celery when cabin"
derivation_path = "m/44'/5757'/0'/0/0"
}
// or we can create one by providing the secret key directly
signer "bob_again" "stacks::secret_key" {
secret_key = "03b3e0a76b292b2c83fc0ac14ae6160d0438ebe94e14bbb5b7755153628886e08e"
}
web_wallet
The stacks::web_wallet
signer will route the transaction signing process through Stacks.js connect.
This allows a Runbook operator to sign the transaction with the browser signer of their choice.
Inputs
- Name
expected_address
- Description
The Stacks address that is expected to connect to the Runbook execution. Omitting this field will allow any address to be used for this signer.
Outputs
When the web_wallet
action is successfully executed, the following outputs are attached to the action
- Name
address
- Description
The address of the account generated from the public key.
Example using web_wallet
signer "alice" "stacks::web_wallet" {
expected_address = "ST12886CEM87N4TP9CGV91VWJ8FXVX57R6AG1AXS4"
}
multisig
The multisig
signer creates an ordered, n
of n
multisig.
Each of the specified signers can be any other supported signer type, and will be prompted to sign in the appropriate order.
Inputs
- Name
signers
- Description
A list of signers that make up the multisig.
- Name
expected_address
- Description
The multisig address that is expected to be created from combining the public keys of all parties. Omitting this field will allow any address to be used for this signer.
- Name
required_signatures
- Description
The number of signatures required. This value must be between 1 and the number of signers. If this value is equal to the number of signers, an
n
ofn
multisig address is generated. If this value is less than the number of signers, anm
ofn
multisig address is generated. If omitted, the number of signers will be used.
Outputs
When the multisig
action is successfully executed, the following outputs are attached to the action
- Name
signers
- Description
The list of signers that make up the multisig.
- Name
address
- Description
The address of the account generated from the public key.
Example using multisig
signer "alice" "stacks::web_wallet" {
expected_address = "ST2JHG361ZXG51QTKY2NQCVBPPRRE2KZB1HR05NNC"
}
signer "bob" "stacks::web_wallet" {
expected_address = "ST2NEB84ASENDXKYGJPQW86YXQCEFEX2ZQPG87ND"
}
signer "alice_and_bob" "stacks::multisig" {
signers = [signer.alice, signer.bob]
}