Basic Configuration
Here’s a minimal configuration for running a validator on testnet:config.toml
Essential Configuration Options
User and Permissions
- Not be
rootor a superuser - Not have
sudoaccess - Be minimally permissioned
- Be separate from other processes for security isolation
Identity Keys
identity_path— Path to your validator identity keypair (Agave format)vote_account_path— Path to your vote account keypair, or the public key of an existing vote account
You can generate keypairs using the
fdctl keys subcommand.Data Directory
By default, Firedancer places the ledger and other data in:{user} is the configured user and {name} defaults to “fd1”.
Network Configuration
Gossip Entrypoints
Known Validators
RPC Configuration
port— RPC server port (default: 8899)full_api— Enable the full RPC APIprivate— Don’t publish RPC port to gossip
Performance Configuration
Layout and Tile Configuration
- Each tile needs a dedicated CPU core at 100% utilization
- Setting
affinity = "auto"lets Firedancer detect your system topology automatically - Tune tile counts for maximum throughput
Example tuned configurations can be found in the
src/app/fdctl/config/ folder of the source repository.Custom CPU Affinity
For manual control:Logging Configuration
- Permanent log — Written to file for archival
- Ephemeral log — Written to stderr for visual inspection
DEBUG— Development and diagnostic messagesINFO— Informational noticesNOTICE— Important informational noticesWARNING— Unexpected conditionsERR— Routine errors (kills Firedancer)CRIT— Critical errors (kills Firedancer)
Reporting and Metrics
Using Your Configuration
Once your configuration file is created, use it by either:Environment Variable
Command Line Flag
Complete Configuration Reference
For a complete list of all available configuration options and their default values, see thedefault.toml file in the Firedancer repository.
Next Steps
Now that you have a configuration file:- Proceed to Running to initialize and start your validator