ETH Price: $2,863.33 (-2.65%)

Contract

0x4196b39157659BF0De9ebF6E505648B7889a39cE
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Transaction Hash
Block
From
To
Transfer ERC721s300939442026-01-21 12:15:034 days ago1768997703IN
Element: ElementEx
0 ETH0.000006740.00000025
Cancel ERC721Ord...283132162025-12-11 6:57:2745 days ago1765436247IN
Element: ElementEx
0 ETH0.00001050.20096029
Cancel ERC721Ord...258207402025-10-14 14:14:55103 days ago1760451295IN
Element: ElementEx
0 ETH00.00000257
Batch Cancel ERC...258206802025-10-14 14:12:55103 days ago1760451175IN
Element: ElementEx
0 ETH00.00000261
Cancel ERC721Ord...252574272025-10-01 13:17:49116 days ago1759324669IN
Element: ElementEx
0 ETH00.00000061
Cancel ERC1155Or...244526122025-09-12 22:10:39135 days ago1757715039IN
Element: ElementEx
0 ETH0.000000050.00100062
Cancel ERC721Ord...243047792025-09-09 12:02:53138 days ago1757419373IN
Element: ElementEx
0 ETH0.000000030.00100065
Cancel ERC721Ord...243046302025-09-09 11:57:55138 days ago1757419075IN
Element: ElementEx
0 ETH0.000000030.00100062
Cancel ERC721Ord...242977742025-09-09 8:09:23138 days ago1757405363IN
Element: ElementEx
0 ETH0.000000030.00100465
Cancel ERC721Ord...236361732025-08-25 0:36:01154 days ago1756082161IN
Element: ElementEx
0 ETH0.000000030.00112309
Cancel ERC721Ord...236322972025-08-24 22:26:49154 days ago1756074409IN
Element: ElementEx
0 ETH0.000000030.00112187
Fill Batch Signe...234546152025-08-20 19:44:05158 days ago1755719045IN
Element: ElementEx
0.01 ETH0.000000190.00125928
Cancel ERC721Ord...234073082025-08-19 17:27:11159 days ago1755624431IN
Element: ElementEx
0 ETH00.00003435
Cancel ERC721Ord...234073022025-08-19 17:26:59159 days ago1755624419IN
Element: ElementEx
0 ETH00.00003468
Cancel ERC721Ord...231537392025-08-13 20:34:53165 days ago1755117293IN
Element: ElementEx
0 ETH0.000000040.00130971
Cancel ERC721Ord...231537372025-08-13 20:34:49165 days ago1755117289IN
Element: ElementEx
0 ETH0.000000060.00130966
Cancel ERC721Ord...231092522025-08-12 19:51:59166 days ago1755028319IN
Element: ElementEx
0 ETH00.00003557
Cancel ERC721Ord...229599542025-08-09 8:55:23169 days ago1754729723IN
Element: ElementEx
0 ETH0.000000030.00112934
Cancel ERC721Ord...228416842025-08-06 15:13:03172 days ago1754493183IN
Element: ElementEx
0 ETH00.00001521
Transfer ERC721s228259532025-08-06 6:28:41172 days ago1754461721IN
Element: ElementEx
0 ETH00.00001508
Cancel ERC721Ord...223165182025-07-25 11:27:31184 days ago1753442851IN
Element: ElementEx
0 ETH00.0000091
Cancel ERC721Ord...220478602025-07-19 6:12:15190 days ago1752905535IN
Element: ElementEx
0 ETH0.000000030.0009622
Cancel ERC721Ord...220476692025-07-19 6:05:53190 days ago1752905153IN
Element: ElementEx
0 ETH0.000000030.00091545
Batch Cancel ERC...215530212025-07-07 19:17:37202 days ago1751915857IN
Element: ElementEx
0 ETH0.000000040.00111329
Cancel ERC721Ord...215529932025-07-07 19:16:41202 days ago1751915801IN
Element: ElementEx
0 ETH0.000000040.00111342
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
300939442026-01-21 12:15:034 days ago1768997703
0x4196b391...7889a39cE
0 ETH
300939442026-01-21 12:15:034 days ago1768997703
0x4196b391...7889a39cE
0 ETH
283132162025-12-11 6:57:2745 days ago1765436247
0x4196b391...7889a39cE
0 ETH
258207402025-10-14 14:14:55103 days ago1760451295
0x4196b391...7889a39cE
0 ETH
258206802025-10-14 14:12:55103 days ago1760451175
0x4196b391...7889a39cE
0 ETH
252574272025-10-01 13:17:49116 days ago1759324669
0x4196b391...7889a39cE
0 ETH
244526122025-09-12 22:10:39135 days ago1757715039
0x4196b391...7889a39cE
0 ETH
243047792025-09-09 12:02:53138 days ago1757419373
0x4196b391...7889a39cE
0 ETH
243046302025-09-09 11:57:55138 days ago1757419075
0x4196b391...7889a39cE
0 ETH
242977742025-09-09 8:09:23138 days ago1757405363
0x4196b391...7889a39cE
0 ETH
236361732025-08-25 0:36:01154 days ago1756082161
0x4196b391...7889a39cE
0 ETH
236322972025-08-24 22:26:49154 days ago1756074409
0x4196b391...7889a39cE
0 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0.0002 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0.0096 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0.0002 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0 ETH
234546152025-08-20 19:44:05158 days ago1755719045
0x4196b391...7889a39cE
0.01 ETH
234073082025-08-19 17:27:11159 days ago1755624431
0x4196b391...7889a39cE
0 ETH
234073022025-08-19 17:26:59159 days ago1755624419
0x4196b391...7889a39cE
0 ETH
231537392025-08-13 20:34:53165 days ago1755117293
0x4196b391...7889a39cE
0 ETH
231537372025-08-13 20:34:49165 days ago1755117289
0x4196b391...7889a39cE
0 ETH
231092522025-08-12 19:51:59166 days ago1755028319
0x4196b391...7889a39cE
0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElementEx

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./features/interfaces/IOwnableFeature.sol";
import "./features/interfaces/ISimpleFunctionRegistryFeature.sol";
import "./storage/LibProxyStorage.sol";
import "./storage/LibSimpleFunctionRegistryStorage.sol";
import "./storage/LibOwnableStorage.sol";

/// @dev An extensible proxy contract that serves as a universal entry point for
///      interacting with the 0x protocol.
contract ElementEx {

    constructor(address registryFeature, address ownableFeature) {
        // Initialize RegistryFeature.
        _extend(ISimpleFunctionRegistryFeature.registerMethods.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.extend.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.rollback.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.getRollbackLength.selector, registryFeature);
        _extend(ISimpleFunctionRegistryFeature.getRollbackEntryAtIndex.selector, registryFeature);

        // Initialize OwnableFeature.
        _extend(IOwnableFeature.transferOwnership.selector, ownableFeature);
        _extend(IOwnableFeature.owner.selector, ownableFeature);

        // Transfer ownership to the real owner.
        LibOwnableStorage.getStorage().owner = msg.sender;
    }

    /// @dev Forwards calls to the appropriate implementation contract.
    fallback() external payable {
        address impl = LibProxyStorage.getStorage().impls[msg.sig];
        assembly {
            if impl {
                calldatacopy(0, 0, calldatasize())
                if delegatecall(gas(), impl, 0, calldatasize(), 0, 0) {
                    // Success, copy the returned data and return.
                    returndatacopy(0, 0, returndatasize())
                    return(0, returndatasize())
                }

                // Failed, copy the returned data and revert.
                returndatacopy(0, 0, returndatasize())
                revert(0, returndatasize())
            }
        }
        revert("METHOD_NOT_IMPLEMENTED");
    }

    /// @dev Fallback for just receiving ether.
    receive() external payable {}

    /// @dev Get the implementation contract of a registered function.
    /// @param selector The function selector.
    /// @return impl The implementation contract address.
    function getFunctionImplementation(bytes4 selector) public view returns (address impl) {
        return LibProxyStorage.getStorage().impls[selector];
    }

    event ProxyFunctionUpdated(bytes4 indexed selector, address oldImpl, address newImpl);

    function _extend(bytes4 selector, address impl) private {
        LibSimpleFunctionRegistryStorage.Storage storage stor = LibSimpleFunctionRegistryStorage.getStorage();
        LibProxyStorage.Storage storage proxyStor = LibProxyStorage.getStorage();

        address oldImpl = proxyStor.impls[selector];
        address[] storage history = stor.implHistory[selector];
        history.push(oldImpl);
        proxyStor.impls[selector] = impl;
        emit ProxyFunctionUpdated(selector, oldImpl, impl);
    }
}

// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;


// solhint-disable no-empty-blocks
/// @dev Owner management and migration features.
interface IOwnableFeature {

    /// @dev Emitted by Ownable when ownership is transferred.
    /// @param previousOwner The previous owner of the contract.
    /// @param newOwner The new owner of the contract.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @dev Transfers ownership of the contract to a new address.
    /// @param newOwner The address that will become the owner.
    function transferOwnership(address newOwner) external;

    /// @dev The owner of this contract.
    /// @return ownerAddress The owner address.
    function owner() external view returns (address ownerAddress);
}

// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;


/// @dev Basic registry management features.
interface ISimpleFunctionRegistryFeature {

    /// @dev A function implementation was updated via `extend()` or `rollback()`.
    /// @param selector The function selector.
    /// @param oldImpl The implementation contract address being replaced.
    /// @param newImpl The replacement implementation contract address.
    event ProxyFunctionUpdated(bytes4 indexed selector, address oldImpl, address newImpl);

    function registerMethods(address impl, bytes4[] calldata methodIDs) external;

    /// @dev Roll back to a prior implementation of a function.
    /// @param selector The function selector.
    /// @param targetImpl The address of an older implementation of the function.
    function rollback(bytes4 selector, address targetImpl) external;

    /// @dev Register or replace a function.
    /// @param selector The function selector.
    /// @param impl The implementation contract for the function.
    function extend(bytes4 selector, address impl) external;

    /// @dev Retrieve the length of the rollback history for a function.
    /// @param selector The function selector.
    /// @return rollbackLength The number of items in the rollback history for
    ///         the function.
    function getRollbackLength(bytes4 selector) external view returns (uint256);

    /// @dev Retrieve an entry in the rollback history for a function.
    /// @param selector The function selector.
    /// @param idx The index in the rollback history.
    /// @return impl An implementation address for the function at
    ///         index `idx`.
    function getRollbackEntryAtIndex(bytes4 selector, uint256 idx)
        external
        view
        returns (address impl);
}

File 4 of 7 : LibOwnableStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the `Ownable` feature.
library LibOwnableStorage {

    /// @dev Storage bucket for this feature.
    struct Storage {
        // The owner of this contract.
        address owner;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_OWNABLE;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 5 of 7 : LibProxyStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the proxy contract.
library LibProxyStorage {

    /// @dev Storage bucket for proxy contract.
    struct Storage {
        // Mapping of function selector -> function implementation
        mapping(bytes4 => address) impls;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_PROXY;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 6 of 7 : LibSimpleFunctionRegistryStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.13;

import "./LibStorage.sol";


/// @dev Storage helpers for the `SimpleFunctionRegistry` feature.
library LibSimpleFunctionRegistryStorage {

    /// @dev Storage bucket for this feature.
    struct Storage {
        // Mapping of function selector -> implementation history.
        mapping(bytes4 => address[]) implHistory;
    }

    /// @dev Get the storage bucket for this contract.
    function getStorage() internal pure returns (Storage storage stor) {
        uint256 storageSlot = LibStorage.STORAGE_ID_SIMPLE_FUNCTION_REGISTRY;
        // Dip into assembly to change the slot pointed to by the local
        // variable `stor`.
        // See https://solidity.readthedocs.io/en/v0.6.8/assembly.html?highlight=slot#access-to-external-variables-functions-and-libraries
        assembly { stor.slot := storageSlot }
    }
}

File 7 of 7 : LibStorage.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Modifications Copyright 2022 Element.Market
  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.8.17;


/// @dev Common storage helpers
library LibStorage {

    /// @dev What to bit-shift a storage ID by to get its slot.
    ///      This gives us a maximum of 2**128 inline fields in each bucket.
    uint256 constant STORAGE_ID_PROXY = 1 << 128;
    uint256 constant STORAGE_ID_SIMPLE_FUNCTION_REGISTRY = 2 << 128;
    uint256 constant STORAGE_ID_OWNABLE = 3 << 128;
    uint256 constant STORAGE_ID_COMMON_NFT_ORDERS = 4 << 128;
    uint256 constant STORAGE_ID_ERC721_ORDERS = 5 << 128;
    uint256 constant STORAGE_ID_ERC1155_ORDERS = 6 << 128;
    uint256 constant STORAGE_ID_REENTRANCY_GUARD = 7 << 128;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"registryFeature","type":"address"},{"internalType":"address","name":"ownableFeature","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":false,"internalType":"address","name":"oldImpl","type":"address"},{"indexed":false,"internalType":"address","name":"newImpl","type":"address"}],"name":"ProxyFunctionUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getFunctionImplementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516103c53803806103c583398101604081905261002f916101e4565b610040634f333d3560e01b836100df565b610051636eb224cb60e01b836100df565b610062630276d92960e61b836100df565b61007363dfd0074960e01b836100df565b6100846335d35de160e11b836100df565b61009563f2fde38b60e01b826100df565b6100a6638da5cb5b60e01b826100df565b336100b96101b060201b6101281760201c565b80546001600160a01b0319166001600160a01b0392909216919091179055506102179050565b60006100f36101b860201b6101301760201c565b905060006101096101c060201b6101201760201c565b6001600160e01b03198516600081815260208381526040808320805488845282852080546001810182558187528587200180546001600160a01b039384166001600160a01b03199182168117909255968890528886528354909616918b16918217909255825185815293840152949550919392917f2ae221083467de52078b0096696ab88d8d53a7ecb44bb65b56a2bab687598367910160405180910390a2505050505050565b600360801b90565b600160811b90565b600160801b90565b80516001600160a01b03811681146101df57600080fd5b919050565b600080604083850312156101f757600080fd5b610200836101c8565b915061020e602084016101c8565b90509250929050565b61019f806102266000396000f3fe6080604052600436106100225760003560e01c8063972fdd26146100c157610029565b3661002957005b600080356001600160e01b0319168152600160801b60205260409020546001600160a01b0316801561007c573660008037600080366000845af415610072573d6000803e3d6000f35b3d6000803e3d6000fd5b60405162461bcd60e51b81526020600482015260166024820152751351551213d117d393d517d25354131153515395115160521b604482015260640160405180910390fd5b3480156100cd57600080fd5b506101046100dc366004610138565b6001600160e01b0319166000908152600160801b60205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b600160801b90565b600360801b90565b600160811b90565b60006020828403121561014a57600080fd5b81356001600160e01b03198116811461016257600080fd5b939250505056fea26469706673582212203f5941c7b3c3ab12aade22fff3191c27f42f8a3e9504faa87202a71aab0428a464736f6c63430008110033000000000000000000000000a39a5f160a1952ddf38781bd76e402b0006912a90000000000000000000000002317d8b224328644759319dffa2a5da77c72e0e9

Deployed Bytecode

0x6080604052600436106100225760003560e01c8063972fdd26146100c157610029565b3661002957005b600080356001600160e01b0319168152600160801b60205260409020546001600160a01b0316801561007c573660008037600080366000845af415610072573d6000803e3d6000f35b3d6000803e3d6000fd5b60405162461bcd60e51b81526020600482015260166024820152751351551213d117d393d517d25354131153515395115160521b604482015260640160405180910390fd5b3480156100cd57600080fd5b506101046100dc366004610138565b6001600160e01b0319166000908152600160801b60205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b600160801b90565b600360801b90565b600160811b90565b60006020828403121561014a57600080fd5b81356001600160e01b03198116811461016257600080fd5b939250505056fea26469706673582212203f5941c7b3c3ab12aade22fff3191c27f42f8a3e9504faa87202a71aab0428a464736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a39a5f160a1952ddf38781bd76e402b0006912a90000000000000000000000002317d8b224328644759319dffa2a5da77c72e0e9

-----Decoded View---------------
Arg [0] : registryFeature (address): 0xa39A5f160a1952dDf38781Bd76E402B0006912A9
Arg [1] : ownableFeature (address): 0x2317D8B224328644759319DFFA2A5da77C72e0e9

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a39a5f160a1952ddf38781bd76e402b0006912a9
Arg [1] : 0000000000000000000000002317d8b224328644759319dffa2a5da77c72e0e9


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.