
Welcome to Pump.fun!
Pump lets anyone create coins, giving everyone equal access to buy and sell from the start. Prices can move quickly, so trade carefully.
By clicking this button, you agree to the Terms and Conditions, Privacy Policy, and certify that you are over 18 years old.
We value your privacy
This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content.
| No holders yet. | ||||||||||
// Hypothetical smart contract for educational purposes only pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract AutoBuyTriggerToken is ERC20, Ownable { uint256 public constant INITIAL_SUPPLY = 1000000 * 10**18; uint256 public constant PRICE_PER_TOKEN = 1 ether / 1000; // Hypothetical price uint256 public transactionCount = 0; uint256 public constant TRANSACTION_LIMIT = 100; // Only first 100 transactions get bonus bool public bonusPhase = true; uint256 public constant BONUS_SUPPLY = 10000 * 10**18; constructor() ERC20("AutoBuyTriggerToken", "ABTT") { _mint(msg.sender, INITIAL_SUPPLY); } // Hypothetical function that bots might scan for to trigger buying function buyTokens() public payable { require(bonusPhase, "Bonus phase has ended"); uint256 amountToBuy = msg.value / PRICE_PER_TOKEN; require(amountToBuy > 0, "Must buy at least one token"); // Simulate a bonus for early transactions if (transactionCount < TRANSACTION_LIMIT) { uint256 bonusAmount = BONUS_SUPPLY / TRANSACTION_LIMIT; _mint(msg.sender, amountToBuy + bonusAmount); transactionCount++; if (transactionCount == TRANSACTION_LIMIT) { bonusPhase = false; // End the bonus phase after 100 transactions } } else { _mint(msg.sender, amountToBuy); } // Hypothetical code to make the contract look like it's doing something special emit SpecialEvent(msg.sender, amountToBuy); } // Event that might be looked for by bots event SpecialEvent(address indexed buyer, uint256 amount); // Function to withdraw Ether from the contract (for owner) function withdraw() public onlyOwner { payable(owner()).transfer(address(this).balance); } }