MultisigResource
Access via urblock.multisig.
Deploy and manage Safe{Wallet} multisig wallets: submit, confirm, and execute transactions.
Methods
create(params)
Deploy a new multisig wallet.
const multisig = await urblock.multisig.create({
name: "Treasury Multisig",
owners: ["0xAAA...", "0xBBB...", "0xCCC..."],
threshold: 2,
network: "polygon_amoy",
idempotency_key: "multisig-001",
});
Returns: MultisigResponse
list(params?)
List multisig wallets.
const wallets = await urblock.multisig.list({ network: "polygon_amoy" });
Returns: ListResponse<MultisigResponse>
retrieve(id)
Get a multisig wallet by ID.
const multisig = await urblock.multisig.retrieve("msig_abc123");
Returns: MultisigResponse
submitTransaction(id, params)
Submit a new transaction to the multisig.
const tx = await urblock.multisig.submitTransaction("msig_abc123", {
to: "0x...",
value: "0",
data: "0x...",
idempotency_key: "mtx-001",
});
Returns: MultisigTxResponse
listTransactions(id)
List all transactions for a multisig.
const txs = await urblock.multisig.listTransactions("msig_abc123");
Returns: ListResponse<MultisigTxResponse>
getTransaction(id, txIndex)
Get a specific multisig transaction by index.
const tx = await urblock.multisig.getTransaction("msig_abc123", 0);
Returns: MultisigTransactionDetailResponse
confirmTransaction(id, txIndex, params)
Confirm (approve) a pending multisig transaction.
const tx = await urblock.multisig.confirmTransaction("msig_abc123", 0, {
signer_address: "0xAAA...",
idempotency_key: "confirm-001",
});
Returns: TxActionResponse
executeTransaction(id, txIndex, params)
Execute a confirmed multisig transaction.
const tx = await urblock.multisig.executeTransaction("msig_abc123", 0, {
signatures: "0xabc123...",
idempotency_key: "execute-001",
});
Returns: TxActionResponse
isConfirmed(id, txIndex, address)
Check if an owner has confirmed a transaction.
const result = await urblock.multisig.isConfirmed(
"msig_abc123",
0,
"0xAAA...",
);
Returns: MultisigConfirmationResponse
addOwner(id, params)
Add a new owner to the multisig.
const tx = await urblock.multisig.addOwner("msig_abc123", {
owner: "0xDDD...",
signatures: "0xabc123...",
idempotency_key: "add-owner-001",
});
Returns: TxActionResponse
isOwner(id, address)
Check if an address is an owner.
const result = await urblock.multisig.isOwner("msig_abc123", "0xAAA...");
Returns: MultisigOwnerCheckResponse
removeOwner(id, address, params)
Remove an owner from the multisig.
const tx = await urblock.multisig.removeOwner("msig_abc123", "0xDDD...", {
prev_owner: "0xCCC...",
signatures: "0xabc123...",
idempotency_key: "remove-owner-001",
});
Returns: TxActionResponse
changeThreshold(id, params)
Change the confirmation threshold.
const tx = await urblock.multisig.changeThreshold("msig_abc123", {
threshold: 3,
signatures: "0xabc123...",
idempotency_key: "threshold-001",
});
Returns: TxActionResponse