ETH Price: $1,989.37 (-3.01%)

Contract

0xDc8D2A1d8cd79e1542441743e448129a00A59aE0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Batch Deposit245870652026-03-04 22:25:112 days ago1772663111IN
0xDc8D2A1d...a00A59aE0
900 ETH0.000016210.07801444
Batch Deposit245691242026-03-02 10:20:115 days ago1772446811IN
0xDc8D2A1d...a00A59aE0
4 ETH0.000004180.06530923
Batch Deposit245350362026-02-25 16:11:239 days ago1772035883IN
0xDc8D2A1d...a00A59aE0
1,118 ETH0.000020390.31822914
Batch Deposit245350242026-02-25 16:08:599 days ago1772035739IN
0xDc8D2A1d...a00A59aE0
500 ETH0.00002050.33552715
Batch Deposit245188462026-02-23 9:59:2312 days ago1771840763IN
0xDc8D2A1d...a00A59aE0
13 ETH0.00000490.08024406
Batch Deposit244976312026-02-20 11:01:2315 days ago1771585283IN
0xDc8D2A1d...a00A59aE0
68 ETH0.000005040.08262792
Batch Deposit244904922026-02-19 11:07:5916 days ago1771499279IN
0xDc8D2A1d...a00A59aE0
20 ETH0.000002010.03300421
Batch Deposit244904382026-02-19 10:57:1116 days ago1771498631IN
0xDc8D2A1d...a00A59aE0
20 ETH0.000002460.03793543
Batch Deposit244275272026-02-10 16:19:5924 days ago1770740399IN
0xDc8D2A1d...a00A59aE0
288.85 ETH0.000015050.24630865
Batch Deposit243964232026-02-06 7:54:4729 days ago1770364487IN
0xDc8D2A1d...a00A59aE0
256.07 ETH0.000014020.22948385
Batch Deposit243774372026-02-03 16:11:2331 days ago1770135083IN
0xDc8D2A1d...a00A59aE0
88 ETH0.000045940.68519066
Batch Deposit243774182026-02-03 16:07:3531 days ago1770134855IN
0xDc8D2A1d...a00A59aE0
88 ETH0.000047530.73186139
Batch Deposit243272342026-01-27 16:01:5938 days ago1769529719IN
0xDc8D2A1d...a00A59aE0
29.8837 ETH0.000015970.26137439
Batch Deposit243202022026-01-26 16:29:2339 days ago1769444963IN
0xDc8D2A1d...a00A59aE0
32 ETH0.000016080.25106896
Batch Deposit243180662026-01-26 9:19:4740 days ago1769419187IN
0xDc8D2A1d...a00A59aE0
900 ETH0.000003410.05580933
Batch Deposit242963742026-01-23 8:44:3543 days ago1769157875IN
0xDc8D2A1d...a00A59aE0
890 ETH0.000003110.0486682
Batch Deposit242963642026-01-23 8:42:3543 days ago1769157755IN
0xDc8D2A1d...a00A59aE0
1,350 ETH0.000003270.05356789
Batch Deposit242780892026-01-20 19:29:4745 days ago1768937387IN
0xDc8D2A1d...a00A59aE0
1 ETH0.000008080.12619017
Batch Deposit242758472026-01-20 12:00:1145 days ago1768910411IN
0xDc8D2A1d...a00A59aE0
2 ETH0.000003250.05332176
Batch Deposit242190362026-01-12 13:49:2353 days ago1768225763IN
0xDc8D2A1d...a00A59aE0
32 ETH0.000005990.08941281
Batch Deposit241828692026-01-07 12:41:5958 days ago1767789719IN
0xDc8D2A1d...a00A59aE0
2.5 ETH0.000008940.13966442
Batch Deposit241828292026-01-07 12:33:5958 days ago1767789239IN
0xDc8D2A1d...a00A59aE0
248 ETH0.000010020.16406965
Batch Deposit241827722026-01-07 12:22:3558 days ago1767788555IN
0xDc8D2A1d...a00A59aE0
249 ETH0.000015430.23770995
Batch Deposit241821052026-01-07 10:08:2359 days ago1767780503IN
0xDc8D2A1d...a00A59aE0
4,200 ETH0.000085710.13722808
Batch Deposit239902182025-12-11 15:05:2385 days ago1765465523IN
0xDc8D2A1d...a00A59aE0
1,026 ETH0.000036650.26067779
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245870652026-03-04 22:25:112 days ago1772663111
0xDc8D2A1d...a00A59aE0
150 ETH
Deposit245691242026-03-02 10:20:115 days ago1772446811
0xDc8D2A1d...a00A59aE0
4 ETH
Deposit245350362026-02-25 16:11:239 days ago1772035883
0xDc8D2A1d...a00A59aE0
1,118 ETH
Deposit245350242026-02-25 16:08:599 days ago1772035739
0xDc8D2A1d...a00A59aE0
500 ETH
Deposit245188462026-02-23 9:59:2312 days ago1771840763
0xDc8D2A1d...a00A59aE0
13 ETH
Deposit244976312026-02-20 11:01:2315 days ago1771585283
0xDc8D2A1d...a00A59aE0
68 ETH
Deposit244904922026-02-19 11:07:5916 days ago1771499279
0xDc8D2A1d...a00A59aE0
20 ETH
Deposit244904382026-02-19 10:57:1116 days ago1771498631
0xDc8D2A1d...a00A59aE0
20 ETH
Deposit244275272026-02-10 16:19:5924 days ago1770740399
0xDc8D2A1d...a00A59aE0
288.85 ETH
Deposit243964232026-02-06 7:54:4729 days ago1770364487
0xDc8D2A1d...a00A59aE0
256.07 ETH
Deposit243774372026-02-03 16:11:2331 days ago1770135083
0xDc8D2A1d...a00A59aE0
88 ETH
Deposit243774182026-02-03 16:07:3531 days ago1770134855
0xDc8D2A1d...a00A59aE0
88 ETH
Deposit243272342026-01-27 16:01:5938 days ago1769529719
0xDc8D2A1d...a00A59aE0
29.8837 ETH
Deposit243202022026-01-26 16:29:2339 days ago1769444963
0xDc8D2A1d...a00A59aE0
32 ETH
Deposit243180662026-01-26 9:19:4740 days ago1769419187
0xDc8D2A1d...a00A59aE0
900 ETH
Deposit242963742026-01-23 8:44:3543 days ago1769157875
0xDc8D2A1d...a00A59aE0
890 ETH
Deposit242963642026-01-23 8:42:3543 days ago1769157755
0xDc8D2A1d...a00A59aE0
1,350 ETH
Deposit242780892026-01-20 19:29:4745 days ago1768937387
0xDc8D2A1d...a00A59aE0
1 ETH
Deposit242758472026-01-20 12:00:1145 days ago1768910411
0xDc8D2A1d...a00A59aE0
2 ETH
Deposit242190362026-01-12 13:49:2353 days ago1768225763
0xDc8D2A1d...a00A59aE0
32 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

Contract Source Code Verified (Exact Match)

Contract Name:
BatchDeposit2

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 1024 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: GPL-3.0-or-later

// Contract: BatchDeposit2
// Repository: https://gitlab.com/Blockdaemon/open-source/eth2-batch-deposit-contract

pragma solidity 0.8.28;

import {IBatchDeposit2} from "./interfaces/IBatchDeposit2.sol";
import {IERC165} from "./interfaces/IERC165.sol";

contract BatchDeposit2 is IBatchDeposit2, IERC165 {
    // 0xd0 == 0x30 + 0x20 + 0x60 + 0x20 (pubkey + credentials + signature + root)
    uint256 public constant DEPOSIT_DATA_SIZE = 0xd0;

    address public immutable DEPOSIT_CONTRACT;

    error DeadlineExceeded();
    error DepositFailed();
    error ExcessiveBalance();
    error FundingNotAccepted();
    error InvalidLength();
    error ZeroAddress();

    constructor(address depositContract) {
        require(depositContract != address(0), ZeroAddress());
        DEPOSIT_CONTRACT = depositContract;
    }

    receive() external payable override {
        revert FundingNotAccepted();
    }

    fallback() external payable override {
        revert FundingNotAccepted();
    }

    function batchDeposit(uint256 deadline, uint256[] calldata values, bytes calldata argv) external payable override {
        require(block.number <= deadline, DeadlineExceeded());
        require(argv.length == values.length * DEPOSIT_DATA_SIZE, InvalidLength());

        uint256 balanceBefore = address(this).balance;

        address depositContract = DEPOSIT_CONTRACT;
        assembly {
            // copy selector
            mstore(0x0080, 0x2289511800000000000000000000000000000000000000000000000000000000)
            // copy pubkey offset
            mstore(0x0084, 0x0000000000000000000000000000000000000000000000000000000000000080)
            // copy withdrawal_credentials offset
            mstore(0x00a4, 0x00000000000000000000000000000000000000000000000000000000000000e0)
            // copy signature offset
            mstore(0x00c4, 0x0000000000000000000000000000000000000000000000000000000000000120)
            // copy pubkey length
            mstore(0x0104, 0x0000000000000000000000000000000000000000000000000000000000000030)
            // copy withdrawal_credentials length
            mstore(0x0164, 0x0000000000000000000000000000000000000000000000000000000000000020)
            // copy signature length
            mstore(0x01a4, 0x0000000000000000000000000000000000000000000000000000000000000060)

            let argvOffset := argv.offset
            let valuesOffset := values.offset

            for { let i := 0 } lt(i, values.length) { i := add(i, 1) } {
                // copy pubkey
                calldatacopy(0x0124, add(argvOffset, 0), 0x30)

                // copy withdrawal credentials
                calldatacopy(0x0184, add(argvOffset, 0x30), 0x20)

                // copy signature
                calldatacopy(0x01c4, add(argvOffset, 0x50), 0x60)

                // copy deposit_data_root
                calldatacopy(0x0e4, add(argvOffset, 0xb0), 0x20)

                if iszero(call(gas(), depositContract, calldataload(valuesOffset), 0x80, 0x1a4, 0, 0)) {
                    // DepositFailed()
                    mstore(0x00, 0x79cacff100000000000000000000000000000000000000000000000000000000)
                    revert(0x00, 0x04)
                }

                // adjust offsets
                argvOffset := add(argvOffset, 0xd0)
                valuesOffset := add(valuesOffset, 0x20)
            }
        }

        uint256 balanceAfter = address(this).balance;
        require(balanceBefore == balanceAfter + msg.value, ExcessiveBalance());
    }

    function supportsInterface(bytes4 interfaceId) external pure override returns (bool) {
        return interfaceId == type(IERC165).interfaceId || interfaceId == type(IBatchDeposit2).interfaceId;
    }
}

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.8.28;

interface IBatchDeposit2 {
    receive() external payable;

    fallback() external payable;

    function batchDeposit(uint256 deadline, uint256[] calldata values, bytes calldata args) external payable;
}

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.8.28;

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

Settings
{
  "remappings": [
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1024
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"depositContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DeadlineExceeded","type":"error"},{"inputs":[],"name":"DepositFailed","type":"error"},{"inputs":[],"name":"ExcessiveBalance","type":"error"},{"inputs":[],"name":"FundingNotAccepted","type":"error"},{"inputs":[],"name":"InvalidLength","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"DEPOSIT_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_DATA_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"argv","type":"bytes"}],"name":"batchDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a034608157601f61051438819003918201601f19168301916001600160401b03831184841017608557808492602094604052833981010312608157516001600160a01b0381168082036081571560725760805260405161047a908161009a82396080518181816101f1015261031e0152f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610018575b3661041c5761041c565b5f3560e01c806301ffc9a71461005757806349623e8f14610052578063584dc3a61461004d57636b96736b0361000e576101c5565b610143565b6100fa565b346100f65760203660031901126100f6576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036100f6577f01ffc9a70000000000000000000000000000000000000000000000000000000081149081156100cc575b50151560805260206080f35b7f584dc3a600000000000000000000000000000000000000000000000000000000915014816100c0565b5f80fd5b346100f6575f3660031901126100f657602060405160d08152f35b9181601f840112156100f65782359167ffffffffffffffff83116100f657602083818601950101116100f657565b60603660031901126100f65760243567ffffffffffffffff81116100f657366023820112156100f65780600401359067ffffffffffffffff82116100f6573660248360051b830101116100f6576044359067ffffffffffffffff82116100f6576101c3926101b76024933690600401610115565b939092016004356102f7565b005b346100f6575f3660031901126100f657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b1561021c57565b7f559895a3000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060d082029180830460d0149015171561028757565b610244565b1561029357565b7f947d5a84000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190820180921161028757565b156102cf57565b7f690de042000000000000000000000000000000000000000000000000000000005f5260045ffd5b9361030b61031a9293949695431115610215565b61031484610271565b1461028c565b47917f0000000000000000000000000000000000000000000000000000000000000000947f2289511800000000000000000000000000000000000000000000000000000000608052608060845260e060a45261012060c45260306101045260206101645260606101a452915f925b8284106103ac57505050506103aa9192506103a44734906102bb565b146102c8565b565b60308161012437602060308201610184376060605082016101c437602060b0820160e4375f806101a4608085358b5af1156103f457602060d060019201920193019290610388565b7f79cacff1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f256ced2b000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220d22a408f9cdbac49ea712ddf000c044a081c63876555573d4bc2a4be216f214964736f6c634300081c003300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa

Deployed Bytecode

0x60806040526004361015610018575b3661041c5761041c565b5f3560e01c806301ffc9a71461005757806349623e8f14610052578063584dc3a61461004d57636b96736b0361000e576101c5565b610143565b6100fa565b346100f65760203660031901126100f6576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036100f6577f01ffc9a70000000000000000000000000000000000000000000000000000000081149081156100cc575b50151560805260206080f35b7f584dc3a600000000000000000000000000000000000000000000000000000000915014816100c0565b5f80fd5b346100f6575f3660031901126100f657602060405160d08152f35b9181601f840112156100f65782359167ffffffffffffffff83116100f657602083818601950101116100f657565b60603660031901126100f65760243567ffffffffffffffff81116100f657366023820112156100f65780600401359067ffffffffffffffff82116100f6573660248360051b830101116100f6576044359067ffffffffffffffff82116100f6576101c3926101b76024933690600401610115565b939092016004356102f7565b005b346100f6575f3660031901126100f657602060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa168152f35b1561021c57565b7f559895a3000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060d082029180830460d0149015171561028757565b610244565b1561029357565b7f947d5a84000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190820180921161028757565b156102cf57565b7f690de042000000000000000000000000000000000000000000000000000000005f5260045ffd5b9361030b61031a9293949695431115610215565b61031484610271565b1461028c565b47917f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa947f2289511800000000000000000000000000000000000000000000000000000000608052608060845260e060a45261012060c45260306101045260206101645260606101a452915f925b8284106103ac57505050506103aa9192506103a44734906102bb565b146102c8565b565b60308161012437602060308201610184376060605082016101c437602060b0820160e4375f806101a4608085358b5af1156103f457602060d060019201920193019290610388565b7f79cacff1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f256ced2b000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220d22a408f9cdbac49ea712ddf000c044a081c63876555573d4bc2a4be216f214964736f6c634300081c0033

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

00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa

-----Decoded View---------------
Arg [0] : depositContract (address): 0x00000000219ab540356cBB839Cbe05303d7705Fa

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa


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