Address Contract Verified
Address
0x9003e00a94EbC072580d5ade12e5a5372355604C
Balance
0 ETH
Nonce
1
Code Size
6232 bytes
Creator
0x4F71fb7d...09f7 at tx 0x78d0b2df...c201e1
Indexed Transactions
0
Contract Bytecode
6232 bytes
0x608060405260043610610058575f3560e01c8063814c8d7b14610063578063848008121461008b5780638609e751146100b35780638da5cb5b146100dd5780639e281a9814610107578063e08836dd1461012f5761005f565b3661005f57005b5f80fd5b34801561006e575f80fd5b5061008960048036038101906100849190610be3565b610159565b005b348015610096575f80fd5b506100b160048036038101906100ac9190610cbc565b610305565b005b3480156100be575f80fd5b506100c7610965565b6040516100d49190610d4f565b60405180910390f35b3480156100e8575f80fd5b506100f161097d565b6040516100fe9190610d4f565b60405180910390f35b348015610112575f80fd5b5061012d60048036038101906101289190610d68565b6109a0565b005b34801561013a575f80fd5b50610143610acc565b6040516101509190610d4f565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dd90610e00565b60405180910390fd5b600285859050101561022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022490610e68565b60405180910390fd5b5f858585856040516020016102459493929190610f42565b6040516020818303038152906040529050731b81d678ffb9c0263b24a97847620c99d213eb1473ffffffffffffffffffffffffffffffffffffffff16635cffe9de3088885f81811061029a57610299610f80565b5b90506020020160208101906102af9190610fad565b85856040518563ffffffff1660e01b81526004016102d09493929190611071565b5f604051808303815f87803b1580156102e7575f80fd5b505af11580156102f9573d5f803e3d5ffd5b50505050505050505050565b731b81d678ffb9c0263b24a97847620c99d213eb1473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037e90611105565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ec9061116d565b60405180910390fd5b5f805f848481019061040791906112fe565b9250925092505f80881161041b578661041d565b875b90505f845f8151811061043357610432610f80565b5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b385846040518363ffffffff1660e01b815260040161047892919061136a565b6020604051808303815f875af1158015610494573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b891906113c6565b505f8473ffffffffffffffffffffffffffffffffffffffff166338ed1739845f893061012c426104e8919061141e565b6040518663ffffffff1660e01b8152600401610508959493929190611514565b5f604051808303815f875af1158015610523573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061054b9190611640565b90505f816001835161055d9190611687565b8151811061056e5761056d610f80565b5b602002602001015190505f875167ffffffffffffffff8111156105945761059361118b565b5b6040519080825280602002602001820160405280156105c25781602001602082028036833780820191505090505b5090505f5b885181101561066357888160018b516105e09190611687565b6105ea9190611687565b815181106105fb576105fa610f80565b5b602002602001015182828151811061061657610615610f80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808061065b906116ba565b9150506105c7565b50805f8151811061067757610676610f80565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b387846040518363ffffffff1660e01b81526004016106b992919061136a565b6020604051808303815f875af11580156106d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f991906113c6565b508573ffffffffffffffffffffffffffffffffffffffff166338ed17398387843061012c42610728919061141e565b6040518663ffffffff1660e01b8152600401610748959493929190611701565b5f604051808303815f875af1158015610763573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061078b9190611640565b505f61271060198761079d9190611759565b6107a791906117c7565b90505f81876107b6919061141e565b90508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016107f392919061136a565b6020604051808303815f875af115801561080f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083391906113c6565b505f8673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161086e9190610d4f565b602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad91906117f7565b90505f811115610953578673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161091192919061136a565b6020604051808303815f875af115801561092d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095191906113c6565b505b50505050505050505050505050505050565b731b81d678ffb9c0263b24a97847620c99d213eb1481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2490610e00565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610a8792919061136a565b6020604051808303815f875af1158015610aa3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac791906113c6565b505050565b7310ed43c718714eb63d5aa57b78b54704e256024e81565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610b1657610b15610af5565b5b8235905067ffffffffffffffff811115610b3357610b32610af9565b5b602083019150836020820283011115610b4f57610b4e610afd565b5b9250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b7f82610b56565b9050919050565b610b8f81610b75565b8114610b99575f80fd5b50565b5f81359050610baa81610b86565b92915050565b5f819050919050565b610bc281610bb0565b8114610bcc575f80fd5b50565b5f81359050610bdd81610bb9565b92915050565b5f805f805f60808688031215610bfc57610bfb610aed565b5b5f86013567ffffffffffffffff811115610c1957610c18610af1565b5b610c2588828901610b01565b95509550506020610c3888828901610b9c565b9350506040610c4988828901610b9c565b9250506060610c5a88828901610bcf565b9150509295509295909350565b5f8083601f840112610c7c57610c7b610af5565b5b8235905067ffffffffffffffff811115610c9957610c98610af9565b5b602083019150836001820283011115610cb557610cb4610afd565b5b9250929050565b5f805f805f60808688031215610cd557610cd4610aed565b5b5f610ce288828901610b9c565b9550506020610cf388828901610bcf565b9450506040610d0488828901610bcf565b935050606086013567ffffffffffffffff811115610d2557610d24610af1565b5b610d3188828901610c67565b92509250509295509295909350565b610d4981610b75565b82525050565b5f602082019050610d625f830184610d40565b92915050565b5f8060408385031215610d7e57610d7d610aed565b5b5f610d8b85828601610b9c565b9250506020610d9c85828601610bcf565b9150509250929050565b5f82825260208201905092915050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f610dea600983610da6565b9150610df582610db6565b602082019050919050565b5f6020820190508181035f830152610e1781610dde565b9050919050565b7f496e76616c6964207061746800000000000000000000000000000000000000005f82015250565b5f610e52600c83610da6565b9150610e5d82610e1e565b602082019050919050565b5f6020820190508181035f830152610e7f81610e46565b9050919050565b5f82825260208201905092915050565b5f819050919050565b610ea881610b75565b82525050565b5f610eb98383610e9f565b60208301905092915050565b5f610ed36020840184610b9c565b905092915050565b5f602082019050919050565b5f610ef28385610e86565b9350610efd82610e96565b805f5b85811015610f3557610f128284610ec5565b610f1c8882610eae565b9750610f2783610edb565b925050600181019050610f00565b5085925050509392505050565b5f6060820190508181035f830152610f5b818688610ee7565b9050610f6a6020830185610d40565b610f776040830184610d40565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610fc257610fc1610aed565b5b5f610fcf84828501610b9c565b91505092915050565b610fe181610bb0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561101e578082015181840152602081019050611003565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61104382610fe7565b61104d8185610ff1565b935061105d818560208601611001565b61106681611029565b840191505092915050565b5f6080820190506110845f830187610d40565b6110916020830186610d40565b61109e6040830185610fd8565b81810360608301526110b08184611039565b905095945050505050565b7f4e6f7420666c6173686c6f616e20706f6f6c00000000000000000000000000005f82015250565b5f6110ef601283610da6565b91506110fa826110bb565b602082019050919050565b5f6020820190508181035f83015261111c816110e3565b9050919050565b7f4e6f74207468697320636f6e74726163740000000000000000000000000000005f82015250565b5f611157601183610da6565b915061116282611123565b602082019050919050565b5f6020820190508181035f8301526111848161114b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6111c182611029565b810181811067ffffffffffffffff821117156111e0576111df61118b565b5b80604052505050565b5f6111f2610ae4565b90506111fe82826111b8565b919050565b5f67ffffffffffffffff82111561121d5761121c61118b565b5b602082029050602081019050919050565b5f61124061123b84611203565b6111e9565b9050808382526020820190506020840283018581111561126357611262610afd565b5b835b8181101561128c57806112788882610b9c565b845260208401935050602081019050611265565b5050509392505050565b5f82601f8301126112aa576112a9610af5565b5b81356112ba84826020860161122e565b91505092915050565b5f6112cd82610b56565b9050919050565b6112dd816112c3565b81146112e7575f80fd5b50565b5f813590506112f8816112d4565b92915050565b5f805f6060848603121561131557611314610aed565b5b5f84013567ffffffffffffffff81111561133257611331610af1565b5b61133e86828701611296565b935050602061134f868287016112ea565b9250506040611360868287016112ea565b9150509250925092565b5f60408201905061137d5f830185610d40565b61138a6020830184610fd8565b9392505050565b5f8115159050919050565b6113a581611391565b81146113af575f80fd5b50565b5f815190506113c08161139c565b92915050565b5f602082840312156113db576113da610aed565b5b5f6113e8848285016113b2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61142882610bb0565b915061143383610bb0565b925082820190508082111561144b5761144a6113f1565b5b92915050565b5f819050919050565b5f819050919050565b5f61147d61147861147384611451565b61145a565b610bb0565b9050919050565b61148d81611463565b82525050565b5f81519050919050565b5f819050602082019050919050565b5f602082019050919050565b5f6114c282611493565b6114cc8185610e86565b93506114d78361149d565b805f5b838110156115075781516114ee8882610eae565b97506114f9836114ac565b9250506001810190506114da565b5085935050505092915050565b5f60a0820190506115275f830188610fd8565b6115346020830187611484565b818103604083015261154681866114b8565b90506115556060830185610d40565b6115626080830184610fd8565b9695505050505050565b5f67ffffffffffffffff8211156115865761158561118b565b5b602082029050602081019050919050565b5f815190506115a581610bb9565b92915050565b5f6115bd6115b88461156c565b6111e9565b905080838252602082019050602084028301858111156115e0576115df610afd565b5b835b8181101561160957806115f58882611597565b8452602084019350506020810190506115e2565b5050509392505050565b5f82601f83011261162757611626610af5565b5b81516116378482602086016115ab565b91505092915050565b5f6020828403121561165557611654610aed565b5b5f82015167ffffffffffffffff81111561167257611671610af1565b5b61167e84828501611613565b91505092915050565b5f61169182610bb0565b915061169c83610bb0565b92508282039050818111156116b4576116b36113f1565b5b92915050565b5f6116c482610bb0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116f6576116f56113f1565b5b600182019050919050565b5f60a0820190506117145f830188610fd8565b6117216020830187610fd8565b818103604083015261173381866114b8565b90506117426060830185610d40565b61174f6080830184610fd8565b9695505050505050565b5f61176382610bb0565b915061176e83610bb0565b925082820261177c81610bb0565b91508282048414831517611793576117926113f1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6117d182610bb0565b91506117dc83610bb0565b9250826117ec576117eb61179a565b5b828204905092915050565b5f6020828403121561180c5761180b610aed565b5b5f61181984828501611597565b9150509291505056fea264697066735822122078af0d4c9ac518324e7d24bfa7c8c6a68c9ff1e86f0d0a93743232b82cc0f64b64736f6c63430008140033
Verified Source Code Full Match
Compiler: v0.8.20+commit.a1b79de6
EVM: shanghai
Optimization: No
FlashloanArbitrage.sol 133 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IPancakeRouter {
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function getAmountsOut(uint amountIn, address[] calldata path)
external view returns (uint[] memory amounts);
}
interface IERC20 {
function approve(address spender, uint256 amount) external returns (bool);
function transfer(address to, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
interface IPancakeFlashLoan {
function flashLoan(
address receiver,
address token,
uint256 amount,
bytes calldata data
) external;
}
contract FlashloanArbitrage {
address public owner;
address public constant PANCAKE_ROUTER = 0x10ED43C718714eb63d5aA57B78B54704E256024E;
address public constant PANCAKE_FLASHLOAN = 0x1b81D678ffb9C0263b24A97847620C99d213eB14;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
// Main entry point - called by your bot
function executeArbitrage(
address[] calldata path,
address buyRouter,
address sellRouter,
uint256 loanAmount
) external onlyOwner {
require(path.length >= 2, "Invalid path");
// Encode arbitrage data
bytes memory data = abi.encode(path, buyRouter, sellRouter);
// Request flashloan
IPancakeFlashLoan(PANCAKE_FLASHLOAN).flashLoan(
address(this),
path[0], // Borrow first token in path
loanAmount,
data
);
}
// Callback from PancakeSwap flashloan
function pancakeCall(
address sender,
uint amount0,
uint amount1,
bytes calldata data
) external {
require(msg.sender == PANCAKE_FLASHLOAN, "Not flashloan pool");
require(sender == address(this), "Not this contract");
// Decode arbitrage parameters
(address[] memory path, address buyRouter, address sellRouter) =
abi.decode(data, (address[], address, address));
uint loanAmount = amount0 > 0 ? amount0 : amount1;
address loanToken = path[0];
// Step 1: Buy on cheap DEX
IERC20(loanToken).approve(buyRouter, loanAmount);
uint[] memory amounts = IPancakeRouter(buyRouter).swapExactTokensForTokens(
loanAmount,
0, // Accept any amount (risky but needed for testing)
path,
address(this),
block.timestamp + 300
);
uint tokensReceived = amounts[amounts.length - 1];
// Step 2: Sell on expensive DEX
address[] memory reversePath = new address[](path.length);
for (uint i = 0; i < path.length; i++) {
reversePath[i] = path[path.length - 1 - i];
}
IERC20(reversePath[0]).approve(sellRouter, tokensReceived);
IPancakeRouter(sellRouter).swapExactTokensForTokens(
tokensReceived,
loanAmount, // Must get back at least loan amount
reversePath,
address(this),
block.timestamp + 300
);
// Step 3: Repay flashloan (0.25% fee)
uint fee = (loanAmount * 25) / 10000;
uint repayAmount = loanAmount + fee;
IERC20(loanToken).transfer(msg.sender, repayAmount);
// Keep profit
uint profit = IERC20(loanToken).balanceOf(address(this));
if (profit > 0) {
IERC20(loanToken).transfer(owner, profit);
}
}
// Emergency withdrawal
function withdrawToken(address token, uint amount) external onlyOwner {
IERC20(token).transfer(owner, amount);
}
// Receive ETH
receive() external payable {}
}
Read Contract
PANCAKE_FLASHLOAN 0x8609e751 → address
PANCAKE_ROUTER 0xe08836dd → address
owner 0x8da5cb5b → address
Write Contract 3 functions
These functions modify contract state and require a wallet transaction to execute.
executeArbitrage 0x814c8d7b
address[] path
address buyRouter
address sellRouter
uint256 loanAmount
pancakeCall 0x84800812
address sender
uint256 amount0
uint256 amount1
bytes data
withdrawToken 0x9e281a98
address token
uint256 amount
Recent Transactions
No transactions found for this address