Skip to main content

Configuration

Fever CLI uses a combination of environment variables and local configuration files to manage settings, credentials, and network definitions.

Environment Variables (.env)

For sensitive data like private keys and API keys, the recommended approach is to use a .env file in the root of your project. Fever CLI automatically loads variables from this file.

Create a .env file in your project root:

# Wallet Configuration
PRIVATE_KEY=0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
OWNER_ADDRESS=0xYourAddress...

# Network Configuration
CHAIN_ID=1
RPC_URL=https://your-rpc-endpoint.com

# Block Explorer API Key (for verification)
EXPLORER_API_KEY=ABC123...

You can then reference these variables in your deployment manifests using the ${VARIABLE_NAME} syntax.

Example Usage in a Manifest:

# manifest.yaml

spec:
deployer:
wallet:
type: privateKey
value: ${PRIVATE_KEY} # Loaded from .env
network:
chainId: ${CHAIN_ID} # Loaded from .env
rpcUrl: ${RPC_URL} # Loaded from .env

Project Network Configuration (f9s/networks.yml)

Project-specific network configurations are stored in f9s/networks.yml. This file is created automatically when you run fever networks select or fever networks add for the first time.

It allows you to define a list of networks for your project and set a default network for deployments.

Structure of networks.yml

apiVersion: beta/v1
kind: Network
defaultNetwork: 11155111 # Chain ID of the default network
networks:
- chainId: 11155111
name: Sepolia
symbol: ETH
type: testnet
rpcUrl: https://rpc.sepolia.org
blockExplorerUrl: https://sepolia.etherscan.io
isCustom: false
addedAt: '2025-10-28T12:00:00.000Z'
- chainId: 1337
name: Localhost
symbol: ETH
type: local
rpcUrl: http://localhost:8545
isCustom: false
addedAt: '2025-10-28T12:01:00.000Z'
customNetworks: [] # For networks not on Chainlist

Fields

  • defaultNetwork: The chainId of the network to use for deployments when one isn't specified in the manifest or via a command-line flag.
  • networks: A list of network objects available to the project.
    • chainId: The unique identifier for the network.
    • name: A human-readable name (e.g., "Sepolia", "Polygon Amoy").
    • symbol: The native currency symbol (e.g., "ETH", "MATIC").
    • type: The network type (mainnet, testnet, or local).
    • rpcUrl: The JSON-RPC endpoint for the network.
    • blockExplorerUrl: (Optional) The base URL for the block explorer.
    • isCustom: true if the network was added manually via fever networks add.
    • addedAt: The timestamp when the network was added.

Use the fever networks command to manage this file. See Commands: networks for more details.

Global CLI Configuration (~/.fever/config.json)

Fever CLI stores global configuration, including your authentication credentials, in a config.json file located in your home directory (~/.fever/).

warning

Do not edit this file manually. It contains encrypted credentials and is managed automatically by the fever auth and fever projects commands.

This file stores:

  • Encrypted API keys for connecting to the Fever platform.
  • Information about the currently selected project for your global user.
  • Globally added custom networks.