Skip to content
LogoLogo

Configuration

Developer Preview

Credentials belong in the environment or a secret store, never in a page, a prompt, or command output. Which variables you need depends on the surface you picked on the overview.

The @navalabs packages are restricted during Developer Preview. Ask Nava for package access and a provisioned credential before installing them. If you do not have access, stop there rather than substituting an undocumented endpoint.

Base verification

Both the CLI and nava-mcp read these.

VariableRequiredPurpose
NAVA_API_KEYyesGuardian agent API key.
NAVA_WALLET_ADDRESS, else WALLET_ADDRESSyesThe agent's registered verification wallet. get-user-address returns this value.
NAVA_BASE_URLnoNava API base URL. Defaults to the packaged deployment.
CHAIN_IDnoDefault chain id. Must be a positive integer, or the command fails naming it.

NAVA_WALLET_ADDRESS is a CLI-side alias only; nava-mcp reads WALLET_ADDRESS. Set both when one environment serves both transports.

Hyperliquid

Every HYPERLIQUID_* name has an HL_* alias. Aliases are tried in the order listed, left to right, which is not always the prefixed name first.

VariableRequiredPurpose
HYPERLIQUID_PRIVATE_KEY, HL_AGENT_PRIVATE_KEY, PRIVATE_KEYwrites onlyExchange signing key. Reads never touch it.
HL_NAVA_API_KEY, NAVA_API_KEYwrites onlyGuardian agent credential. HL_NAVA_API_KEY wins when both are set.
HYPERLIQUID_WALLET_ADDRESS, HL_WALLET_ADDRESS, WALLET_ADDRESSreads, unless --address is passedDefault read address. NAVA_WALLET_ADDRESS is not consulted here.
NAVA_WALLET_ADDRESS, HYPERLIQUID_WALLET_ADDRESS, HL_WALLET_ADDRESS, WALLET_ADDRESSwrites onlyRegistered verification wallet. Setting only NAVA_WALLET_ADDRESS gives working writes and address-less reads that fail.
HYPERLIQUID_NETWORK, HL_NETWORKnomainnet (the default) or testnet. The CLI's only way to select a network.
HYPERLIQUID_MODE, HL_MODEnoReplaces the direct default of --mode.
HYPERLIQUID_ALLOW_UNDECIDED_EXECUTION, HL_ALLOW_UNDECIDED_EXECUTIONnoReplaces the false default of --allow-undecided. Fail-open; see the Hyperliquid writes.
HYPERLIQUID_API_URL, HL_API_URLnoBase venue URL. The info and exchange endpoints are derived from it.
HYPERLIQUID_INFO_URL, HL_INFO_URLnoOverrides the info endpoint alone; wins over the derived value.
HYPERLIQUID_EXCHANGE_URL, HL_EXCHANGE_URLnoOverrides the exchange endpoint alone; wins over the derived value.

The three endpoint overrides change which venue a command actually reaches, and they are CLI only. The MCP registrar does not read them, so nava-mcp always reaches the public Hyperliquid endpoints for the selected network.

Uniswap

VariableRequiredPurpose
UNISWAP_RPC_URL, else RPC_URLyesJSON-RPC endpoint.
UNISWAP_CHAIN_ID, else CHAIN_IDyesChain id. There is no default and no per-call override.
UNISWAP_WALLET_ADDRESS, else WALLET_ADDRESSyesDefault wallet for get-balance.

All three are required; the CLI fails naming the missing variable.

MCP server

VariableRequiredPurpose
NAVA_PROTOCOLSnoComma-separated protocols to register, e.g. uniswap,hyperliquid. Unset, every installed adapter registers; set it to narrow that. An empty string registers the four base tools only. See selecting protocols.