ETH Price: $1,888.68 (-8.99%)
 

Overview

ETH Balance

0.000460055364967383 ETH

Eth Value

$0.87 (@ $1,888.68/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer69853122018-12-31 10:38:062261 days ago1546252686IN
0xa5c11e42...ff65E5DFC
0 ETH0.000072363
Transfer69851802018-12-31 10:03:182261 days ago1546250598IN
0xa5c11e42...ff65E5DFC
0 ETH0.000115794.8
Transfer69833572018-12-31 2:33:052262 days ago1546223585IN
0xa5c11e42...ff65E5DFC
0 ETH0.000048242
Transfer69819502018-12-30 21:05:052262 days ago1546203905IN
0xa5c11e42...ff65E5DFC
0 ETH0.000086292
Transfer69813862018-12-30 18:47:292262 days ago1546195649IN
0xa5c11e42...ff65E5DFC
0 ETH0.000258886
Transfer69813812018-12-30 18:46:162262 days ago1546195576IN
0xa5c11e42...ff65E5DFC
0.003 ETH0.000096534
Transfer69813812018-12-30 18:46:162262 days ago1546195576IN
0xa5c11e42...ff65E5DFC
0 ETH0.000123025.1
Transfer69813722018-12-30 18:42:112262 days ago1546195331IN
0xa5c11e42...ff65E5DFC
0 ETH0.000144736
Transfer69813662018-12-30 18:41:112262 days ago1546195271IN
0xa5c11e42...ff65E5DFC
0.0446 ETH0.00025713
Transfer69813102018-12-30 18:26:202262 days ago1546194380IN
0xa5c11e42...ff65E5DFC
0 ETH0.000096494
Transfer69807352018-12-30 16:11:332262 days ago1546186293IN
0xa5c11e42...ff65E5DFC
0 ETH0.000172584
Transfer69805372018-12-30 15:25:262262 days ago1546183526IN
0xa5c11e42...ff65E5DFC
0 ETH0.000086292
Transfer69801942018-12-30 14:00:082262 days ago1546178408IN
0xa5c11e42...ff65E5DFC
0 ETH0.000258886
Transfer69801462018-12-30 13:47:162262 days ago1546177636IN
0xa5c11e42...ff65E5DFC
0 ETH0.0009492322
Transfer69800302018-12-30 13:22:012262 days ago1546176121IN
0xa5c11e42...ff65E5DFC
0 ETH0.000064721.5
Transfer69798452018-12-30 12:32:192262 days ago1546173139IN
0xa5c11e42...ff65E5DFC
0 ETH0.000086292
Transfer69798142018-12-30 12:23:532262 days ago1546172633IN
0xa5c11e42...ff65E5DFC
0 ETH0.000129443
Transfer69797072018-12-30 11:59:282262 days ago1546171168IN
0xa5c11e42...ff65E5DFC
0 ETH0.0027182663
Transfer69795512018-12-30 11:17:002262 days ago1546168620IN
0xa5c11e42...ff65E5DFC
0 ETH0.000086292
Transfer69794472018-12-30 10:48:232262 days ago1546166903IN
0xa5c11e42...ff65E5DFC
0 ETH0.000129443
Transfer69791892018-12-30 9:48:412262 days ago1546163321IN
0xa5c11e42...ff65E5DFC
0 ETH0.0017690241
Transfer69757792018-12-29 19:59:092263 days ago1546113549IN
0xa5c11e42...ff65E5DFC
0 ETH0.000129443
Transfer69757352018-12-29 19:47:232263 days ago1546112843IN
0xa5c11e42...ff65E5DFC
0 ETH0.000073341.7
Transfer69757172018-12-29 19:44:282263 days ago1546112668IN
0xa5c11e42...ff65E5DFC
0 ETH0.00007651.7
Transfer69756682018-12-29 19:33:322263 days ago1546112012IN
0xa5c11e42...ff65E5DFC
0 ETH0.000129443
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-69819502018-12-30 21:05:052262 days ago1546203905
0xa5c11e42...ff65E5DFC
0.001875 ETH
-69813862018-12-30 18:47:292262 days ago1546195649
0xa5c11e42...ff65E5DFC
0.12833333 ETH
-69813662018-12-30 18:41:112262 days ago1546195271
0xa5c11e42...ff65E5DFC
0.000892 ETH
-69813662018-12-30 18:41:112262 days ago1546195271
0xa5c11e42...ff65E5DFC
0.00446 ETH
-69807352018-12-30 16:11:332262 days ago1546186293
0xa5c11e42...ff65E5DFC
0.0175 ETH
-69805372018-12-30 15:25:262262 days ago1546183526
0xa5c11e42...ff65E5DFC
0.01125 ETH
-69801942018-12-30 14:00:082262 days ago1546178408
0xa5c11e42...ff65E5DFC
0.00833333 ETH
-69801462018-12-30 13:47:162262 days ago1546177636
0xa5c11e42...ff65E5DFC
0.05416666 ETH
-69800302018-12-30 13:22:012262 days ago1546176121
0xa5c11e42...ff65E5DFC
0.00141666 ETH
-69798452018-12-30 12:32:192262 days ago1546173139
0xa5c11e42...ff65E5DFC
0.01875 ETH
-69798142018-12-30 12:23:532262 days ago1546172633
0xa5c11e42...ff65E5DFC
0.01106 ETH
-69797072018-12-30 11:59:282262 days ago1546171168
0xa5c11e42...ff65E5DFC
0.105 ETH
-69795512018-12-30 11:17:002262 days ago1546168620
0xa5c11e42...ff65E5DFC
0.00458333 ETH
-69794472018-12-30 10:48:232262 days ago1546166903
0xa5c11e42...ff65E5DFC
0.03966666 ETH
-69791892018-12-30 9:48:412262 days ago1546163321
0xa5c11e42...ff65E5DFC
0.01266666 ETH
-69757792018-12-29 19:59:092263 days ago1546113549
0xa5c11e42...ff65E5DFC
0.01833333 ETH
-69757352018-12-29 19:47:232263 days ago1546112843
0xa5c11e42...ff65E5DFC
0.008 ETH
-69756682018-12-29 19:33:322263 days ago1546112012
0xa5c11e42...ff65E5DFC
0.009225 ETH
-69754342018-12-29 18:49:112263 days ago1546109351
0xa5c11e42...ff65E5DFC
0.04166666 ETH
-69750292018-12-29 17:13:232263 days ago1546103603
0xa5c11e42...ff65E5DFC
0.02333333 ETH
-69741272018-12-29 13:29:342263 days ago1546090174
0xa5c11e42...ff65E5DFC
0.02583333 ETH
-69738992018-12-29 12:35:162263 days ago1546086916
0xa5c11e42...ff65E5DFC
0.010625 ETH
-69738022018-12-29 12:10:162263 days ago1546085416
0xa5c11e42...ff65E5DFC
0.00666666 ETH
-69737852018-12-29 12:05:022263 days ago1546085102
0xa5c11e42...ff65E5DFC
0.02212 ETH
-69737062018-12-29 11:46:572263 days ago1546084017
0xa5c11e42...ff65E5DFC
0.02666666 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
X2Contract

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-02
*/

pragma solidity 0.4.25;

contract X2Contract {
    using SafeMath for uint256;

    address public constant promotionAddress = 0x22e483dBeb45EDBC74d4fE25d79B5C28eA6Aa8Dd;
    address public constant adminAddress = 0x3C1FD40A99066266A60F60d17d5a7c51434d74bB;

    mapping (address => uint256) public deposit;
    mapping (address => uint256) public withdrawals;
    mapping (address => uint256) public time;

    uint256 public minimum = 0.01 ether;
    uint public promotionPercent = 10;
    uint public adminPercent = 2;
    uint256 public countOfInvestors;

    /**
    * @dev Get percent depends on balance of contract
    * @return Percent
    */
    function getPhasePercent() view public returns (uint){
        uint contractBalance = address(this).balance;
        if (contractBalance < 300 ether) {
            return 2;
        }
        if (contractBalance >= 300 ether && contractBalance < 1200 ether) {
            return 3;
        }
        if (contractBalance >= 1200 ether) {
            return 4;
        }
    }

    /**
    * @dev Evaluate current balance
    * @param _address Address of investor
    * @return Payout amount
    */
    function getUserBalance(address _address) view public returns (uint256) {
        uint percent = getPhasePercent();
        uint256 differentTime = now.sub(time[_address]).div(1 hours);
        uint256 differentPercent = deposit[_address].mul(percent).div(100);
        uint256 payout = differentPercent.mul(differentTime).div(24);

        return payout;
    }

    /**
    * @dev Withdraw profit from contract. Investor will be deleted if he will try withdraw after received x2
    * @param _address Address of investor
    */
    function withdraw(address _address) private {
        //Get user balance
        uint256 balance = getUserBalance(_address);
        //Conditions for withdraw, deposit should be more than 0, balance of contract should be more than balance of
        //investor and balance of investor should be more than 0
        if (deposit[_address] > 0 && address(this).balance >= balance && balance > 0) {
            //Add withdrawal to storage
            withdrawals[_address] = withdrawals[_address].add(balance);
            //Reset time
            time[_address] = now;
            //If withdrawals more greater or equal deposit * 2 - delete investor
            if (withdrawals[_address] >= deposit[_address].mul(2)){
                deposit[_address] = 0;
                time[_address] = 0;
                withdrawals[_address] = 0;
                countOfInvestors--;
            }
            //Transfer percents to investor
            _address.transfer(balance);
        }

    }

    /**
    * @dev  Payable function
    */
    function () external payable {
        if (msg.value >= minimum){
            //Payout for promotion
            promotionAddress.transfer(msg.value.mul(promotionPercent).div(100));
            //Payout for admin
            adminAddress.transfer(msg.value.mul(adminPercent).div(100));

            //Withdraw a profit
            withdraw(msg.sender);

            //Increase counter of investors
            if (deposit[msg.sender] == 0){
                countOfInvestors++;
            }

            //Add deposit to storage
            deposit[msg.sender] = deposit[msg.sender].add(msg.value);
            //Reset last time of deposit
            time[msg.sender] = now;
        } else {
            //Withdraw a profit
            withdraw(msg.sender);
        }
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper then requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
    * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0); // Solidity only automatically asserts when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
    * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two numbers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
    * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"getPhasePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getUserBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"withdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"time","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"promotionPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"promotionAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countOfInvestors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

6080604052662386f26fc10000600355600a600455600260055534801561002557600080fd5b506106b6806100356000396000f3006080604052600436106100ae5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631c729b098114610200578063477348921461022757806352d6804d146102485780637a9262a21461025d5780637c67a3e21461027e5780637feb8d601461029f578063b54ba9d9146102b4578063c0dab516146102e5578063f340fa01146102fa578063f3f7d6331461031b578063fc6f946814610330575b60035434106101f5577322e483dbeb45edbc74d4fe25d79b5c28ea6aa8dd600160a060020a03166108fc6100fe60646100f26004543461034590919063ffffffff16565b9063ffffffff61037e16565b6040518115909202916000818181858888f19350505050158015610126573d6000803e3d6000fd5b50733c1fd40a99066266a60f60d17d5a7c51434d74bb600160a060020a03166108fc61016260646100f26005543461034590919063ffffffff16565b6040518115909202916000818181858888f1935050505015801561018a573d6000803e3d6000fd5b50610194336103a1565b3360009081526020819052604090205415156101b4576006805460010190555b336000908152602081905260409020546101d4903463ffffffff6104e416565b336000908152602081815260408083209390935560029052204290556101fe565b6101fe336103a1565b005b34801561020c57600080fd5b506102156104f6565b60408051918252519081900360200190f35b34801561023357600080fd5b50610215600160a060020a036004351661055c565b34801561025457600080fd5b506102156105f5565b34801561026957600080fd5b50610215600160a060020a03600435166105fb565b34801561028a57600080fd5b50610215600160a060020a036004351661060d565b3480156102ab57600080fd5b5061021561061f565b3480156102c057600080fd5b506102c9610625565b60408051600160a060020a039092168252519081900360200190f35b3480156102f157600080fd5b5061021561063d565b34801561030657600080fd5b50610215600160a060020a0360043516610643565b34801561032757600080fd5b50610215610655565b34801561033c57600080fd5b506102c961065b565b6000808315156103585760009150610377565b5082820282848281151561036857fe5b041461037357600080fd5b8091505b5092915050565b60008080831161038d57600080fd5b828481151561039857fe5b04949350505050565b60006103ac8261055c565b600160a060020a0383166000908152602081905260408120549192501080156103d6575030318111155b80156103e25750600081115b156104e057600160a060020a038216600090815260016020526040902054610410908263ffffffff6104e416565b600160a060020a038316600090815260016020908152604080832093909355600280825283832042905590829052919020546104519163ffffffff61034516565b600160a060020a038316600090815260016020526040902054106104a857600160a060020a038216600090815260208181526040808320839055600282528083208390556001909152812055600680546000190190555b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156104de573d6000803e3d6000fd5b505b5050565b60008282018381101561037357600080fd5b60003031681043561a88293000008110156105145760029150610558565b681043561a88293000008110158015610535575068410d586a20a4c0000081105b156105435760039150610558565b68410d586a20a4c00000811061055857600491505b5090565b600080600080600061056c6104f6565b600160a060020a0387166000908152600260205260409020549094506105a190610e10906100f290429063ffffffff61067316565b600160a060020a0387166000908152602081905260409020549093506105d4906064906100f2908763ffffffff61034516565b91506105eb60186100f2848663ffffffff61034516565b9695505050505050565b60035481565b60016020526000908152604090205481565b60026020526000908152604090205481565b60045481565b7322e483dbeb45edbc74d4fe25d79b5c28ea6aa8dd81565b60055481565b60006020819052908152604090205481565b60065481565b733c1fd40a99066266a60f60d17d5a7c51434d74bb81565b6000808383111561068357600080fd5b50509003905600a165627a7a7230582046f02fcc19a46dc759dff6dcfe9f1154076c843f0aa060d8f0ff13b5833a06b00029

Deployed Bytecode

0x6080604052600436106100ae5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631c729b098114610200578063477348921461022757806352d6804d146102485780637a9262a21461025d5780637c67a3e21461027e5780637feb8d601461029f578063b54ba9d9146102b4578063c0dab516146102e5578063f340fa01146102fa578063f3f7d6331461031b578063fc6f946814610330575b60035434106101f5577322e483dbeb45edbc74d4fe25d79b5c28ea6aa8dd600160a060020a03166108fc6100fe60646100f26004543461034590919063ffffffff16565b9063ffffffff61037e16565b6040518115909202916000818181858888f19350505050158015610126573d6000803e3d6000fd5b50733c1fd40a99066266a60f60d17d5a7c51434d74bb600160a060020a03166108fc61016260646100f26005543461034590919063ffffffff16565b6040518115909202916000818181858888f1935050505015801561018a573d6000803e3d6000fd5b50610194336103a1565b3360009081526020819052604090205415156101b4576006805460010190555b336000908152602081905260409020546101d4903463ffffffff6104e416565b336000908152602081815260408083209390935560029052204290556101fe565b6101fe336103a1565b005b34801561020c57600080fd5b506102156104f6565b60408051918252519081900360200190f35b34801561023357600080fd5b50610215600160a060020a036004351661055c565b34801561025457600080fd5b506102156105f5565b34801561026957600080fd5b50610215600160a060020a03600435166105fb565b34801561028a57600080fd5b50610215600160a060020a036004351661060d565b3480156102ab57600080fd5b5061021561061f565b3480156102c057600080fd5b506102c9610625565b60408051600160a060020a039092168252519081900360200190f35b3480156102f157600080fd5b5061021561063d565b34801561030657600080fd5b50610215600160a060020a0360043516610643565b34801561032757600080fd5b50610215610655565b34801561033c57600080fd5b506102c961065b565b6000808315156103585760009150610377565b5082820282848281151561036857fe5b041461037357600080fd5b8091505b5092915050565b60008080831161038d57600080fd5b828481151561039857fe5b04949350505050565b60006103ac8261055c565b600160a060020a0383166000908152602081905260408120549192501080156103d6575030318111155b80156103e25750600081115b156104e057600160a060020a038216600090815260016020526040902054610410908263ffffffff6104e416565b600160a060020a038316600090815260016020908152604080832093909355600280825283832042905590829052919020546104519163ffffffff61034516565b600160a060020a038316600090815260016020526040902054106104a857600160a060020a038216600090815260208181526040808320839055600282528083208390556001909152812055600680546000190190555b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156104de573d6000803e3d6000fd5b505b5050565b60008282018381101561037357600080fd5b60003031681043561a88293000008110156105145760029150610558565b681043561a88293000008110158015610535575068410d586a20a4c0000081105b156105435760039150610558565b68410d586a20a4c00000811061055857600491505b5090565b600080600080600061056c6104f6565b600160a060020a0387166000908152600260205260409020549094506105a190610e10906100f290429063ffffffff61067316565b600160a060020a0387166000908152602081905260409020549093506105d4906064906100f2908763ffffffff61034516565b91506105eb60186100f2848663ffffffff61034516565b9695505050505050565b60035481565b60016020526000908152604090205481565b60026020526000908152604090205481565b60045481565b7322e483dbeb45edbc74d4fe25d79b5c28ea6aa8dd81565b60055481565b60006020819052908152604090205481565b60065481565b733c1fd40a99066266a60f60d17d5a7c51434d74bb81565b6000808383111561068357600080fd5b50509003905600a165627a7a7230582046f02fcc19a46dc759dff6dcfe9f1154076c843f0aa060d8f0ff13b5833a06b00029

Swarm Source

bzzr://46f02fcc19a46dc759dff6dcfe9f1154076c843f0aa060d8f0ff13b5833a06b0

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