.env

  • JUPITER_URL: follow the tutorial for hosting your own Jupiter API here

  • QUOTE_REQUEST_INTERVAL_MS: amount of time in milliseconds to wait between each search for an arb opportunity. The lower the number, the faster the bot will look for opportunities. If you have access to a Jup API with no rate limits or you are hosting your own api (ask us how in Discord) then I suggest making this value < 50.

  • RPC_URL: RPC used for reading methods. RPC used for everything the bot needs to do EXCEPT send transactions

  • SEND_TXN_RPC_URL: RPC dedicated to ONLY sending transactions

  • MAX_RETRIES: read here. This should be zero most of the time.

  • WRAP_UNWRAP_SOL_ENABLED: When setting this to false the bot will assume you have a WSOL account (the token account for SOL). We'll see how to open a WSOL account below. WARNING: versions <v0.2.4-alpha of the bot will close a WSOL account on a successful transaction. So if you are running old versions parallel to latest versions, you will have conflicts when this variable = false Open WSOL Token Account: Go to our beginner tutorial video at 1:20 or:

    • Install and configure the Solana CLI

    • spl-token create-account So11111111111111111111111111111111111111112

    • Send SOL to your new WSOL token account

    • spl-token sync-native

  • SPAM_RPCS_ENABLED: when true, the bot will send a transaction to all the RPC URLs in the rpcs.json file once each for every arb opportunity found. When this env variable is false, SEND_TXN_RPC_URL is the only RPC used for sending transactions

  • SPAM_RPCS_UNIQUE_TXNS: only applies when SPAM_RPCS_ENABLED=true. When set to true, the bot will send a transaction with a unique signature and priority fee to each RPC in rpcs.json

  • AUTO_CREATE_ATA_BLACKLIST: when true, bot automatically records what token accounts you have so it knows not to try to create them. This makes transactions faster.

  • BLOCK_ENGINE_URL: URL(s) to send your Jito bundles to. Possible values are: amsterdam.mainnet.block-engine.jito.wtf | frankfurt.mainnet.block-engine.jito.wtf | ny.mainnet.block-engine.jito.wtf | tokyo.mainnet.block-engine.jito.wtf You can send to multiple urls if you separate them with a comma like this: BLOCK_ENGINE_URL=ny.mainnet.block-engine.jito.wtf,frankfurt.mainnet.block-engine.jito.wtf

  • UPDATE_INTERVAL_MINUTES: interval in minutes for updating: - includeMints.json - createAtaBlacklist.json - rpcs.json For most users this will mainly be helpful for updating createAtaBlacklist.json and changing these files without having to restart the bot. For more technical users, this can be very helpful if you want to implement your own way of updating includedMints.json with mints newly trending tokens.

  • SOL_PRICE_OVERRIDE_INT: price of SOL in USD as an integer to use if the bot can't find the actual price. The bot needs to know the price of SOL so it can properly calculate Jito tips. The larger this value, the safer the calculation would be in the unlikely case where the bot can't find the price of SOL in USD.

  • INCLUDE_MEMO_IXN: boolean variable for including a memo instruction in your transaction that would show useful data like the name of the worker responsible for the transaction, RPC used (api keys are hidden), etc.

  • HELIUS_API_KEY: your Helius api key to be used for fetching suggested priority fees to be used with your Helius transactions if enabled.

  • DEBUG: set this to true for detailed logs.

  • USE_BASE_CONFIG_KEYPAIR: When true, bot uses payerKeypairPath value in baseConfig.json for each worker instead of PAYER_KEYPAIR_PATH in .env for all workers.

  • USE_JITO_PROXIES: Set this to true and put your proxy urls in the proxies.json file to use proxies for Jito sending bundles.

  • RANDOM_2_JITO_URLS: In an attempt to reduce rate limiting, you can set this to true and each bundle will be sent to 2 random block engines that you have listed in BLOCK_ENGINE_URL .env if you have > 2 listed.

  • CUTOFF_MS: The bot now tracks the execution time of each arb opportunity from right before the Jup API calls to right before the sending of the transaction. If this processing time > CUTOFF_MS then the transaction will not be sent.

  • REUP_NATIVE_MINUTES_INTERVAL: How often you transfer wSOL to native SOL in minutes.

  • MAINTAIN_WSOL_BALANCE: The wSOL balance you would like to maintain. This should be the number of your largest SOL trade size.

Last updated