Skip to content

Safe rejections and execution conflicts

Safe state can change outside txcast. A proposal is not a lock on its nonce.

An onchain Safe rejection is a separate Safe transaction, normally a zero-value transaction to the Safe at the same nonce. It consumes that nonce when executed.

  1. Choose Prepare rejection on the affected attempt.
  2. Review the rejection typed data and Safe transaction hash.
  3. Collect the required Safe signatures.
  4. Execute through an external wallet.
  5. Sync the run.

Reject only when the organisation deliberately wants to invalidate the original proposal. It creates an onchain transaction and costs gas.

  • Same signer already submitted: do not retry with a new idempotency key; refresh STS state.
  • Version conflict: another action changed the run, step, or attempt. Refresh and review.
  • Nonce replaced: another Safe transaction executed at that nonce.
  • Owners or threshold changed: prepare a new attempt against current Safe state.
  • Competing proposal: compare safeTxHash, payload, and intended owners before acting.

Use Sync to reconcile STS and chain state. If the original transaction plan is wrong, cancel the run as well as resolving any live Safe proposal. Cancelling txcast state alone cannot invalidate a proposal already known to the Safe ecosystem.