ETH Price: $2,068.78 (+3.89%)

Contract

0x609517eACD9Ec2E24DfFD4Eeca54C6fd88C866FE
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction243268162026-01-27 14:37:5962 days ago1769524679IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.00001470.14512254
Exec Transaction243267852026-01-27 14:31:4762 days ago1769524307IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000028770.14011104
Exec Transaction242422902026-01-15 19:45:3573 days ago1768506335IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000013890.0738558
Exec Transaction242422572026-01-15 19:38:5973 days ago1768505939IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000007860.0907183
Exec Transaction242422272026-01-15 19:32:5973 days ago1768505579IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000007960.12344369
Exec Transaction242421702026-01-15 19:21:3573 days ago1768504895IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000012710.12545941
Exec Transaction239418072025-12-04 19:43:23115 days ago1764877403IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000011660.06002248
Exec Transaction239417882025-12-04 19:39:35115 days ago1764877175IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000005840.06740643
Exec Transaction238927682025-11-27 21:37:11122 days ago1764279431IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000008170.04314591
Exec Transaction238927412025-11-27 21:31:47122 days ago1764279107IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000003310.03827653
Exec Transaction238927242025-11-27 21:28:23122 days ago1764278903IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000002920.04537305
Exec Transaction238835852025-11-26 14:42:59124 days ago1764168179IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000465892.06262997
Exec Transaction238835652025-11-26 14:38:59124 days ago1764167939IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.00000540.05770615
Exec Transaction238835422025-11-26 14:34:23124 days ago1764167663IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000014580.06185207
Exec Transaction238835192025-11-26 14:29:47124 days ago1764167387IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000178572.05939317
Exec Transaction238834772025-11-26 14:20:59124 days ago1764166859IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000005030.0598378
Exec Transaction238833482025-11-26 13:54:59124 days ago1764165299IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000004840.05616094
Exec Transaction238833152025-11-26 13:48:11124 days ago1764164891IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000013240.06127021
Exec Transaction238832852025-11-26 13:42:11124 days ago1764164531IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000006150.07302315
Exec Transaction238832222025-11-26 13:29:35124 days ago1764163775IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000003350.0576179
Exec Transaction238831392025-11-26 13:12:59124 days ago1764162779IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000005090.05335376
Exec Transaction237764792025-11-11 14:06:35139 days ago1762869995IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000051180.50511985
Exec Transaction235992782025-10-17 18:49:59163 days ago1760726999IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000378721.97981036
Exec Transaction235992572025-10-17 18:45:47163 days ago1760726747IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000054610.45217455
Exec Transaction235992442025-10-17 18:42:59163 days ago1760726579IN
Smart Account by Safe 0x609517eA...d88C866FE
0 ETH0.000043610.33229699
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer210243082024-10-22 23:09:35523 days ago1729638575
Smart Account by Safe 0x609517eA...d88C866FE
0.13610574 ETH
Transfer194124212024-03-11 14:21:47749 days ago1710166907
Smart Account by Safe 0x609517eA...d88C866FE
0.13301641 ETH
Transfer185853702023-11-16 15:33:47864 days ago1700148827
Smart Account by Safe 0x609517eA...d88C866FE
0.20690791 ETH
Transfer184852182023-11-02 15:15:23878 days ago1698938123
Smart Account by Safe 0x609517eA...d88C866FE
0.26822444 ETH
Transfer171732402023-05-02 12:59:111063 days ago1683032351
Smart Account by Safe 0x609517eA...d88C866FE
0.1333369 ETH
Transfer168414332023-03-16 15:55:471109 days ago1678982147
Smart Account by Safe 0x609517eA...d88C866FE
0.0001 ETH
0x60806040166033662023-02-11 5:15:231143 days ago1676092523  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xDaB5dc22...0ba42d2a6
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
GnosisSafeProxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-09
*/

// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity >=0.7.0 <0.9.0;

/// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain
/// @author Richard Meissner - <richard@gnosis.io>
interface IProxy {
    function masterCopy() external view returns (address);
}

/// @title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
/// @author Stefan George - <stefan@gnosis.io>
/// @author Richard Meissner - <richard@gnosis.io>
contract GnosisSafeProxy {
    // singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
    // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
    address internal singleton;

    /// @dev Constructor function sets address of singleton contract.
    /// @param _singleton Singleton address.
    constructor(address _singleton) {
        require(_singleton != address(0), "Invalid singleton address provided");
        singleton = _singleton;
    }

    /// @dev Fallback function forwards all transactions and returns all received return data.
    fallback() external payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let _singleton := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)
            // 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s
            if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) {
                mstore(0, _singleton)
                return(0, 0x20)
            }
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), _singleton, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) {
                revert(0, returndatasize())
            }
            return(0, returndatasize())
        }
    }
}

/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @author Stefan George - <stefan@gnosis.pm>
contract GnosisSafeProxyFactory {
    event ProxyCreation(GnosisSafeProxy proxy, address singleton);

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param singleton Address of singleton contract.
    /// @param data Payload for message call sent to new proxy contract.
    function createProxy(address singleton, bytes memory data) public returns (GnosisSafeProxy proxy) {
        proxy = new GnosisSafeProxy(singleton);
        if (data.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, singleton);
    }

    /// @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.
    function proxyRuntimeCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).runtimeCode;
    }

    /// @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
    function proxyCreationCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).creationCode;
    }

    /// @dev Allows to create new proxy contact using CREATE2 but it doesn't run the initializer.
    ///      This method is only meant as an utility to be called from other methods
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function deployProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) internal returns (GnosisSafeProxy proxy) {
        // If the initializer changes the proxy address should change too. Hashing the initializer data is cheaper than just concatinating it
        bytes32 salt = keccak256(abi.encodePacked(keccak256(initializer), saltNonce));
        bytes memory deploymentData = abi.encodePacked(type(GnosisSafeProxy).creationCode, uint256(uint160(_singleton)));
        // solhint-disable-next-line no-inline-assembly
        assembly {
            proxy := create2(0x0, add(0x20, deploymentData), mload(deploymentData), salt)
        }
        require(address(proxy) != address(0), "Create2 call failed");
    }

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function createProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) public returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        if (initializer.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(initializer, 0x20), mload(initializer), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, _singleton);
    }

    /// @dev Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    /// @param callback Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.
    function createProxyWithCallback(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce,
        IProxyCreationCallback callback
    ) public returns (GnosisSafeProxy proxy) {
        uint256 saltNonceWithCallback = uint256(keccak256(abi.encodePacked(saltNonce, callback)));
        proxy = createProxyWithNonce(_singleton, initializer, saltNonceWithCallback);
        if (address(callback) != address(0)) callback.proxyCreated(proxy, _singleton, initializer, saltNonce);
    }

    /// @dev Allows to get the address for a new proxy contact created via `createProxyWithNonce`
    ///      This method is only meant for address calculation purpose when you use an initializer that would revert,
    ///      therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function calculateCreateProxyWithNonceAddress(
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        revert(string(abi.encodePacked(proxy)));
    }
}

interface IProxyCreationCallback {
    function proxyCreated(
        GnosisSafeProxy proxy,
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external;
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

Deployed Bytecode Sourcemap

524:1528:0:-:0;;;1376:42;1372:1;1366:8;1362:57;1556:66;1552:1;1539:15;1536:87;1533:2;;;1653:10;1650:1;1643:21;1692:4;1689:1;1682:15;1533:2;1745:14;1742:1;1739;1726:34;1843:1;1840;1824:14;1821:1;1809:10;1802:5;1789:56;1880:16;1877:1;1874;1859:38;1926:1;1917:7;1914:14;1911:2;;;1958:16;1955:1;1948:27;1911:2;2014:16;2011:1;2004:27

Swarm Source

ipfs://d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
0x609517eACD9Ec2E24DfFD4Eeca54C6fd88C866FE
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.