Skip to main content

Overview

For applications that interact with Safe (formerly Gnosis Safe) multisig wallets, Mirador provides dedicated methods to track message confirmations and transaction executions. This gives you full visibility into the approval-to-execution flow.
Safe methods require the Web3Plugin. See Plugins for setup.

Message Hints

Use web3.safe.addMsgHint() to track off-chain message confirmations — when signers approve a message in the Safe.
trace.web3.safe.addMsgHint('0xabc123...', 'ethereum');

With Details

Add context about the multisig operation:
trace.web3.safe.addMsgHint('0xabc123...', 'ethereum', 'Token transfer approval');

Method Signature

trace.web3.safe.addMsgHint(
  msgHint: string,
  chain: ChainName,
  details?: string
): Trace
ParameterTypeRequiredDescription
msgHintstringYesSafe message hash
chainChainNameYesBlockchain network the Safe is deployed on
detailsstringNoOptional description

Transaction Hints

Use web3.safe.addTxHint() to track on-chain Safe transaction executions — when a queued Safe transaction is executed on-chain.
trace.web3.safe.addTxHint('0xsafeTxHash...', 'ethereum');

With Details

trace.web3.safe.addTxHint('0xsafeTxHash...', 'ethereum', 'Token transfer execution');

Method Signature

trace.web3.safe.addTxHint(
  safeTxHash: string,
  chain: ChainName,
  details?: string
): Trace
ParameterTypeRequiredDescription
safeTxHashstringYesSafe transaction hash
chainChainNameYesBlockchain network the Safe is deployed on
detailsstringNoOptional description
When to use which?
  • web3.safe.addMsgHint() — Track off-chain message confirmations (signers approving a message)
  • web3.safe.addTxHint() — Track on-chain transaction executions (the actual Safe transaction)
  • Use both together for full visibility into the approval-to-execution flow

Combining All Hint Types

A trace can include EVM transaction hints, Safe message hints, and Safe transaction hints for complete visibility into multisig workflows:
const trace = client.trace({ name: 'SafeTransfer' })
  .addAttributes({
    safeAddress: '0xSafe...',
    action: 'token_transfer'
  })
  .addTags(['safe', 'multisig', 'ethereum']);

// Track the Safe message that signers need to confirm
trace.web3.safe.addMsgHint(messageHash, 'ethereum', 'Transfer approval message');

// Track the Safe transaction hash (from Safe API)
trace.web3.safe.addTxHint(safeTxHash, 'ethereum', 'Queued Safe transaction');

// After enough confirmations, the transaction is executed on-chain
trace.web3.evm.addTxHint(executionTxHash, 'ethereum', 'On-chain execution');

Next Steps

Transaction Hints

EVM transaction hints and correlation

Plugins

Web3Plugin setup and configuration