NotArb - Solana Arbitrage Bot
  • Getting Started
    • Welcome
    • Changelog
    • The Basics
  • Setup
    • Start Here!
    • Prerequisites
      • Recommended Apps
      • RPC Providers
      • Linux Machines
    • Logging in Using SSH
    • Securing Your Machine
      • User Management
      • SSH Key-Based Authentication
      • Setting up UFW
      • Setting up fail2ban
      • Securing Wallet Private Key
    • Setting up for FTP
    • Initial Setup of NotArb
    • Using Screens
    • Making a Solana Wallet
  • Configurations
    • Using Nano
    • Config Basics
    • bot-config.toml
      • General Bot Settings
      • WSOL Unwrapper
      • JITO Strategy Settings
      • Spam Strategy Settings
      • Token Lists Settings
      • Swap Settings
    • jupiter-config.toml
      • Manager Settings
      • Env Settings
      • Mint Filters
    • Shell Scripts
      • run-bot.sh
      • run-jupiter.sh
      • run-screens.sh
  • Usage
    • Strategies
      • Jito Strategy
      • Spam Strategy
    • Updating
  • EXPERIMENTAL FEATURES
    • Overview & Caution
    • New Setup Configurations
  • New Mint Configurations
  • Default Strategy Fields
  • Jito Example
  • Spam Example
  • Extra Features
  • Support
    • FAQ
    • Common Issues
    • Troubleshooting
    • NotArb Docs Tracker
    • Contact
Powered by GitBook
On this page
  • Default Env Settings
  • Rust Settings
  • RUST_LOG:
  • RUST_BACKTRACE:
  • Serverside Settings
  • HOST:
  • PORT:
  • RPC Settings
  • Full List of Environment Variables
  1. Configurations
  2. jupiter-config.toml

Env Settings

The environment variables are used specifically for the Jupiter API.

Default Env Settings

Below is the default:

[env]
RUST_LOG="info"
RUST_BACKTRACE="full"
HOST="0.0.0.0"
PORT="8080"
RPC_URL="your.url"
#YELLOWSTONE_GRPC_ENDPOINT=""
#YELLOWSTONE_GRPC_X_TOKEN=""
#YELLOWSTONE_GRPC_ENABLE_PING="true"
ALLOW_CIRCULAR_ARBITRAGE="true"
MARKET_MODE="remote"
ENABLE_NEW_DEXES="false"
EXCLUDE_DEX_PROGRAM_IDS=[
    "MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG",  # Moonshot
    "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",  # Pump.fun
]
FILTER_MARKETS_WITH_MINTS=""

Rust Settings

RUST_LOG:

Provides different logging levels. Here are some you can use:

Only log error messages. This is the highest severity level.

Log warnings and errors. Use this level to catch potential issues that are not fatal but could affect program execution.

Log informational messages, warnings, and errors. This is a common level for general application messages.

Log detailed information for debugging purposes, along with all higher levels (info, warn, error).

The most granular level, logging everything, including very fine-grained details of program execution. This level is useful for in-depth debugging but can generate a lot of output.

RUST_BACKTRACE:

Backtrace is an environment variable in Rust that controls whether a stack trace is shown when a program panics (i.e., encounters an unrecoverable error). It helps you debug by providing insight into the sequence of function calls that led to the error. Here are the options:

  • 0 (or unset) – Disables backtraces. When set to 0 or left unset, backtraces are not shown upon a panic. This is the default behavior.

  • 1 or short – Shows a minimal backtrace. When set to 1, Rust will display a short backtrace that includes only the most relevant parts of the stack, excluding functions from Rust’s internals.

  • full – Shows the full backtrace. When set to full, Rust provides a complete stack trace, showing all frames including functions within the standard library and dependencies. This is useful for in-depth debugging.

Serverside Settings

HOST:

Leaving at 0.0.0.0 will be the same as localhost. It will be on your own machine

PORT:

Set the port you wish your Jupiter API to use.

  • Example with leaving host as 0.0.0.0 and port as 8080. Your bot-config settings will have to look like the following:

    [jupiter]
    url="http://127.0.0.1:8080/" 

RPC Settings

It's advisable to find an RPC Node with YELLOWSTONE GRPC in order to not burn up credits quickly with a standard RPC.

  • RPC_URL : Include the url with port in this field

  • YELLOWSTONE_GRPC_ENDPOINT : Include the url with port in this field

  • YELLOWSTONE_GRPC_X_TOKEN ; If your GRPC requires the use of an X token instead of whitelisting, add the token here. If not required, you can comment this line out or just remove it.

  • YELLOWSTONE_GRPC_PING : pings the GRPC in order to not go inactive. Best to set to true

Full List of Environment Variables

- MARKET_CACHE: Jupiter europa URL, file path or remote file path, check production Jupiter cache for format https://cache.jup.ag/markets?v=4. Will default to the associated market mode default when not specified Note: the params field is required for some AMMs and is AMM type specific

- MARKET_MODE: Switch between market modes, file and remote will not receive new markets from Europa [default: europa] [possible values: europa, remote, file]

- RPC_URL: RPC URL for polling and fetching user accounts

- YELLOWSTONE_GRPC_ENDPOINT: Yellowstone gRPC endpoint e.g. https://jupiter.rpcpool.com

- YELLOWSTONE_GRPC_X_TOKEN: Yellowstone gRPC x token, the token after the hostname

- YELLOWSTONE_GRPC_ENABLE_PING: Enable pinging the grpc server, useful for a load balanced Yellowstone GRPC endpoint https://github.com/rpcpool/yellowstone-grpc/issues/225

- SNAPSHOT_POLL_INTERVAL_MS: Interval after which AMMs related account should be fetched, in yellowstone grpc mode, there will be a periodic poll to snapshot the confirmed state of AMM accounts Default to 200 ms for poll mode and 30000 ms for yellowstone grpc mode

- ENABLE_EXTERNAL_AMM_LOADING: Enable loading external AMMs from keyedUiAccounts in swap related endpoints

- DISABLE_SWAP_CACHE_LOADING: Disable loading caches necessary for swap related features to function properly, such as address lookup tables... This is useful for quote only APIs

- ALLOW_CIRCULAR_ARBITRAGE: Allow arbitrage quote and swap, where input mint is equal to output mint

- JUPITER_EUROPA_URL: Jupiter europa URL, for getting new markets at runtime

- SENTRY_DSN: Sentry DSN to send error to

- DEX_PROGRAM_IDS: List of DEX program ids to include, other program ids won't be loaded, you can get program ids from https://quote-api.jup.ag/v6/program-id-to-label

- FILTER_MARKETS_WITH_MINTS: List of mints to filter markets to include, markets which do not have at least 2 mints from this set will be excluded

- HOST: The host [default: 0.0.0.0]

- PORT: A port number on which to start the application [default: 8080]

- METRICS_PORT: Port for Prometheus metrics endpoint /metrics

- EXPOSE_QUOTE_AND_SIMULATE: ?

- ENABLE_DEPRECATED_INDEXED_ROUTE_MAPS: Enable computating and serving the /indexed-route-map Deprecated and not recommended to be enabled due to the high overhead [env: ENABLE_DEPRECATED_INDEXED_ROUTE_MAPS=]

- ENABLE_NEW_DEXES: Enable new dexes that have been recently integrated

- ENABLE_DIAGNOSTIC: Enable the /diagnostic endpoint to quote

- ENABLE_ADD_MARKET: Enable the /add-market endpoint to hot load a new market

PreviousManager SettingsNextMint Filters

Last updated 7 months ago