---
title: "basectl"
description: "Configure and inspect Base nodes across mainnet, sepolia, devnet, and custom configs."
source: https://basehub.org/node-operations/basectl/
---
`basectl` configures and inspects Base nodes across mainnet, Sepolia, devnet, and custom config targets. It ships with the workspace and runs via `cargo` or the `just basectl` recipe.

## Usage

```bash
# Build and run with a configuration target
cargo run -p basectl --release -- -c <config>
```

Supported configurations:

| Config | Network |
|--------|---------|
| `mainnet` | Base Mainnet |
| `sepolia` | Base Sepolia Testnet |
| `devnet` | Local Development Network |
| `<path>` | Custom configuration file |

## Examples

```bash
# Mainnet configuration
just basectl mainnet

# Sepolia testnet
just basectl sepolia

# Local devnet
just basectl devnet
```

## Architecture

`basectl` is split into two crates:

- **`basectl-cli`** ([`crates/infra/basectl`](https://github.com/base/base/tree/main/crates/infra/basectl)) — The library with configuration logic
- **`basectl`** ([`bin/basectl`](https://github.com/base/base/tree/main/bin/basectl)) — The binary entry point

The binary depends on `basectl-cli`, `clap` for argument parsing, `anyhow` for error handling, and `tokio` for async runtime.
