show more...


In the BNBMINER Smart-Contract were found no vulnerabilities, no backdoors, and no scam scripts.

The code was tested with compatible compilers and simulate manually reviewed for all commonly known and specific vulnerabilities.

So BNBMINER Smart-Contract is safe for use in the Binance Smart Chain main network.

CRITICAL ISSUES (critical, high severity): 0

Critical and harmful access for owners, user block ability, Bugs, and vulnerabilities that enable theft of funds, lock access to funds without possibility to restore it, or lead to any other loss of funds to be transferred to any party.


ERRORS, BUGS AND WARNINGS (medium, low severity): 0

Bugs can negatively affect the usability of a program, errors that can trigger a contract failure, Lack of necessary security precautions, other warnings for owners and users, warning codes that are valid code but the compiler thinks are suspicious.


OPTIMIZATION (low severity): 1

Methods to decrease the cost of transactions in Smart-Contract.


RECOMMENDATIONS (very low severity): 1

Hint and tips to improve contract functionality and trustworthiness.



1- Loop on the dynamic variable (low severity).

If the user gets more parallel deposits his withdrawal transaction fee will cost more transaction fees because the loop on the dynamic variable is used in the ‘withdraw’ function.

In case of the GAS limit of exceeding the size of transaction withdraw is not possible.


This comment is relevant only if a user creates an excessive amount of parallel deposits (more than 100).



The BNBMINER smart-contract provides the opportunity to invest any amount in BNB (from 0.05 BNB) in the contract and get a 108% to unlimited return on investment in 6 different plans if the contract balance has enough funds for payment.


  • Dividends are paid from deposits of users.
  • All dividends are calculated at the moment of request and available for withdrawal at every 36 hours
  • Each subsequent Deposit is kept separately in the contract, in order to maintain the payment amount for each Deposit.


Launch Date: Sat May 01 2021 14:08:56 GMT+0000


Contract Owners Fee



FUND:                 2%



Plans Total Return Days Daily Profit
1 unlimited forever 4%
2 140% 10 14%
3 169% 13 13%
4 126% 7 18%
5 114% 3 38%
6 108% 2 54%



  • The minimum deposit amount is 0.05 BNB


Referral System (Match Bonus)

This contract pays 9.1% referral commissions over 3 level

  • Level one:   5%
  • Level two:   2%
  • Level three: 2%
  • Return to the investor: 0.1% (if the user has a valid upline)


  • Referral should be an active user. it means the referral address has at least one deposit
  • A referrer is specified once at the time of the first deposit and is assigned to the user without the possibility of changing. From each subsequent Deposit, the referrer will get his percent.
  • If a user has not a referrer all referral amounts transfer to owners.


Withdraw Limit:

  • users can only withdraw every 36 hours


Notes and Hints:

  • In this contract based on function “grant”, the user can send BNB to create a new deposit for another address and his address is upline.


function() external payable {

if (msg.value == 0) {


} else {

invest(0, 0); //default to buy plan 0, no referrer




  • Based on the above code if an address sends BNB directly to the contract address, a deposit will be created for him without a referral
  • If an address sends zero amount directly to the contract address withdraw function runs automatically.



  • Constructor: initial developer, marketing, and fund address wallets and call “_init” function at the deployment of the contract in mainnet.
  • Function without any name: used this function to handle direct contract address call which returns invest and withdraws based on message BNB amount.
  • setMarketingAccount: set new marketing address
  • getMarketingAccount: only called by the owner and return marketing address.
  • setDeveloperAccount: set new developer address
  • getDeveloperAccount: only called by owner and return developer address.
  • setReferenceAccount: set new fund address
  • getReferenceAccount: only called by the owner and return reference address.
  • _init: define owner as a first user of contract and initial plans
  • getCurrentPlans: return all plans
  • getTotalInvestments: return total investment for only owners
  • getBalance: return contract balance
  • getUIDByAddress: return user ID based on user address
  • getInvestorInfoByUID: return all stats of a user
  • getInvestmentPlanByUID: return all user’s plans
  • _addInvestor: create a new user and set referrals
  • _invest: make a new deposit
  • grant: make a new deposit for another address
  • invest: call _invest and make a new deposit
  • withdraw: transfer available dividends, referral, and bonus to the user
  • _calculateDividends: calculate dividends of a plan
  • _calculateReferrerReward: calculate referrals and turnover for bonus prizes