FTPAntiBot uses realtime bot countermeasures. When a transaction comes into your project, you can hook into our library to determine if the user is a bot or a fair trader. Join our telegram and ask us how to get started. By using AntiBot you keep FULL control of your coin, while receiving all the benefits of AntiBot's detection capability.
Ethereum Token Developer Library
Real-time Bot Prevention
Pump n Dump Prevention
Snipe Prevention
No Transfer Cooldowns
No Transaction Fees
Manual Banning Not Necessary
Low Transactional Gas Cost
Develop with remix today using Fair Token Project's recommended features.
With FTP AntiBot
Add Developer Fees
FTP AntiBot requires your ERC-20 contract to hold your choice of 5 billion $GOLD OR 5 billion $GREEN. This is a static requirement. These funds will not be removed by FTP AntiBot, and fees will not be withrdawn.
Without a funded contract, FTP AntiBot will not work.
We are giving away 500 billion $GREEN to fund early adopter contracts. Follow and mention us on twitter and join our telegram. Then just ask!
Bots are rampaging tokens for massive profits. They do this by watching for traders to buy large amounts of tokens at a higher than average slippage. They then cut in line on the same block and then sell right after the trader buys. This gives them instant profits and hurts the trader.
It is highly recommended that you initialize AntiBot with an external function. This will allow you to update AntiBot versions in the future.
FTPAntiBot private AntiBot;
function assignAntiBotAddress (address _address) external {
FTPAntiBot _antiBot = FTPAntiBot(_address);
AntiBot = _antiBot;
}
First we define the AntiBot contract address and create a variable for referencing it.
interface FTPAntiBot {
function scanAddress(address _recipient, address _sender, address _origin) external returns (bool);
function registerBlock(address _recipient, address _sender, address _origin) external;
}
contract ProjektGold is Context, IERC20, Ownable {
...
Next we create an interface for interacting with the AntiBot contract.
registerBlock(address _recipient, address _sender, address _origin) external;
AntiBot.registerBlock(_sender, _recipient, tx.origin); //Tells AntiBot to start watching
registerBlock tells AntiBot to start watching the two parties involved with the trade.
scanAddress(address _address, address _whiteListAddress, address _origin) external returns (bool);
bool isRecipientBotting = AntiBot.scanAddress(_sender, UniswapV2Pair, _origin); // Get AntiBot Result
bool isSenderBotting = AntiBot.scanAddress(_recipient, UniswapV2Pair, _origin); // Get AntiBot result
scanAddress returns a boolean based upon the registerBlock we sent earlier and also on an immediate check of the trader. Returns true if it is a bot.
It is important to note that you need to send your UniswapPair address to AntiBot so that it knows that it is a safe address.
if (isRecipientBotting)
botAddressMap[_address] = true;
If AntiBot returns true you can assign the address to a (address => bool) map. The cool thing is, you can ban the bot address and the wallet controlling the bot with tx.origin. But make sure you are passing your Pair address to antibot in _whiteListAddress if you are banning tx.origin or you’ll have many unhappy traders.
function _transfer(address _sender, address _recipient, uint256 _amount) {
require(!botAddressMap[_sender] && !botAddressMap[_recipient],"Beep beep Boop, You're a piece of poop");
...
Inside your transfer function create some logic to prevent the foul player from trading.
It is also a good practice when integrating with other contracts to create some logic to toggle those contracts on and off. You do not want the entire success of your transaction to hinge on someone else’s code.
Antibot is a Contract as a service. In order to use it, your contract must hold at least 5Billion of one of FTP’s tokens. ($GREEN OR $GOLD)
Currently FairTokenProject is giving these tokens to you for FREE. Join our telegram and ask us how to get started.