ETH Price: $3,771.39 (+0.93%)
Gas: 12 Gwei

Contract

0x3980c9ed79d2c191A89E02Fa3529C60eD6e9c04b
 

Overview

ETH Balance

4,245.003742126649300872 ETH

Eth Value

$16,009,577.22 (@ $3,771.39/ETH)

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
Value
0x05750c695e0881749c6c5f6501186f26c2713645a3303c8231cb5b8829a713aeDeposit ERC20To ...(pending)2024-05-23 19:20:214 mins ago1716492021IN
Metis Andromeda: Bridge
0.0002964 ETH(Pending)(Pending)
0x936d7c22c71f3bec4e9d1f67409e81630d6ad5f7248cc228e5751792ab99bd18Deposit ETH To B...(pending)2024-05-20 12:01:033 days ago1716206463IN
Metis Andromeda: Bridge
0.000001 ETH(Pending)(Pending)
Deposit ERC20To ...199326462024-05-23 12:40:476 hrs ago1716468047IN
Metis Andromeda: Bridge
0 ETH0.0035203616.3845286
Deposit ETH To B...199324482024-05-23 12:00:597 hrs ago1716465659IN
Metis Andromeda: Bridge
15 ETH0.0029920916.57137021
Deposit ERC20To ...199324362024-05-23 11:58:357 hrs ago1716465515IN
Metis Andromeda: Bridge
0 ETH0.0038028217.3789427
Deposit ERC20To ...199323372024-05-23 11:38:477 hrs ago1716464327IN
Metis Andromeda: Bridge
0 ETH0.001997638.93374302
Deposit ERC20To ...199320902024-05-23 10:49:118 hrs ago1716461351IN
Metis Andromeda: Bridge
0 ETH0.0021576810.51200713
Deposit ETH To B...199303792024-05-23 5:05:2314 hrs ago1716440723IN
Metis Andromeda: Bridge
0.004 ETH0.000790674.3790856
Deposit ERC20To ...199290422024-05-23 0:36:1118 hrs ago1716424571IN
Metis Andromeda: Bridge
0 ETH0.001330656.48281315
Deposit ETH To B...199276052024-05-22 19:47:5923 hrs ago1716407279IN
Metis Andromeda: Bridge
0.001 ETH0.001697769.40286442
Deposit ERC20To ...199269352024-05-22 17:32:5925 hrs ago1716399179IN
Metis Andromeda: Bridge
0 ETH0.0033713615.69107907
Deposit ERC20To ...199265262024-05-22 16:10:5927 hrs ago1716394259IN
Metis Andromeda: Bridge
0 ETH0.0037483217.44648717
Deposit ETH To B...199250912024-05-22 11:21:5932 hrs ago1716376919IN
Metis Andromeda: Bridge
0.001 ETH0.00153598.50642806
Deposit ETH To B...199249112024-05-22 10:45:2332 hrs ago1716374723IN
Metis Andromeda: Bridge
200 ETH0.001349147.47209653
Deposit ETH To B...199210132024-05-21 21:37:3545 hrs ago1716327455IN
Metis Andromeda: Bridge
0.0001 ETH0.001387867.68652769
Deposit ETH To B...199188052024-05-21 14:13:472 days ago1716300827IN
Metis Andromeda: Bridge
0.31385368 ETH0.0040930622.66899261
Deposit ERC20To ...199185292024-05-21 13:17:592 days ago1716297479IN
Metis Andromeda: Bridge
0 ETH0.0038358917.85406486
Deposit ERC20To ...199180172024-05-21 11:34:592 days ago1716291299IN
Metis Andromeda: Bridge
0 ETH0.0030213813.51209693
Deposit ERC20To ...199172112024-05-21 8:52:352 days ago1716281555IN
Metis Andromeda: Bridge
0 ETH0.0017888.32223368
Deposit ERC20To ...199170132024-05-21 8:12:472 days ago1716279167IN
Metis Andromeda: Bridge
0 ETH0.001361736.3817323
Deposit ERC20To ...199167412024-05-21 7:17:472 days ago1716275867IN
Metis Andromeda: Bridge
0 ETH0.0024344811.3306349
Deposit ERC20To ...199148882024-05-21 1:05:352 days ago1716253535IN
Metis Andromeda: Bridge
0 ETH0.003332915.51203718
Deposit ERC20To ...199148052024-05-21 0:48:592 days ago1716252539IN
Metis Andromeda: Bridge
0 ETH0.0034305416.3322853
Deposit ERC20To ...199147752024-05-21 0:42:472 days ago1716252167IN
Metis Andromeda: Bridge
0 ETH0.003107214.56264591
Deposit ERC20To ...199147472024-05-21 0:36:592 days ago1716251819IN
Metis Andromeda: Bridge
0 ETH0.0032624415.53110272
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
199258022024-05-22 13:45:2329 hrs ago1716385523
Metis Andromeda: Bridge
51 ETH
198704072024-05-14 19:48:238 days ago1715716103
Metis Andromeda: Bridge
56 ETH
198615272024-05-13 13:55:2310 days ago1715608523
Metis Andromeda: Bridge
47 ETH
198479202024-05-11 16:16:1112 days ago1715444171
Metis Andromeda: Bridge
130.12404993 ETH
198342082024-05-09 18:14:2314 days ago1715278463
Metis Andromeda: Bridge
0.77660717 ETH
198198612024-05-07 18:04:5916 days ago1715105099
Metis Andromeda: Bridge
3 ETH
198168772024-05-07 8:04:3516 days ago1715069075
Metis Andromeda: Bridge
0.21876243 ETH
198080712024-05-06 2:29:4717 days ago1714962587
Metis Andromeda: Bridge
15.35887648 ETH
197999972024-05-04 23:23:3518 days ago1714865015
Metis Andromeda: Bridge
2.6186405 ETH
197955782024-05-04 8:34:1119 days ago1714811651
Metis Andromeda: Bridge
26 ETH
197733162024-05-01 5:53:2322 days ago1714542803
Metis Andromeda: Bridge
10.61753947 ETH
197357232024-04-25 23:40:2327 days ago1714088423
Metis Andromeda: Bridge
0.4 ETH
197239152024-04-24 8:01:4729 days ago1713945707
Metis Andromeda: Bridge
37 ETH
197130312024-04-22 19:29:3530 days ago1713814175
Metis Andromeda: Bridge
1.5 ETH
197095642024-04-22 7:52:1131 days ago1713772331
Metis Andromeda: Bridge
14.99838849 ETH
197085912024-04-22 4:35:4731 days ago1713760547
Metis Andromeda: Bridge
110 ETH
197004742024-04-21 1:22:2332 days ago1713662543
Metis Andromeda: Bridge
71.67498692 ETH
197000522024-04-20 23:57:5932 days ago1713657479
Metis Andromeda: Bridge
0.00650316 ETH
196973582024-04-20 14:56:3533 days ago1713624995
Metis Andromeda: Bridge
53 ETH
196941012024-04-20 3:59:2333 days ago1713585563
Metis Andromeda: Bridge
0.64516065 ETH
196940982024-04-20 3:58:4733 days ago1713585527
Metis Andromeda: Bridge
0.1 ETH
196825652024-04-18 13:13:1135 days ago1713445991
Metis Andromeda: Bridge
73 ETH
196561032024-04-14 20:17:1138 days ago1713125831
Metis Andromeda: Bridge
2 ETH
196381112024-04-12 7:43:4741 days ago1712907827
Metis Andromeda: Bridge
56 ETH
196348662024-04-11 20:49:5941 days ago1712868599
Metis Andromeda: Bridge
0.25020486 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
L1ChugSplashProxy

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion
File 1 of 2 : L1ChugSplashProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import { iL1ChugSplashDeployer } from "./interfaces/iL1ChugSplashDeployer.sol";

/**
 * @title L1ChugSplashProxy
 * @dev Basic ChugSplash proxy contract for L1. Very close to being a normal proxy but has added
 * functions `setCode` and `setStorage` for changing the code or storage of the contract. Nifty!
 *
 * Note for future developers: do NOT make anything in this contract 'public' unless you know what
 * you're doing. Anything public can potentially have a function signature that conflicts with a
 * signature attached to the implementation contract. Public functions SHOULD always have the
 * 'proxyCallIfNotOwner' modifier unless there's some *really* good reason not to have that
 * modifier. And there almost certainly is not a good reason to not have that modifier. Beware!
 */
contract L1ChugSplashProxy {

    /*************
     * Constants *
     *************/

    // "Magic" prefix. When prepended to some arbitrary bytecode and used to create a contract, the
    // appended bytecode will be deployed as given.
    bytes13 internal constant DEPLOY_CODE_PREFIX = 0x600D380380600D6000396000f3;

    // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
    bytes32 internal constant IMPLEMENTATION_KEY =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    // bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1)
    bytes32 internal constant OWNER_KEY =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /***************
     * Constructor *
     ***************/

    /**
     * @param _owner Address of the initial contract owner.
     */
    constructor(address _owner) {
        _setOwner(_owner);
    }

    /**********************
     * Function Modifiers *
     **********************/

    /**
     * Blocks a function from being called when the parent signals that the system should be paused
     * via an isUpgrading function.
     */
    modifier onlyWhenNotPaused() {
        address owner = _getOwner();

        // We do a low-level call because there's no guarantee that the owner actually *is* an
        // L1ChugSplashDeployer contract and Solidity will throw errors if we do a normal call and
        // it turns out that it isn't the right type of contract.
        (bool success, bytes memory returndata) = owner.staticcall(
            abi.encodeWithSelector(iL1ChugSplashDeployer.isUpgrading.selector)
        );

        // If the call was unsuccessful then we assume that there's no "isUpgrading" method and we
        // can just continue as normal. We also expect that the return value is exactly 32 bytes
        // long. If this isn't the case then we can safely ignore the result.
        if (success && returndata.length == 32) {
            // Although the expected value is a *boolean*, it's safer to decode as a uint256 in the
            // case that the isUpgrading function returned something other than 0 or 1. But we only
            // really care about the case where this value is 0 (= false).
            uint256 ret = abi.decode(returndata, (uint256));
            require(ret == 0, "L1ChugSplashProxy: system is currently being upgraded");
        }

        _;
    }

    /**
     * Makes a proxy call instead of triggering the given function when the caller is either the
     * owner or the zero address. Caller can only ever be the zero address if this function is
     * being called off-chain via eth_call, which is totally fine and can be convenient for
     * client-side tooling. Avoids situations where the proxy and implementation share a sighash
     * and the proxy function ends up being called instead of the implementation one.
     *
     * Note: msg.sender == address(0) can ONLY be triggered off-chain via eth_call. If there's a
     * way for someone to send a transaction with msg.sender == address(0) in any real context then
     * we have much bigger problems. Primary reason to include this additional allowed sender is
     * because the owner address can be changed dynamically and we do not want clients to have to
     * keep track of the current owner in order to make an eth_call that doesn't trigger the
     * proxied contract.
     */
    modifier proxyCallIfNotOwner() {
        if (msg.sender == _getOwner() || msg.sender == address(0)) {
            _;
        } else {
            // This WILL halt the call frame on completion.
            _doProxyCall();
        }
    }


    /*********************
     * Fallback Function *
     *********************/

    fallback() external payable {
        // Proxy call by default.
        _doProxyCall();
    }


    /********************
     * Public Functions *
     ********************/

    /**
     * Sets the code that should be running behind this proxy. Note that this scheme is a bit
     * different from the standard proxy scheme where one would typically deploy the code
     * separately and then set the implementation address. We're doing it this way because it gives
     * us a lot more freedom on the client side. Can only be triggered by the contract owner.
     * @param _code New contract code to run inside this contract.
     */
    function setCode(bytes memory _code) public proxyCallIfNotOwner {
        // Get the code hash of the current implementation.
        address implementation = _getImplementation();

        // If the code hash matches the new implementation then we return early.
        if (keccak256(_code) == _getAccountCodeHash(implementation)) {
            return;
        }

        // Create the deploycode by appending the magic prefix.
        bytes memory deploycode = abi.encodePacked(DEPLOY_CODE_PREFIX, _code);

        // Deploy the code and set the new implementation address.
        address newImplementation;
        assembly {
            newImplementation := create(0x0, add(deploycode, 0x20), mload(deploycode))
        }

        // Check that the code was actually deployed correctly. I'm not sure if you can ever
        // actually fail this check. Should only happen if the contract creation from above runs
        // out of gas but this parent execution thread does NOT run out of gas. Seems like we
        // should be doing this check anyway though.
        require(
            _getAccountCodeHash(newImplementation) == keccak256(_code),
            "L1ChugSplashProxy: code was not correctly deployed."
        );

        _setImplementation(newImplementation);
    }

    /**
     * Modifies some storage slot within the proxy contract. Gives us a lot of power to perform
     * upgrades in a more transparent way. Only callable by the owner.
     * @param _key Storage key to modify.
     * @param _value New value for the storage key.
     */
    function setStorage(bytes32 _key, bytes32 _value) public proxyCallIfNotOwner {
        assembly {
            sstore(_key, _value)
        }
    }

    /**
     * Changes the owner of the proxy contract. Only callable by the owner.
     * @param _owner New owner of the proxy contract.
     */
    function setOwner(address _owner) public proxyCallIfNotOwner {
        _setOwner(_owner);
    }

    /**
     * Queries the owner of the proxy contract. Can only be called by the owner OR by making an
     * eth_call and setting the "from" address to address(0).
     * @return Owner address.
     */
    function getOwner() public proxyCallIfNotOwner returns (address) {
        return _getOwner();
    }

    /**
     * Queries the implementation address. Can only be called by the owner OR by making an
     * eth_call and setting the "from" address to address(0).
     * @return Implementation address.
     */
    function getImplementation() public proxyCallIfNotOwner returns (address) {
        return _getImplementation();
    }

    /**********************
     * Internal Functions *
     **********************/

    /**
     * Sets the implementation address.
     * @param _implementation New implementation address.
     */
    function _setImplementation(address _implementation) internal {
        assembly {
            sstore(IMPLEMENTATION_KEY, _implementation)
        }
    }

    /**
     * Queries the implementation address.
     * @return Implementation address.
     */
    function _getImplementation() internal view returns (address) {
        address implementation;
        assembly {
            implementation := sload(IMPLEMENTATION_KEY)
        }
        return implementation;
    }

    /**
     * Changes the owner of the proxy contract.
     * @param _owner New owner of the proxy contract.
     */
    function _setOwner(address _owner) internal {
        assembly {
            sstore(OWNER_KEY, _owner)
        }
    }

    /**
     * Queries the owner of the proxy contract.
     * @return Owner address.
     */
    function _getOwner() internal view returns (address) {
        address owner;
        assembly {
            owner := sload(OWNER_KEY)
        }
        return owner;
    }

    /**
     * Gets the code hash for a given account.
     * @param _account Address of the account to get a code hash for.
     * @return Code hash for the account.
     */
    function _getAccountCodeHash(address _account) internal view returns (bytes32) {
        bytes32 codeHash;
        assembly {
            codeHash := extcodehash(_account)
        }
        return codeHash;
    }

    /**
     * Performs the proxy call via a delegatecall.
     */
    function _doProxyCall() internal onlyWhenNotPaused {
        address implementation = _getImplementation();

        require(implementation != address(0), "L1ChugSplashProxy: implementation is not set yet");

        assembly {
            // Copy calldata into memory at 0x0....calldatasize.
            calldatacopy(0x0, 0x0, calldatasize())

            // Perform the delegatecall, make sure to pass all available gas.
            let success := delegatecall(gas(), implementation, 0x0, calldatasize(), 0x0, 0x0)

            // Copy returndata into memory at 0x0....returndatasize. Note that this *will*
            // overwrite the calldata that we just copied into memory but that doesn't really
            // matter because we'll be returning in a second anyway.
            returndatacopy(0x0, 0x0, returndatasize())

            // Success == 0 means a revert. We'll revert too and pass the data up.
            if iszero(success) {
                revert(0x0, returndatasize())
            }

            // Otherwise we'll just return and pass the data up.
            return(0x0, returndatasize())
        }
    }
}

File 3 of 2 : iL1ChugSplashDeployer.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

/**
 * @title iL1ChugSplashDeployer
 */
interface iL1ChugSplashDeployer {
    function isUpgrading() external view returns (bool);
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_code","type":"bytes"}],"name":"setCode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"setStorage","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x60806040526004361061005a5760003560e01c8063893d20e811610043578063893d20e8146100a45780639b0b0fda146100e2578063aaf10f42146101025761005a565b806313af4035146100645780636c5d4ad014610084575b610062610117565b005b34801561007057600080fd5b5061006261007f366004610792565b6103ba565b34801561009057600080fd5b5061006261009f3660046107fe565b61044b565b3480156100b057600080fd5b506100b9610601565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ee57600080fd5b506100626100fd3660046108cd565b610698565b34801561010e57600080fd5b506100b9610706565b60006101417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb7947262000000000000000000000000000000000000000000000000000000001790529051919250600091829173ffffffffffffffffffffffffffffffffffffffff8516916101c3919061092a565b600060405180830381855afa9150503d80600081146101fe576040519150601f19603f3d011682016040523d82523d6000602084013e610203565b606091505b5091509150818015610216575080516020145b156102c8576000818060200190518101906102319190610936565b905080156102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c314368756753706c61736850726f78793a2073797374656d2069732063757260448201527f72656e746c79206265696e67207570677261646564000000000000000000000060648201526084015b60405180910390fd5b505b60006102f27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4c314368756753706c61736850726f78793a20696d706c656d656e746174696f60448201527f6e206973206e6f7420736574207965740000000000000000000000000000000060648201526084016102bd565b3660008037600080366000845af43d6000803e806103b4573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610413575033155b1561044357610440817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b50565b610440610117565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104a4575033155b156104435760006104d37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b9050803f8251602084012014156104e8575050565b60405160009061051e907f600d380380600d6000396000f30000000000000000000000000000000000000090859060200161094f565b604051602081830303815290604052905060008151602083016000f084516020860120909150813f146105d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f4c314368756753706c61736850726f78793a20636f646520776173206e6f742060448201527f636f72726563746c79206465706c6f7965642e0000000000000000000000000060648201526084016102bd565b6105fb817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50505050565b600061062b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610662575033155b1561068d57507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610695610117565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106f1575033155b156106fa579055565b610702610117565b5050565b60006107307fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610767575033155b1561068d57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000602082840312156107a457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146107c857600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561081057600080fd5b813567ffffffffffffffff8082111561082857600080fd5b818401915084601f83011261083c57600080fd5b81358181111561084e5761084e6107cf565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610894576108946107cf565b816040528281528760208487010111156108ad57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080604083850312156108e057600080fd5b50508035926020909101359150565b6000815160005b8181101561091057602081850181015186830152016108f6565b8181111561091f576000828601525b509290920192915050565b60006107c882846108ef565b60006020828403121561094857600080fd5b5051919050565b7fffffffffffffffffffffffffff00000000000000000000000000000000000000831681526000610983600d8301846108ef565b94935050505056fea2646970667358221220dde189f053dd53b92cedb63aa0b46d4d1bba8c55579e196ac7ca5c1368c5dc8264736f6c63430008090033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Chain Token Portfolio % Price Amount Value
ETH91.88%$77.187,429,610.0116$573,417,300.7
ETH2.80%$0.99927317,515,543.6247$17,502,809.82
ETH
Ether (ETH)
2.57%$3,771.394,245.0037$16,009,577.22
ETH2.54%$0.99918815,847,142.0722$15,834,274.19
ETH0.15%$0.999074957,321.1257$956,434.65
ETH0.05%$67,2654.5799$308,065.62
ETH0.01%$93.5690.12$64,526.12
ETH<0.01%$0.11603976,176.3618$8,839.43
ETH<0.01%$15.97398.9832$6,371.76
ETH<0.01%$0.9971753,053.1236$3,044.5
ETH<0.01%$1.162,089.4688$2,423.78
ETH<0.01%$9.111$9.11
ETH<0.01%$0.0011741,000$1.17
ETH<0.01%$0.4464351$0.4464
ETH<0.01%$0.2329551$0.2329
ZKSYNC<0.01%$3,768.540.026$97.98
ARB<0.01%$3,770.680.0108$40.65
LINEA<0.01%$3,768.540.0031246$11.78
BASE<0.01%$3,771.050.00221$8.33
OP<0.01%$3,770.680.001$3.77
BLAST<0.01%$3,771.050.00010033$0.378351
BSC<0.01%$589.740.0005$0.294871
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.