Forkchoice Ethereum Mainnet

Address Contract Verified

Address 0xCDf12A68487A00F73fa685F938C7FEa0763d6e48
Balance 0 ETH
Nonce 1
Code Size 2317 bytes
Indexed Transactions 0 (1 on-chain, 1.1% indexed)
External Etherscan · Sourcify

Contract Bytecode

2317 bytes
0x608060405260043610610037575f3560e01c8063b69ef8a814610042578063d0679d341461006c578063fc0c546a146100945761003e565b3661003e57005b5f5ffd5b34801561004d575f5ffd5b506100566100be565b60405161006391906104f2565b60405180910390f35b348015610077575f5ffd5b50610092600480360381019061008d9190610593565b610231565b005b34801561009f575f5ffd5b506100a86104b6565b6040516100b591906105e0565b60405180910390f35b5f5f5f7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff167f70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be3060405160240161012a91906105e0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610194919061064b565b5f60405180830381855afa9150503d805f81146101cc576040519150601f19603f3d011682016040523d82523d5f602084013e6101d1565b606091505b509150915081610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020d906106bb565b60405180910390fd5b8080602001905181019061022a91906106ed565b9250505090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361029f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029690610762565b60405180910390fd5b5f81116102e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d8906107ca565b60405180910390fd5b5f5f7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff167fa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b858560405160240161034e9291906107e8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103b8919061064b565b5f604051808303815f865af19150503d805f81146103f1576040519150601f19603f3d011682016040523d82523d5f602084013e6103f6565b606091505b509150915081801561042357505f815114806104225750808060200190518101906104219190610844565b5b5b610462576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610459906108b9565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167fa1ebb5259cd13ff7cad5a7e16bbfd7342534942567e5bae33bfd319df85909d3846040516104a891906104f2565b60405180910390a250505050565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b5f819050919050565b6104ec816104da565b82525050565b5f6020820190506105055f8301846104e3565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105388261050f565b9050919050565b6105488161052e565b8114610552575f5ffd5b50565b5f813590506105638161053f565b92915050565b610572816104da565b811461057c575f5ffd5b50565b5f8135905061058d81610569565b92915050565b5f5f604083850312156105a9576105a861050b565b5b5f6105b685828601610555565b92505060206105c78582860161057f565b9150509250929050565b6105da8161052e565b82525050565b5f6020820190506105f35f8301846105d1565b92915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f610625826105f9565b61062f8185610603565b935061063f81856020860161060d565b80840191505092915050565b5f610656828461061b565b915081905092915050565b5f82825260208201905092915050565b7f555344545a507572653a2062616c616e6365207175657279206661696c6564005f82015250565b5f6106a5601f83610661565b91506106b082610671565b602082019050919050565b5f6020820190508181035f8301526106d281610699565b9050919050565b5f815190506106e781610569565b92915050565b5f602082840312156107025761070161050b565b5b5f61070f848285016106d9565b91505092915050565b7f555344545a507572653a20726563697069656e74206973207a65726f000000005f82015250565b5f61074c601c83610661565b915061075782610718565b602082019050919050565b5f6020820190508181035f83015261077981610740565b9050919050565b7f555344545a507572653a20616d6f756e74206973207a65726f000000000000005f82015250565b5f6107b4601983610661565b91506107bf82610780565b602082019050919050565b5f6020820190508181035f8301526107e1816107a8565b9050919050565b5f6040820190506107fb5f8301856105d1565b61080860208301846104e3565b9392505050565b5f8115159050919050565b6108238161080f565b811461082d575f5ffd5b50565b5f8151905061083e8161081a565b92915050565b5f602082840312156108595761085861050b565b5b5f61086684828501610830565b91505092915050565b7f555344545a507572653a20746f6b656e207472616e73666572206661696c65645f82015250565b5f6108a3602083610661565b91506108ae8261086f565b602082019050919050565b5f6020820190508181035f8301526108d081610897565b905091905056fea2646970667358221220aa53002084b9db33e262490ccceebff1ce699e5e0eab8a4bbfd3bbcc0ebbdf4464736f6c634300081e0033

Verified Source Code Full Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
usdt.sol 73 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

/**
 * @title USDTZPure
 * @notice A minimal, self-contained token vault that can hold and send
 *         one fixed ERC20 token (e.g., USDT). The token address is set
 *         once at deployment and cannot be changed. Anyone can trigger
 *         token transfers from this contract.
 *
 *         Works safely with both standard ERC20s and non-standard ones
 *         like Tether (USDT) that do not return a boolean on transfer.
 */
contract USDTZPure {
    /// @notice Fixed ERC20 token address managed by this contract.
    address public immutable token;

    /// @notice Emitted when tokens are successfully sent.
    event ERC20Sent(address indexed to, uint256 amount);

    /**
     * @dev Constructor accepts the ERC20 token address.
     * @param _token Address of the token to be managed by this contract.
     */
    constructor(address _token) {
        require(_token != address(0), "USDTZPure: invalid token");
        token = _token;
    }

    /**
     * @notice Sends tokens from this contract to the specified recipient.
     * @param to Recipient address.
     * @param amount Amount to send (in token's smallest unit).
     */
    function send(address to, uint256 amount) external {
        require(to != address(0), "USDTZPure: recipient is zero");
        require(amount > 0, "USDTZPure: amount is zero");

        // Low-level transfer to support non-standard tokens (like USDT)
        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(
                bytes4(keccak256("transfer(address,uint256)")),
                to,
                amount
            )
        );

        // Interpret as success if no data or returned true
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "USDTZPure: token transfer failed"
        );

        emit ERC20Sent(to, amount);
    }

    /**
     * @notice Returns the current token balance held by this contract.
     */
    function balance() external view returns (uint256) {
        (bool success, bytes memory data) = token.staticcall(
            abi.encodeWithSelector(
                bytes4(keccak256("balanceOf(address)")),
                address(this)
            )
        );
        require(success, "USDTZPure: balance query failed");
        return abi.decode(data, (uint256));
    }

    /// @notice Accept ETH just in case (not used for token operations)
    receive() external payable {}
}

Read Contract

balance 0xb69ef8a8 → uint256
token 0xfc0c546a → address

Write Contract 1 functions

These functions modify contract state and require a wallet transaction to execute.

send 0xd0679d34
address to
uint256 amount

Recent Transactions

This address has 1 on-chain transactions, but only 1.1% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →