LimitSwap
Search…
LimitSwap Bot setup guide πŸ› οΈ

1/ First steps

Prerequisites :
  • Read the Readme on GitHub for a step-by-step tutorial on how to install the bot
Our bot works with 2 json files :
  • settings.json
  • tokens.json

2/ Configure your settings

You need first to configure your account.
1/ Run the bot first, and enter your wallet and Private Key : bot will ask you to enter a password so as to encrypt your private keys.
2/ Open settings.json file and set your Exchange / Node values:
1
[
2
{
3
// ----------- WALLETS PARAMETERS ------------------------------------------------------------------------------
4
"LIMITWALLETPRIVATEKEY": "do not enter it manually, open the bot : it will encrypt it",
5
"LIMITWALLETADDRESS": "wallet address where you hold your LIMIT tokens",
6
"WALLETADDRESS": "wallet address you want to trade on : can be different from LIMIT wallet",
7
"PRIVATEKEY": "do not enter it manually, open the bot : it will encrypt it",
8
"WALLETADDRESS2": "null",
9
"PRIVATEKEY2": "null",
10
"WALLETADDRESS3": "null",
11
"PRIVATEKEY3": "null",
12
"WALLETADDRESS4": "null",
13
"PRIVATEKEY4": "null",
14
"WALLETADDRESS5": "null",
15
"PRIVATEKEY5": "null",
16
​
17
// ----------- NODE PARAMETERS ------------------------------------------------------------------------------
18
"USECUSTOMNODE": "false",
19
"CUSTOMNODE": "false", // put your own node here if you want and set USECUSTOMNODE = true
20
"UNLIMITED_SPEED": "false", // put 'true' only if you use a Private Node, because it will make more than 1000 price checks/s : you would be banned quickly from public node
21
"EXCHANGE": "pancakeswap",
22
"EXCHANGEVERSION": "2", // only for Pancakeswap
23
​
24
// ----------- TRADING PARAMETERS ------------------------------------------------------------------------------
25
"PREAPPROVE": "true", // team recommends to set it to true, it's important
26
"UNLIMITEDSLIPPAGE": "false", // be careful, this parameter is dangerous :) use it for degen snipings only
27
"PASSWORD_ON_CHANGE": "false", // set this to true if you want the bot to ask for your PK password if you update tokens.json in real time
28
"VERBOSE_PRICING": "true", // set to false if you want a new price line to appear only when price change
29
"SLOW_MODE": "false", // use this if you want the bot to make only 1 price check every 0.5s
30
​
31
"START_BUY_AFTER_TIMESTAMP": "not used", // Example : 1644150026. Bot will not start to BUY until time reach this timestamp. Use https://www.unixtimestamp.com/ to define value
32
"START_SELL_AFTER_TIMESTAMP": "not used", // Example : 1644150326. Bot will not start to SELL until time reach this timestamp. Use https://www.unixtimestamp.com/ to define value
33
​
34
// ----------- APPRISE PARAMETERS ------------------------------------------------------------------------------
35
"ENABLE_APPRISE_NOTIFICATIONS": "true", // use this if you want to receive notifications with APPRISE API
36
"APPRISE_PARAMETERS": ["macosx://", "windows://"], // you can enter new parameters. Respect the format. Check https://github.com/caronc/apprise
37
​
38
// ----------- TELEGRAM PARAMETERS ------------------------------------------------------------------------------
39
"AUTOMATICALLY_CHOOSE_LIQUIDITY_PAIR": "true", // if 'true', bot will scan all liquidity pair, to choose the best one
40
"SESSION_NAME": "Enter a random name here", // Enter here your session name. You can put any name.
41
"SESSION_API": "12345678", // Go to https://my.telegram.org/auth?to=apps , register, create an app, and you'll get an API and an API Hash (next parameter)
42
"SESSION_API_HASH": "azertyuioqsdfghjk1234567890", // Go to https://my.telegram.org/auth?to=apps
43
"CHANNEL_NAMES": ["LimitSwap - WE WILL NEVER DM YOU FIRST", "Channel name number 2"], // Channel names that you want to track. You need to be on the Channel with your Telegram Account to see them.
44
"TOKENS_BLACKLIST": ["0xe9e7cea3dedca5984780bafc599bd69add087d56", "0x55d398326f99059ff775485246999027b3197955"] // You can add manually some tokens to blacklist
45
}
46
]
Copied!
​
Since 4.0.0, LimitSwap can trade with 5 wallets at the same time, if you use MULTIPLEBUYS option
  • EXCHANGE : enter the exchange you want to use. Available values:
    • Uniswap
    • Pancakeswap
    • Sushiswapbsc
    • Sushiswapavax
    • Sushiswapeth
    • Sushiswapftm
    • Sushiswapmatic
    • Biswap
    • Pinkswap
    • Babyswap
    • Bakeryswap
    • Spiritswap
    • Spookyswap
    • Protofi
    • ApeSwap
    • Quickswap
    • Polygon-apeswap
    • Waultswap
    • KuSwap
    • KoffeeSwap
    • Pangolin
    • Traderjoe
    • Tethys
    • Cronos-meerkat
    • Cronos-vvs
    • Cronos-crona
    • Milkyswap
    • Wagyuswap
    • Viperswap
    • ... and also Pancakeswaptestnet and Uniswaptestnet, if you want to use the bot on testnets
      πŸ˜‡
TUTORIAL : HOW TO TEST THE BOT ON PANCAKE TESTNET
1/ Enter "pancakeswaptestnet" in settings.json
2/ Ask 1 testnet BNB here : https://testnet.binance.org/faucet-smart
3/ Add BNB testnet to your metamask
4/ Use this website to make a swap on testnet : https://pancake.kiemtienonline360.com/
5/ Go here to find the contract address of the token you just sniped on testnet : https://testnet.bscscan.com/
6/ Enter this contract address in your tokens.json
7/ Snipe :)
​
HOW TO FIND TOKENS on BSC testnet ?
You can find many transactions on Pancake testnet here : https://testnet.bscscan.com/address/0xd99d1c33f9fc3444f8101754abc46c52416550d1
-----------------------------------------------
TUTORIAL : HOW TO TEST THE BOT ON ETH RINKEBY TESTNET
1/ Enter "uniswaptestnet" in settings.json
2/ Ask 0.1 testnet ETH here : https://faucets.chain.link/rinkeby
3/ Add ETH testnet Rinkeby to your metamask
5/ HOW TO FIND TOKENS ? go here to find contract address of tokens : https://rinkeby.etherscan.io/address/0x7a250d5630b4cf539739df2c5dacb4c659f2488d
6/ Enter contract address in your tokens.json
7/ Important : use this in your tokens.json
"GAS": "BOOST",
"BOOSTPERCENT": "150",
8/ Snipe :)
9/ See results here : https://rinkeby.etherscan.io/
​
  • EXCHANGEVERSION Only available for Pancakeswap. Select "1" or "2".
    If you're not using Pancake, just leave it like this, bot won't take it into account.
  • LIMITWALLETPRIVATEKEY / PRIVATEKEY You need to enter here the Private key (and not the 12 words seed phrase) of the wallets you want to use. Read this article to learn how to export your private key from Metamask.
Don't worry, your private keys are encrypted with a password
πŸ”
​
You can use same wallet or different wallets, for holding LIMIT tokens and trading. It's as you prefer
πŸ˜‡
  • USECUSTOMNODE Set it to "true" if you want to use a custom node.
  • CUSTOMNODE If you want to use a custom node, enter here your node's address in http, wss, or IPC Example: https://bsc-dataseed4.ninicoin.io or wss://bsc-ws-node.nariox.org:443
Go read this page if you want tips on nodes / custom nodes
πŸ•΅
​
​
  • PREAPPROVE Tells the bot to preapprove tokens on startup or not Available values : - "false" --> bot will NOT approve token - "true" --> bot will approve AFTER BUY IS MADE - "instant" --> bot will approve AT BOT STARTUP
If you want to use the bot to SELL ONLY --> use PREAPPROVE = "instant"
​
  • ENCRYPTPRIVATEKEYS Will be filled automatically when you start the bot for the first time
  • UNLIMITEDSLIPPAGE Use this parameter if you want the bot to bypass completely the slippage setting and buy at any slippage, to avoid the "INSUFFICIENT_AMOUNT" Error If you select UNLIMITEDSLIPPAGE= true, bot won't take into account SLIPPAGE parameter.
Use UNLIMITED SLIPPAGE WITH CAUTION THIS SHOULD BE USED FOR DEGEN SNIPES ONLY AND CAN RESULT IN LOSS OF FUNDS IF USED INCORRECTLY!!!
​
  • PASSWORD_ON_CHANGE Activate this option if you want the bot to ask your private key's password again when you update tokens.json (useful if you're afraid someone could change it while the bot is running)
  • VERBOSE_PRICING Default setting is "true", but if you set it to "false", bot will only show lines on the screen if the price is updated, like this :
  • SLOW_MODE
    A user contacted me because he was running the bot 24/24 on the default node, and his IP got temporarily banned because he made too many calls. Indeed, on default RPC nodes, there is a rate limit (example : https://docs.binance.org/smart-chain/developer/rpc.html#rate-limit) --> We created a SLOW_MODE parameter for this. Use it if you let the bot run all night on default node, if you just need to do Limit orders.
    2 options :
    • SLOW_MODE : true --> price check every 0.5s
    • SLOW_MODE : super_slow --> price check every 3s
​
  • ENABLE_APPRISE_NOTIFICATIONS / APPRISE_PARAMETERS You can now receive real-time notifications when LimitSwap made a BUY or a SELL order What is Apprise ? It's an API who allows you to get Push notifications on your Phone / computer / Telegram / Discord / SMS... basically everywhere ! Check : https://github.com/caronc/apprise
    How to use it 1/ Check Apprise Github for documentation : https://github.com/caronc/apprise#popular-notification-services 2/ Configure your settings.json : - "ENABLE_APPRISE_NOTIFICATIONS": "true", - "APPRISE_PARAMETERS": [put your parameters here : you can put several notifications at the same time]
    Example
    • you are using a Windows computer and want to receive a Windows notification
    • you have registered on PushSafer so as to receive a notification on your phone. The private key they gave you is eFhoOW0gh0vwvOCqDPlB
    --> enter this in your settings.json : - "ENABLE_APPRISE_NOTIFICATIONS": "true", - "APPRISE_PARAMETERS": ["windows://", "psafers://eFhoOW0gh0vwvOCqDPlB"]

3/ Configure your tokens

Open tokens.json to configure the tokens and the orders that your bot will create. Here's an example:
1
[
2
{
3
"ENABLED": "true",
4
"SELECT_MODE": "limitswap", // available values : limitswap / buy_the_dip / trailing_stop / limitswap+trailing_stop / ping_pong / limitswap+ping_pong / snipe_on_pinksale / pinksale / telegram / telegram+trailing_stop / telegram+ping-pong
5
"SYMBOL": "CAKE",
6
"ADDRESS": "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82",
7
​
8
// ----------- BUY / SELL PARAMETERS ---------------------------------------------------------------------------------
9
"KIND_OF_SWAP": "base", // enter "base" to use BUYAMOUNTINBASE , and "tokens" to use BUYAMOUNTINTOKENS
10
"BUYAMOUNTINBASE": "0.005",
11
"BUYAMOUNTINTOKEN": "5",
12
"MAX_BASE_AMOUNT_PER_EXACT_TOKENS_TRANSACTION": "0.5", // used with KIND_OF_SWAP = tokens
13
14
"BUYPRICEINBASE": "0",
15
"SELLPRICEINBASE": "200%", // You can now put amount in % in this field
16
"SELLAMOUNTINTOKENS": "ALL",
17
"STOPLOSSPRICEINBASE": "60%", // You can now put amount in % in this field
18
"SLIPPAGE": "15",
19
​
20
// ----------- BUY_THE_DIP / TRAILING_STOP_LOSS PARAMETERS -----------------------------------------------------------
21
"BUY_THE_DIP_PARAMETERS": "50%---20%", // % of the dip under ATH, then % of the rise above ATL
22
"TRAILING_STOP_LOSS_PARAMETER": "80%", // put amount in % in this field. Enter '0' if you don't want to use it
23
"PING_PONG_MODE": "false", // put 'true' if you want the bot to switch between BUY_THE_DIP mode and TRAILING_STOP_LOSS mode endlessly
24
​
25
// ----------- LIQUIDITY PARAMETERS -----------------------------------------------------------------------------------
26
"WATCH_STABLES_PAIRS": "true", // use this if you want bot to check all Stable Liquidity pairs
27
"LIQUIDITYINNATIVETOKEN": "true",
28
"USECUSTOMBASEPAIR": "false",
29
"BASESYMBOL": "BUSD",
30
"BASEADDRESS": "0xe9e7cea3dedca5984780bafc599bd69add087d56",
31
"MINIMUM_LIQUIDITY_IN_DOLLARS": "10000",
32
​
33
// ----------- COUNTER ANTI BOT PARAMETERS ---------------------------------------------------------------------------
34
"WAIT_FOR_OPEN_TRADE": "true_after_buy_tx_failed", // check Wiki, this is very useful
35
"CHECK_IF_TRADING_IS_ENABLED": "false", // BSC/AVAX/FTM only - put 'true' if you want the bot to check if openTrading is enabled after detecting liquidity
36
"BUY_AND_SELL_TAXES_CHECK": "false", // BSC/AVAX/FTM only - put 'true' if you want the bot to check BUY/SELL tax fees
37
"MAX_BUY_TAX_IN_%": "20", // bot will buy as soon as BUY tax is lower that this value
38
"MAX_SELL_TAX_IN_%": "20", // bot will buy as soon as SELL tax is lower that this value
39
"BUYAFTER_XXX_SECONDS": "0",
40
"MULTIPLEBUYS": "false", // you can use 2 options : 'several_wallets' or 'same_wallet'. Check wiki
41
"BUYCOUNT": "2",
42
​
43
// ----------- GAS PARAMETERS -----------------------------------------------------------------------------------------
44
"GAS": "BOOST", // Team recommend you to use BOOST here
45
"GAS_FOR_APPROVE": "BOOST", // Gas for Approval Tx. Team recommend you to use BOOST here
46
"MAX_GAS": "9999", // Put here the maximum of GAS you want to pay if you use BOOST. If GAS > MAX_GAS Tx won't be made
47
"BOOSTPERCENT": "30",
48
"BOOSTPERCENT_FOR_APPROVE": "30",
49
"GASLIMIT": "1000000",
50
"GASPRIORITY_FOR_ETH_ONLY": "1.5",
51
​
52
// ----------- OTHER PARAMETERS ---------------------------------------------------------------------------------------
53
"MOONBAG": "0", // Bot will keep this amount in your wallet after SELL order
54
"MAXTOKENS": "1", // Bot will stop if your balance > MAXTOKENS
55
"HASFEES": "false",
56
"MAX_SUCCESS_TRANSACTIONS_IN_A_ROW": "2",
57
"MAX_FAILED_TRANSACTIONS_IN_A_ROW": "2",
58
"RUGDOC_CHECK": "true",
59
​
60
// ----------- PINKSALE SNIPING ----------------------------------------------------------------------------------------
61
"PINKSALE_PRESALE_ADDRESS": "enter here the presale address if you're sniping a Pinksale listing",
62
"PINKSALE_PRESALE_START_TIMESTAMP": "1647477029"
63
}
64
]
65
​
Copied!
  • ENABLED Enable trading or not (if false, bot won't try to buy tokens)
  • SELECT_MODE To select the bot's mode Available values :
    1
    limitswap
    2
    buy_the_dip
    3
    trailing_stop
    4
    ping_pong
    5
    limitswap+trailing_stop
    6
    limitswap+ping_pong
    7
    snipe_on_pinksale
    8
    pinksale
    9
    telegram
    10
    telegram+trailing_stop
    11
    telegram+ping-pong
    Copied!
  • SYMBOL Symbol of the token you want to buy
  • ADDRESS Contract address of the token you want to buy
  • KIND_OF_SWAP (since 4.0.4.2) You now have the choice between : 1/ "KIND_OF_SWAP": "base" --> you want to swap with an amount of Base tokens (example : I want to buy 1 BNB of CAKE token) 2/ "KIND_OF_SWAP": "tokens" --> you want to swap an exact amount of tokens (example : I want to buy 50 CAKE tokens)
  • BUYAMOUNTINBASE (used with "KIND_OF_SWAP": "base") Put here the amount in the base symbol that you want the bot to buy with
  • BUYAMOUNTINTOKEN (used with "KIND_OF_SWAP": "tokens") Put here the amount of tokens that you want the bot to buy
  • MAX_BASE_AMOUNT_PER_EXACT_TOKENS_TRANSACTION (used with "KIND_OF_SWAP": "tokens") Put here the maximum amount of BNB / ETH / AVAX... that you want the bot to use, if you're swapping per tokens --> this option avoids you to spend too much to buy the tokens you want to buy
  • BUYPRICEINBASE (used with "KIND_OF_SWAP": "base") Buy price of 1 token in the base symbol : if the price of 1 token is < or = to this price, the bot will buy.
If you want the bot to never buy, set BUYPRICEINBASE = 0 (price cannot be below 0)
  • SELLPRICEINBASE Sell price of 1 token in the base symbol : if the price of 1 token is > or = to this price, the bot will sell. (it will sell at the Market price, not at your price) NEW SINCE 4.2.1 : you can now enter a sell price in % LimitSwap is now able to determine the SELL price according to your real BUY price
    You just need to enter an amount in % in SELLPRICEINBASE and STOPLOSSPRICEINBASE, and it will automatically calculate sell price.
    Example :
    "SELLPRICEINBASE": "300%"
    "STOPLOSSPRICEINBASE": "60%"
BUYPRICEINBASE and SELLPRICEINBASE are the buy price of ONE token in BASE pair.
Think about it as if you were in front of this screen:
​
​
If you want the bot to never sell, set SELLPRICEINBASE = 99999999
  • STOPLOSSPRICEINBASE Set your Stop Loss price in the base symbol Bot will sell if token price < STOPLOSS price
  • SLIPPAGE Slippage you want to use (in %).
  • MOONBAG Minimal amount of token you want to keep in your wallet. If you don't want to keep any token, put 0. (in this example, the bot will keep at least 20 KPAD token in your wallet)
  • MAXTOKENS This parameter is used to make the bot stop buying:
    • before buying, the bot checks MAXTOKENS
    • if you hold more tokens than MAXTOKENS, the bot does not buy
This parameter does not influence how many tokens the bot will buy during your trade: if you set MAXTOKENS = 1, the bot can buy 50000 tokens for example, no problem
➑️ If you want to make the bot stop buying after 1 trade, set MAXTOKENS to a low value, like "1" for instance.
  • RUGDOC_CHECK Call RugDoc's API to check if a contract is a honeypot or not.
    Check their website, be careful it cannot be 100% reliable of course!

Anti-antibot parameters

  • BUYAFTER_XXX_SECONDS
  • WAIT_FOR_OPEN_TRADE
  • START_BUY_AFTER_TIMESTAMP START_SELL_AFTER_TIMESTAMP
  • MULTIPLEBUYS
  • BUYCOUNT

Liquidity parameters

  • LIQUIDITYINNATIVETOKEN
  • USECUSTOMBASEPAIR
  • BASESYMBOL
  • BASEADDRESS
  • WATCH_STABLES_PAIRS
​
⚠
⚠
​
⚠
Please read dedicated page carefully
⚠
​
⚠
​
⚠
​
WARNING : be VERY CAREFUL about those liquidity options If you set up wrong configuration, bot will trade on wrong pair and make you lose funds. Beware

BUY THE DIP parameter

TRAILING STOP LOSS parameter

Pinksale parameters

  • PINKSALE_PRESALE_ADDRESS
  • PINKSALE_PRESALE_START_TIMESTAMP
  • MAX_FAILED_TRANSACTIONS_IN_A_ROW Tells the bot to stop making buy/sell orders after XXX failed transactions
  • MAX_SUCCESS_TRANSACTIONS_IN_A_ROW Tells the bot to stop making buy/sell orders after XXX success transactions Example : if you want the bot to make 1 BUY and 1 SELL Tx, set it to 2
  • ALWAYS_CHECK_BALANCE To increase speed to maximum, the default behaviour of LimitSwap is to check your balance only at bot launch. It allows to reduce the amount of actions before make a sell order. But some users want the bot to detect when they receive a token in their wallet while the bot is running, to sell the tokens as quickly as possible --> use this option to make the bot check your tokens balance between every price check (but this makes the bot a little bit slower - not too much slower, don't worry)
  • MINIMUM_LIQUIDITY_IN_DOLLARS Use this option if you want the bot to set a minimal amount of liquidity before buying.
    Put liquidity amount in $.
Some people add very small amount of liquidity to Exchanges --> if you swap on this, you will lose all your money !! To avoid this, the team recommend to set MINIMUM_LIQUIDITY_IN_DOLLARS = 10000
​
  • SELLAMOUNTINTOKENS Put here the amount of token that you want the bot to sell
  • HASFEES Select "TRUE" if you want to trade a token with additional fees, like automatic transfer to liquidity when you buy / additional taxes / rebase / etc. If you don't use this on such tokens, you may have a Tx failed with "Pancake:K" error
  • GAS / BOOSTPERCENT
    There is 2 ways to set your Gas :
  1. 1.
    Set your own fixed Gas price --> simply set Gas price in "GAS" parameter
    1
    "GAS": "200",
    Copied!
  2. 2.
    Let the bot calculate Gas price relating to current Gas Price on blockchain :
    1. 1.
      it reads the gas price on the blockchain
    2. 2.
      it applies the boost you set on Fast price. Example :
1
"GAS": "BOOST",
2
"BOOSTPERCENT": "30",
Copied!
Since v4.3.1.4, you can choose :
  • GAS --> for the main Tx
  • GAS_FOR_APPROVE --> for the Approval Tx
​
(and use BOOSTPERCENT_FOR_APPROVE if you use "BOOST" for GAS_FOR_APPROVE)
​
  • MAX_GAS Put here the maximum of GAS you want to pay if you use BOOST. If GAS > MAX_GAS : Tx won't be made
  • GASLIMIT Set it with the Gaslimit value you want to use (we recommend to set it to 1000000 to avoid to be out of Gas)
  • GASPRIORITY_FOR_ETH_ONLY This is EIP1559 Tx, for ETH and AVAX only : sets Max Priority Gas. The max priority fee, also referred to as the "miner tip", goes to the miner or validator, and incentivizes them to prioritize your transaction. Most often, the value you put in for "max priority fee" will be the amount you pay. More details here : https://www.blocknative.com/blog/eip-1559-fees

4/ Launch the bot
πŸš€