Skip to main content
Multi-signature smart contract wallet. Supports programmable account abstraction and modular security.

What it offers

  • getThreshold: Query the signing threshold of a Safe multisig
  • execTransaction: Execute a transaction with collected signatures

Notes

  • safeV141 is for Ethereum L1; safeL2V130 is the L2-optimized version (emits events for cheaper indexing)
  • operation: 0 = CALL (normal), 1 = DELEGATECALL (execute in Safe context)
  • signatures are sorted by owner address, packed as 65 bytes each (r, s, v)
  • Modular: supports Guards (pre/post checks), Modules (extend functionality), and Fallback handlers

Its names in a program

On Ethereum, Safe is a namespace: its contracts need no import.

Deployments

ABI

SafeABI

import SafeABI from "./protocols/safe/SafeABI.json"; Speaks for: safeV141, safeL2V130.
  • execTransaction(address to, uint256 value, bytes data, uint8 operation, uint256 safeTxGas, uint256 baseGas, uint256 gasPrice, address gasToken, address refundReceiver, bytes signatures) payable returns (bool success)
  • getOwners() view returns (address[])
  • getThreshold() view returns (uint256)

Next steps