NEXUS_CHAINS | A JSON array of chains. Each chain should have a name, chainId, and blockTime. | See default chains | No | [{"name": "eth_mainnet", "chainId": 1, "blockTime": 12}, [{"name": "base_mainnet", "chainId": 8453, "blockTime": 2}] |
NODE_PROVIDERS | A JSON array of node providers. Each provider should have a name, url, and chainId. Each chainId should refer to either a default chains or a chainId set in the NEXUS_CHAINS environment variable. Node proviers can additionally have an weight field, which defaults to 1. This value is used for load balancing. | - | Yes | [{"name": "eth.public", "url":"https://eth.public-rpc.com", "chainId": 1}]
[{"name": "eth.public", "url":"https://eth.public-rpc.com", "chainId": 1, "weight": 3}, {"name": "tenderly", "url":"", "chainId": 1, "weight": 7}] |
NEXUS_PORT | The port the Nexus server should listen on. | 4000 | No | 4000 |
NEXUS_RPC_AUTH_KEY | The secret key used to authenticate requests to the Nexus server. | - | No | my-secret-key |
NEXUS_RELAY_ORDER | The order in which to cycle through node providers when a request fails. Can be either random or sequential. | sequential | No | random |
NEXUS_RELAY_FAILURE | A string or a JSON array that configures error recovery. Can be set to fail-immediately or ["cycle-requests", <max number of retries>] | ["cycle-requests", 3] | No | ["cycle-requests", 5] |
NEXUS_LOG_LEVEL | The log level for the Nexus server. Can be set to debug, info, warn, or error. | info | No | debug |
NEXUS_LOG_COLORIZE | Whether to colorize the logs. Can be set to true or false. Recommended to set to false on production. | true | No | false |
NEXUS_SUBSCRIPTION_SHARING_ENABLED | Whether to share ethereum subscription rpc calls accross multiple clients | true | No | false |