Skip to content

Multisig pallet

Derived from live runtime metadata on TRN root (pallet index 28, captured 2026-05-02). For prose-style documentation see Multisig on the curated reference side.

Pallet index
28
Calls
4
Events
4
Errors
14
Storage items
1
Constants
3

Calls (extrinsics)

Multisig.as_multi_threshold_1

See [Pallet::as_multi_threshold_1].

ts
api.tx.multisig.as_multi_threshold_1(other_signatories: Vec<SeedPrimitivesSignatureAccountId20>, call: Call)
ArgumentTypeDoc
other_signatoriesVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
callCallBox<<T as Config>::RuntimeCall>

Call index: 0

Multisig.as_multi

See [Pallet::as_multi].

ts
api.tx.multisig.as_multi(threshold: u16, other_signatories: Vec<SeedPrimitivesSignatureAccountId20>, maybe_timepoint: Option<PalletMultisigTimepoint>, call: Call, max_weight: {"refTime":"Compact<u64>","proofSize":"Compact<u64>"})
ArgumentTypeDoc
thresholdu16u16
other_signatoriesVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
maybe_timepointOption&lt;PalletMultisigTimepoint&gt;Option<Timepoint<BlockNumberFor<T>>>
callCallBox<<T as Config>::RuntimeCall>
max_weight{"refTime":"Compact&lt;u64&gt;","proofSize":"Compact&lt;u64&gt;"}Weight

Call index: 1

Multisig.approve_as_multi

See [Pallet::approve_as_multi].

ts
api.tx.multisig.approve_as_multi(threshold: u16, other_signatories: Vec<SeedPrimitivesSignatureAccountId20>, maybe_timepoint: Option<PalletMultisigTimepoint>, call_hash: [u8;32], max_weight: {"refTime":"Compact<u64>","proofSize":"Compact<u64>"})
ArgumentTypeDoc
thresholdu16u16
other_signatoriesVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
maybe_timepointOption&lt;PalletMultisigTimepoint&gt;Option<Timepoint<BlockNumberFor<T>>>
call_hash[u8;32][u8; 32]
max_weight{"refTime":"Compact&lt;u64&gt;","proofSize":"Compact&lt;u64&gt;"}Weight

Call index: 2

Multisig.cancel_as_multi

See [Pallet::cancel_as_multi].

ts
api.tx.multisig.cancel_as_multi(threshold: u16, other_signatories: Vec<SeedPrimitivesSignatureAccountId20>, timepoint: {"height":"u32","index":"u32"}, call_hash: [u8;32])
ArgumentTypeDoc
thresholdu16u16
other_signatoriesVec&lt;SeedPrimitivesSignatureAccountId20&gt;Vec<T::AccountId>
timepoint{"height":"u32","index":"u32"}Timepoint<BlockNumberFor<T>>
call_hash[u8;32][u8; 32]

Call index: 3

Events

Multisig.NewMultisig

A new multisig operation has begun.

FieldTypeDoc
approving[u8;20]
multisig[u8;20]
call_hash[u8;32]

Multisig.MultisigApproval

A multisig operation has been approved by someone.

FieldTypeDoc
approving[u8;20]
timepoint{"height":"u32","index":"u32"}
multisig[u8;20]
call_hash[u8;32]

Multisig.MultisigExecuted

A multisig operation has been executed.

FieldTypeDoc
approving[u8;20]
timepoint{"height":"u32","index":"u32"}
multisig[u8;20]
call_hash[u8;32]
resultResult&lt;Null, SpRuntimeDispatchError&gt;

Multisig.MultisigCancelled

A multisig operation has been cancelled.

FieldTypeDoc
cancelling[u8;20]
timepoint{"height":"u32","index":"u32"}
multisig[u8;20]
call_hash[u8;32]

Errors

Multisig.MinimumThreshold

Threshold must be 2 or greater.

Multisig.AlreadyApproved

Call is already approved by this signatory.

Multisig.NoApprovalsNeeded

Call doesn't need any (more) approvals.

Multisig.TooFewSignatories

There are too few signatories in the list.

Multisig.TooManySignatories

There are too many signatories in the list.

Multisig.SignatoriesOutOfOrder

The signatories were provided out of order; they should be ordered.

Multisig.SenderInSignatories

The sender was contained in the other signatories; it shouldn't be.

Multisig.NotFound

Multisig operation not found when attempting to cancel.

Multisig.NotOwner

Only the account that originally created the multisig is able to cancel it.

Multisig.NoTimepoint

No timepoint was given, yet the multisig operation is already underway.

Multisig.WrongTimepoint

A different timepoint was given to the multisig operation that is underway.

Multisig.UnexpectedTimepoint

A timepoint was given, yet no multisig operation is underway.

Multisig.MaxWeightTooLow

The maximum weight information provided was too low.

Multisig.AlreadyStored

The data to be stored is already stored.

Storage

Multisig.Multisigs

The set of open multisig operations.

ts
await api.query.multisig.multisigs(key1, key2)
  • Key: (SeedPrimitivesSignatureAccountId20,[u8;32]) (hashers: Twox64Concat, Blake2_128Concat)
  • Returns: {"when":"PalletMultisigTimepoint","deposit":"u128","depositor":"SeedPrimitivesSignatureAccountId20","approvals":"Vec<SeedPrimitivesSignatureAccountId20>"}

Modifier: Optional

Constants

Multisig.DepositBase

The base amount of currency needed to reserve for creating a multisig execution or to store a dispatch call for later. This is held for an additional storage item whose value size is 4 + sizeof((BlockNumber, Balance, AccountId)) bytes and whose key size is 32 + sizeof(AccountId) bytes.

Type: u128
SCALE-encoded value: 0x74020000000000000000000000000000

Multisig.DepositFactor

The amount of currency needed per unit threshold when creating a multisig execution. This is held for adding 32 bytes more into a pre-existing storage value.

Type: u128
SCALE-encoded value: 0xc0000000000000000000000000000000

Multisig.MaxSignatories

The maximum amount of signatories allowed in the multisig.

Type: u32
SCALE-encoded value: 0x64000000

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.