ETH Price: $2,958.18 (+0.91%)

Contract

0x3d97B802fFD7F36d50CE1498e8Ca5318C5c8e9EC

Overview

ETH Balance

Linea Mainnet LogoLinea Mainnet LogoLinea Mainnet Logo0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
0x987741ab87c766e63aa1104072d0f2aae1d4f0c5e8f9c39a53106940e0ec9760 -(pending)2026-01-18 7:34:416 days ago1768721681IN
0x3d97B802...8C5c8e9EC
0.00004 ETH(Pending)(Pending)
Daily GM282590092026-01-24 12:46:146 mins ago1769258774IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282585282026-01-24 12:29:1823 mins ago1769257758IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282569142026-01-24 11:30:261 hr ago1769254226IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
Daily GM282564342026-01-24 11:13:181 hr ago1769253198IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282561142026-01-24 11:01:241 hr ago1769252484IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
Daily GM282559892026-01-24 10:56:501 hr ago1769252210IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001440.04014261
Daily GM282551342026-01-24 10:25:322 hrs ago1769250332IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001440.04007142
Daily GM282547862026-01-24 10:13:222 hrs ago1769249602IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.00000150.041904
Daily GM282531872026-01-24 9:14:503 hrs ago1769246090IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.00000150.041904
Daily GM282528362026-01-24 9:02:243 hrs ago1769245344IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282527142026-01-24 8:57:563 hrs ago1769245076IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282525912026-01-24 8:53:283 hrs ago1769244808IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001730.04817114
Daily GM282523172026-01-24 8:43:544 hrs ago1769244234IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282522142026-01-24 8:40:224 hrs ago1769244022IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
Daily GM282504552026-01-24 7:36:345 hrs ago1769240194IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282502162026-01-24 7:28:065 hrs ago1769239686IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
Daily GM282483672026-01-24 5:58:006 hrs ago1769234280IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282476042026-01-24 5:29:207 hrs ago1769232560IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282457682026-01-24 4:21:028 hrs ago1769228462IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282449592026-01-24 3:50:449 hrs ago1769226644IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.00000150.041904
Daily GM282447992026-01-24 3:44:469 hrs ago1769226286IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282442712026-01-24 3:20:569 hrs ago1769224856IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
Daily GM282430462026-01-24 2:35:4010 hrs ago1769222140IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001580.04415687
Daily GM282407142026-01-24 1:08:0611 hrs ago1769216886IN
0x3d97B802...8C5c8e9EC
0.00004 ETH0.000001510.04214975
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
282590092026-01-24 12:46:146 mins ago1769258774
0x3d97B802...8C5c8e9EC
0.00004 ETH
282585282026-01-24 12:29:1823 mins ago1769257758
0x3d97B802...8C5c8e9EC
0.00004 ETH
282569142026-01-24 11:30:261 hr ago1769254226
0x3d97B802...8C5c8e9EC
0.00004 ETH
282564342026-01-24 11:13:181 hr ago1769253198
0x3d97B802...8C5c8e9EC
0.00004 ETH
282561142026-01-24 11:01:241 hr ago1769252484
0x3d97B802...8C5c8e9EC
0.00004 ETH
282559892026-01-24 10:56:501 hr ago1769252210
0x3d97B802...8C5c8e9EC
0.00004 ETH
282551342026-01-24 10:25:322 hrs ago1769250332
0x3d97B802...8C5c8e9EC
0.00004 ETH
282547862026-01-24 10:13:222 hrs ago1769249602
0x3d97B802...8C5c8e9EC
0.00004 ETH
282531872026-01-24 9:14:503 hrs ago1769246090
0x3d97B802...8C5c8e9EC
0.00004 ETH
282528362026-01-24 9:02:243 hrs ago1769245344
0x3d97B802...8C5c8e9EC
0.00004 ETH
282527142026-01-24 8:57:563 hrs ago1769245076
0x3d97B802...8C5c8e9EC
0.00004 ETH
282525912026-01-24 8:53:283 hrs ago1769244808
0x3d97B802...8C5c8e9EC
0.00004 ETH
282523172026-01-24 8:43:544 hrs ago1769244234
0x3d97B802...8C5c8e9EC
0.00004 ETH
282522142026-01-24 8:40:224 hrs ago1769244022
0x3d97B802...8C5c8e9EC
0.00004 ETH
282504552026-01-24 7:36:345 hrs ago1769240194
0x3d97B802...8C5c8e9EC
0.00004 ETH
282502162026-01-24 7:28:065 hrs ago1769239686
0x3d97B802...8C5c8e9EC
0.00004 ETH
282483672026-01-24 5:58:006 hrs ago1769234280
0x3d97B802...8C5c8e9EC
0.00004 ETH
282476042026-01-24 5:29:207 hrs ago1769232560
0x3d97B802...8C5c8e9EC
0.00004 ETH
282457682026-01-24 4:21:028 hrs ago1769228462
0x3d97B802...8C5c8e9EC
0.00004 ETH
282449592026-01-24 3:50:449 hrs ago1769226644
0x3d97B802...8C5c8e9EC
0.00004 ETH
282447992026-01-24 3:44:469 hrs ago1769226286
0x3d97B802...8C5c8e9EC
0.00004 ETH
282442712026-01-24 3:20:569 hrs ago1769224856
0x3d97B802...8C5c8e9EC
0.00004 ETH
282430462026-01-24 2:35:4010 hrs ago1769222140
0x3d97B802...8C5c8e9EC
0.00004 ETH
282407142026-01-24 1:08:0611 hrs ago1769216886
0x3d97B802...8C5c8e9EC
0.00004 ETH
282394192026-01-24 0:23:3012 hrs ago1769214210
0x3d97B802...8C5c8e9EC
0.00004 ETH
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SurfDailyGM

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "@openzeppelin/contracts/access/Ownable.sol";

contract SurfDailyGM is Ownable {
    address internal feeRecipient;
    uint256 public gasFee;

    event Success(address indexed sender);
    error NoFund();
    error TransferFailed();

    constructor(uint256 _gasFee, address _feeRecipient) {
        feeRecipient = _feeRecipient;
        gasFee = _gasFee;
    }

    function dailyGM() external payable {
        if (msg.value != gasFee) {
            revert NoFund();
        }

        (bool success, ) = feeRecipient.call{value: msg.value}("");

        if (!success) {
            revert TransferFailed();
        }

        emit Success(msg.sender);
    }

    function updateConfig(
        uint256 _gasFee,
        address _feeRecipient
    ) external onlyOwner {
        feeRecipient = _feeRecipient;
        gasFee = _gasFee;
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"_gasFee","type":"uint256"},{"internalType":"address","name":"_feeRecipient","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NoFund","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"Success","type":"event"},{"inputs":[],"name":"dailyGM","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"gasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasFee","type":"uint256"},{"internalType":"address","name":"_feeRecipient","type":"address"}],"name":"updateConfig","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161051838038061051883398101604081905261002f916100b0565b61003833610060565b600180546001600160a01b0319166001600160a01b03929092169190911790556002556100ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156100c357600080fd5b825160208401519092506001600160a01b03811681146100e257600080fd5b809150509250929050565b61041c806100fc6000396000f3fe6080604052600436106100555760003560e01c806307a582d81461005a578063498c249a1461007c578063658612e914610084578063715018a6146100ad5780638da5cb5b146100c2578063f2fde38b146100ea575b600080fd5b34801561006657600080fd5b5061007a610075366004610363565b61010a565b005b61007a610162565b34801561009057600080fd5b5061009a60025481565b6040519081526020015b60405180910390f35b3480156100b957600080fd5b5061007a610226565b3480156100ce57600080fd5b506000546040516001600160a01b0390911681526020016100a4565b3480156100f657600080fd5b5061007a61010536600461038f565b61025c565b6000546001600160a01b0316331461013d5760405162461bcd60e51b8152600401610134906103b1565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055600255565b600254341461018457604051639b3a0eeb60e01b815260040160405180910390fd5b6001546040516000916001600160a01b03169034908381818185875af1925050503d80600081146101d1576040519150601f19603f3d011682016040523d82523d6000602084013e6101d6565b606091505b50509050806101f8576040516312171d8360e31b815260040160405180910390fd5b60405133907fa573ab9d2e3543063328d76b80796e5c0940edfc89ac8074f2fc7833a9cf829290600090a250565b6000546001600160a01b031633146102505760405162461bcd60e51b8152600401610134906103b1565b61025a60006102f7565b565b6000546001600160a01b031633146102865760405162461bcd60e51b8152600401610134906103b1565b6001600160a01b0381166102eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610134565b6102f4816102f7565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461035e57600080fd5b919050565b6000806040838503121561037657600080fd5b8235915061038660208401610347565b90509250929050565b6000602082840312156103a157600080fd5b6103aa82610347565b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220f6747f5fdc6b2623e8a75009338a34f1d21120eafede031208b1565a1b6f913a64736f6c634300080d003300000000000000000000000000000000000000000000000000001fd512913000000000000000000000000000538f85f181fbae0d1cd2f190ec903eb21e434bd8

Deployed Bytecode

0x6080604052600436106100555760003560e01c806307a582d81461005a578063498c249a1461007c578063658612e914610084578063715018a6146100ad5780638da5cb5b146100c2578063f2fde38b146100ea575b600080fd5b34801561006657600080fd5b5061007a610075366004610363565b61010a565b005b61007a610162565b34801561009057600080fd5b5061009a60025481565b6040519081526020015b60405180910390f35b3480156100b957600080fd5b5061007a610226565b3480156100ce57600080fd5b506000546040516001600160a01b0390911681526020016100a4565b3480156100f657600080fd5b5061007a61010536600461038f565b61025c565b6000546001600160a01b0316331461013d5760405162461bcd60e51b8152600401610134906103b1565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055600255565b600254341461018457604051639b3a0eeb60e01b815260040160405180910390fd5b6001546040516000916001600160a01b03169034908381818185875af1925050503d80600081146101d1576040519150601f19603f3d011682016040523d82523d6000602084013e6101d6565b606091505b50509050806101f8576040516312171d8360e31b815260040160405180910390fd5b60405133907fa573ab9d2e3543063328d76b80796e5c0940edfc89ac8074f2fc7833a9cf829290600090a250565b6000546001600160a01b031633146102505760405162461bcd60e51b8152600401610134906103b1565b61025a60006102f7565b565b6000546001600160a01b031633146102865760405162461bcd60e51b8152600401610134906103b1565b6001600160a01b0381166102eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610134565b6102f4816102f7565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461035e57600080fd5b919050565b6000806040838503121561037657600080fd5b8235915061038660208401610347565b90509250929050565b6000602082840312156103a157600080fd5b6103aa82610347565b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220f6747f5fdc6b2623e8a75009338a34f1d21120eafede031208b1565a1b6f913a64736f6c634300080d0033

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

00000000000000000000000000000000000000000000000000001fd512913000000000000000000000000000538f85f181fbae0d1cd2f190ec903eb21e434bd8

-----Decoded View---------------
Arg [0] : _gasFee (uint256): 35000000000000
Arg [1] : _feeRecipient (address): 0x538f85f181FbAE0d1cd2f190ec903EB21E434BD8

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000001fd512913000
Arg [1] : 000000000000000000000000538f85f181fbae0d1cd2f190ec903eb21e434bd8


Block Transaction Gas Used Reward
view all blocks sequenced

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  ]
[ 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.