ETH Price: $1,977.00 (+0.81%)
Gas: 0.03 Gwei
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update MCR242766482026-01-20 14:40:4732 days ago1768920047IN
Nexus Mutual: Capital Pool
0 ETH0.000136460.52613923

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer245089862026-02-22 1:00:595 hrs ago1771722059
Nexus Mutual: Capital Pool
0.15326081 ETH
Transfer245077982026-02-21 21:02:119 hrs ago1771707731
Nexus Mutual: Capital Pool
0.07517152 ETH
Transfer245077982026-02-21 21:02:119 hrs ago1771707731
Nexus Mutual: Capital Pool
0.12424637 ETH
Transfer245077982026-02-21 21:02:119 hrs ago1771707731
Nexus Mutual: Capital Pool
0.0389996 ETH
Transfer245075342026-02-21 20:08:5910 hrs ago1771704539
Nexus Mutual: Capital Pool
0.08153595 ETH
Transfer245075342026-02-21 20:08:5910 hrs ago1771704539
Nexus Mutual: Capital Pool
0.24972002 ETH
Transfer245075322026-02-21 20:08:3510 hrs ago1771704515
Nexus Mutual: Capital Pool
0.42875416 ETH
Transfer245073932026-02-21 19:40:2310 hrs ago1771702823
Nexus Mutual: Capital Pool
0.10317589 ETH
Transfer245073912026-02-21 19:39:5910 hrs ago1771702799
Nexus Mutual: Capital Pool
0.3264043 ETH
Transfer245073692026-02-21 19:35:3511 hrs ago1771702535
Nexus Mutual: Capital Pool
0.10929176 ETH
Transfer245073682026-02-21 19:35:2311 hrs ago1771702523
Nexus Mutual: Capital Pool
0.34577973 ETH
Transfer245073562026-02-21 19:32:5911 hrs ago1771702379
Nexus Mutual: Capital Pool
0.07733988 ETH
Transfer245073232026-02-21 19:26:2311 hrs ago1771701983
Nexus Mutual: Capital Pool
0.05691752 ETH
Transfer245071842026-02-21 18:58:1111 hrs ago1771700291
Nexus Mutual: Capital Pool
0.10514023 ETH
Transfer245071842026-02-21 18:58:1111 hrs ago1771700291
Nexus Mutual: Capital Pool
0.28825641 ETH
Transfer245071782026-02-21 18:56:5911 hrs ago1771700219
Nexus Mutual: Capital Pool
0.26468891 ETH
Transfer245071782026-02-21 18:56:5911 hrs ago1771700219
Nexus Mutual: Capital Pool
0.08597753 ETH
Transfer245071742026-02-21 18:56:1111 hrs ago1771700171
Nexus Mutual: Capital Pool
0.09629111 ETH
Transfer245071732026-02-21 18:55:5911 hrs ago1771700159
Nexus Mutual: Capital Pool
0.05 ETH
Transfer245071732026-02-21 18:55:5911 hrs ago1771700159
Nexus Mutual: Capital Pool
0.29728628 ETH
Transfer245071712026-02-21 18:55:3511 hrs ago1771700135
Nexus Mutual: Capital Pool
0.06572569 ETH
Transfer245071712026-02-21 18:55:3511 hrs ago1771700135
Nexus Mutual: Capital Pool
0.25013187 ETH
Transfer245071712026-02-21 18:55:3511 hrs ago1771700135
Nexus Mutual: Capital Pool
0.07737976 ETH
Transfer245071642026-02-21 18:54:1111 hrs ago1771700051
Nexus Mutual: Capital Pool
0.002 ETH
Transfer245071402026-02-21 18:49:2311 hrs ago1771699763
Nexus Mutual: Capital Pool
0.27370956 ETH
View All Internal Transactions
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 0xcafea2c5...9E7236b9e
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UpgradeableProxy

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
prague EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: GPL-3.0-only

pragma solidity ^0.8.28;

import "../../interfaces/IUpgradeableProxy.sol";

contract UpgradeableProxy is IUpgradeableProxy {

  bytes32 private constant IMPLEMENTATION_POSITION = bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1);
  bytes32 private constant PROXY_OWNER_POSITION = bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1);

  modifier onlyProxyOwner() {
    require(msg.sender == proxyOwner());
    _;
  }

  constructor() {
    _sstore(PROXY_OWNER_POSITION, msg.sender);
  }

  function _sload(bytes32 position) internal view returns (address value) {
    // solhint-disable-next-line no-inline-assembly
    assembly { value := sload(position) }
  }

  function _sstore(bytes32 position, address value) internal {
    // solhint-disable-next-line no-inline-assembly
    assembly { sstore(position, value) }
  }

  function proxyOwner() public view returns (address owner) {
    return _sload(PROXY_OWNER_POSITION);
  }

  function implementation() public view returns (address impl) {
    return _sload(IMPLEMENTATION_POSITION);
  }

  function transferProxyOwnership(address _newOwner) public onlyProxyOwner {
    require(_newOwner != address(0), InvalidAddress());
    address _previousOwner = _sload(PROXY_OWNER_POSITION);
    _sstore(PROXY_OWNER_POSITION, _newOwner);
    emit ProxyOwnershipTransferred(_previousOwner, _newOwner);
  }

  function upgradeTo(address _newImplementation) public onlyProxyOwner {
    _sstore(IMPLEMENTATION_POSITION, _newImplementation);
    emit Upgraded(_newImplementation);
  }

  function _delegate() internal {
    address _impl = implementation();
    require(_impl != address(0));

    // solhint-disable-next-line no-inline-assembly
    assembly {
      let ptr := mload(0x40)
      calldatacopy(ptr, 0, calldatasize())
      let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
      let size := returndatasize()
      returndatacopy(ptr, 0, size)

      switch result
      case 0 {revert(ptr, size)}
      default {return (ptr, size)}
    }
  }

  fallback() external payable {
    _delegate();
  }

  receive() external payable {
    _delegate();
  }
}

// SPDX-License-Identifier: GPL-3.0-only

pragma solidity >=0.5.0;

interface IUpgradeableProxy {

  event Upgraded(address indexed implementation);
  event ProxyOwnershipTransferred(address previousOwner, address newOwner);

  function proxyOwner() external view returns (address);

  function implementation() external view returns (address);

  function transferProxyOwnership(address _newOwner) external;

  function upgradeTo(address _newImplementation) external;

  error InvalidAddress();

}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x6080604052348015600e575f5ffd5b50603f603a60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046043565b339055565b6067565b81810381811115606157634e487b7160e01b5f52601160045260245ffd5b92915050565b61038c806100745f395ff3fe608060405260043610610042575f3560e01c8063025313a2146100595780633659cfe6146100895780635c60da1b146100a8578063f1739cae146100bc57610051565b366100515761004f6100db565b005b61004f6100db565b348015610064575f5ffd5b5061006d61011a565b6040516001600160a01b03909116815260200160405180910390f35b348015610094575f5ffd5b5061004f6100a3366004610304565b610152565b3480156100b3575f5ffd5b5061006d6101df565b3480156100c7575f5ffd5b5061004f6100d6366004610304565b61020e565b5f6100e46101df565b90506001600160a01b0381166100f8575f5ffd5b604051365f82375f5f3683855af43d805f843e818015610116578184f35b8184fd5b5f61014d61014960017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b5490565b905090565b61015a61011a565b6001600160a01b0316336001600160a01b031614610176575f5ffd5b6101a96101a460017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610331565b829055565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f61014d61014960017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610331565b61021661011a565b6001600160a01b0316336001600160a01b031614610232575f5ffd5b6001600160a01b0381166102595760405163e6c4247b60e01b815260040160405180910390fd5b5f61028861014960017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b90506102bd6102b860017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b839055565b604080516001600160a01b038084168252841660208201527f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9910160405180910390a15050565b5f60208284031215610314575f5ffd5b81356001600160a01b038116811461032a575f5ffd5b9392505050565b8181038181111561035057634e487b7160e01b5f52601160045260245ffd5b9291505056fea26469706673582212200293dd4f6805bd0e97bd9244f5bcde5a3c72105536018cb8ce208fc15d84a98264736f6c634300081c0033

Deployed Bytecode

0x608060405260043610610042575f3560e01c8063025313a2146100595780633659cfe6146100895780635c60da1b146100a8578063f1739cae146100bc57610051565b366100515761004f6100db565b005b61004f6100db565b348015610064575f5ffd5b5061006d61011a565b6040516001600160a01b03909116815260200160405180910390f35b348015610094575f5ffd5b5061004f6100a3366004610304565b610152565b3480156100b3575f5ffd5b5061006d6101df565b3480156100c7575f5ffd5b5061004f6100d6366004610304565b61020e565b5f6100e46101df565b90506001600160a01b0381166100f8575f5ffd5b604051365f82375f5f3683855af43d805f843e818015610116578184f35b8184fd5b5f61014d61014960017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b5490565b905090565b61015a61011a565b6001600160a01b0316336001600160a01b031614610176575f5ffd5b6101a96101a460017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610331565b829055565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f61014d61014960017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610331565b61021661011a565b6001600160a01b0316336001600160a01b031614610232575f5ffd5b6001600160a01b0381166102595760405163e6c4247b60e01b815260040160405180910390fd5b5f61028861014960017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b90506102bd6102b860017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104610331565b839055565b604080516001600160a01b038084168252841660208201527f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9910160405180910390a15050565b5f60208284031215610314575f5ffd5b81356001600160a01b038116811461032a575f5ffd5b9392505050565b8181038181111561035057634e487b7160e01b5f52601160045260245ffd5b9291505056fea26469706673582212200293dd4f6805bd0e97bd9244f5bcde5a3c72105536018cb8ce208fc15d84a98264736f6c634300081c0033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
0xcafea91714e55756C125B509274eDE9Bc91697CB
Loading...
Loading
Loading...
Loading
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.