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.

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

Last updated