Transactions
multisig-cancel
Cancel an ongoing multisig operation (only the original depositor may).
Abandons a pending operation before it collects enough approvals: the
stored approvals are discarded and the deposit reserved at opening is
returned. Only the signatory who opened the operation (and paid the
deposit) may cancel it. The threshold, signatory set, call, and opening
timepoint must all match the pending operation exactly.
| Signer | Pallet | Wraps |
|---|---|---|
coldkey | Multisig | Multisig.cancel_as_multi |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
threshold | integer | yes | Number of approvals required to execute, counting the signer. Together with the full signatory set it identifies the multisig account, so it must match on every approval. |
other_signatories | array | yes | The other members of the multisig (every signatory except the signer), as a JSON list of addresses. The same set must be given on every approval; order does not matter (sorted automatically). |
call | object | yes | The inner call to dispatch from the multisig account, as a JSON object {"op": <intent name>, ...args}. All approvals must describe the identical call — it is matched by hash. Its arguments must be fully explicit, since it runs as the multisig account, not the signer's wallet. |
timepoint | object | yes | Block height and extrinsic index of the approval that opened the operation, as a JSON object {"height": ..., "index": ...}. Required — it identifies which pending operation to cancel. |
Address parameters (--hotkey, --coldkey, --dest, ...) accept a raw ss58
address, an address-book or proxy-book name, or a local wallet/hotkey name.
CLI
Preview with --dry-run (shows fee, effects, and policy result without
submitting), then submit:
btcli tx multisig-cancel \
--threshold <int> \
--other-signatories <a,b,c> \
--call '<json>' \
--timepoint '<json>' --dry-run
btcli tx multisig-cancel \
--threshold <int> \
--other-signatories <a,b,c> \
--call '<json>' \
--timepoint '<json>' -w my_coldkeyPython
import bittensor as sub
from bittensor.wallet import Wallet
wallet = Wallet(name="my_coldkey", hotkey="my_hotkey")
intent = sub.MultisigCancel(threshold=0, other_signatories=[...], call={...}, timepoint={...})
async with sub.Client("finney") as client:
plan = await client.plan(intent, wallet) # fee, effects, policy — no submission
result = await client.execute(intent, wallet)
if not result.success:
print(result.error.code, result.error.remediation)Or build it by op name, as an agent would:
await client.execute_tool("multisig_cancel", {...}, wallet)