ETH Price: $3,864.20 (+0.87%)

Contract

0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

ContractCreator

N/A (Genesis Contract)

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Multi Send133791112025-10-10 18:45:2212 days ago1760121922IN
0xA1dabEF3...4AC44102B
0 ETH0.000001520.00099996
Multi Send131054932025-10-07 14:45:0415 days ago1759848304IN
0xA1dabEF3...4AC44102B
0 ETH0.000001670.001049
Multi Send118603302025-09-23 4:52:2130 days ago1758603141IN
0xA1dabEF3...4AC44102B
0 ETH0.000003810.00100026
Multi Send106794822025-09-09 12:51:3343 days ago1757422293IN
0xA1dabEF3...4AC44102B
0 ETH0.000001670.0012
Multi Send70810922025-07-29 21:18:2385 days ago1753823903IN
0xA1dabEF3...4AC44102B
0 ETH0.000001760.00100026
Multi Send63459292025-07-21 9:05:4094 days ago1753088740IN
0xA1dabEF3...4AC44102B
0 ETH0.000000180.00104207
Multi Send60958472025-07-18 11:37:3896 days ago1752838658IN
0xA1dabEF3...4AC44102B
0 ETH0.000000550.00104292
Multi Send60951842025-07-18 11:26:3596 days ago1752837995IN
0xA1dabEF3...4AC44102B
0 ETH0.000000680.00104229
Multi Send59443812025-07-16 17:33:1298 days ago1752687192IN
0xA1dabEF3...4AC44102B
0 ETH0.000000190.00104211
Multi Send56520422025-07-13 8:20:53102 days ago1752394853IN
0xA1dabEF3...4AC44102B
0 ETH0.000000350.0011
Multi Send53390062025-07-09 17:23:37105 days ago1752081817IN
0xA1dabEF3...4AC44102B
0 ETH0.000000530.0012
Multi Send46135982025-07-01 7:53:29114 days ago1751356409IN
0xA1dabEF3...4AC44102B
0 ETH0.000000140.0012
Multi Send44332012025-06-29 5:46:52116 days ago1751176012IN
0xA1dabEF3...4AC44102B
0 ETH0.000000160.0012

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
77669932025-08-06 19:50:0477 days ago1754509804
0xA1dabEF3...4AC44102B
2 wei
77669932025-08-06 19:50:0477 days ago1754509804
0xA1dabEF3...4AC44102B
2 wei

Loading...
Loading

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

Contract Name:
MultiSendCallOnly

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
istanbul EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

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

/// @title Multi Send Call Only - Allows to batch multiple transactions into one, but only calls
/// @author Stefan George - <[email protected]>
/// @author Richard Meissner - <[email protected]>
/// @notice The guard logic is not required here as this contract doesn't support nested delegate calls
contract MultiSendCallOnly {
    /// @dev Sends multiple transactions and reverts all if one fails.
    /// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of
    ///                     operation has to be uint8(0) in this version (=> 1 byte),
    ///                     to as a address (=> 20 bytes),
    ///                     value as a uint256 (=> 32 bytes),
    ///                     data length as a uint256 (=> 32 bytes),
    ///                     data as bytes.
    ///                     see abi.encodePacked for more information on packed encoding
    /// @notice The code is for most part the same as the normal MultiSend (to keep compatibility),
    ///         but reverts if a transaction tries to use a delegatecall.
    /// @notice This method is payable as delegatecalls keep the msg.value from the previous call
    ///         If the calling method (e.g. execTransaction) received ETH this would revert otherwise
    function multiSend(bytes memory transactions) public payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let length := mload(transactions)
            let i := 0x20
            for {
                // Pre block is not used in "while mode"
            } lt(i, length) {
                // Post block is not used in "while mode"
            } {
                // First byte of the data is the operation.
                // We shift by 248 bits (256 - 8 [operation byte]) it right since mload will always load 32 bytes (a word).
                // This will also zero out unused data.
                let operation := shr(0xf8, mload(add(transactions, i)))
                // We offset the load address by 1 byte (operation byte)
                // We shift it right by 96 bits (256 - 160 [20 address bytes]) to right-align the data and zero out unused data.
                let to := shr(0x60, mload(add(transactions, add(i, 0x01))))
                // We offset the load address by 21 byte (operation byte + 20 address bytes)
                let value := mload(add(transactions, add(i, 0x15)))
                // We offset the load address by 53 byte (operation byte + 20 address bytes + 32 value bytes)
                let dataLength := mload(add(transactions, add(i, 0x35)))
                // We offset the load address by 85 byte (operation byte + 20 address bytes + 32 value bytes + 32 data length bytes)
                let data := add(transactions, add(i, 0x55))
                let success := 0
                switch operation
                    case 0 {
                        success := call(gas(), to, value, data, dataLength, 0, 0)
                    }
                    // This version does not allow delegatecalls
                    case 1 {
                        revert(0, 0)
                    }
                if eq(success, 0) {
                    revert(0, 0)
                }
                // Next entry starts at 85 byte + data length
                i := add(i, add(0x55, dataLength))
            }
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

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
0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B
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.