> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-mux-basectl-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Operate sequencer clusters with basectl

> Check status and control high-availability Base sequencer clusters with basectl conductor and basectl sequencer: view status, transfer leadership, pause and resume, and start or stop sequencing.

`basectl conductor` and `basectl sequencer` help you operate a high-availability (HA) sequencer cluster. A cluster runs several sequencer nodes coordinated by op-conductor, which elects one leader at a time so sequencing keeps working if a node goes down.

Both commands find the cluster's nodes from your network config when it lists them. If it doesn't, they discover the current members starting from the `--conductor-rpc` URL (or `discovery.bootstrap_rpc` in your config).

<Warning>
  These commands act on live sequencing infrastructure. Run `status` first to confirm the current state, and read the safety notes below before making changes.
</Warning>

## basectl conductor

Check and control the op-conductor layer that coordinates the cluster.

* `basectl conductor status` shows each node's cluster membership, which node is the leader, whether it's paused, sequencer health, L1/L2 heads, and peer counts.
* `basectl conductor transfer-leader [TARGET]` moves leadership away from the current leader, or to a specific node when you name one.
* `basectl conductor pause <NODE>` pauses op-conductor on one node.
* `basectl conductor unpause <NODE>` resumes op-conductor on one node.
* `basectl conductor pause-all` pauses op-conductor on every node in the cluster.
* `basectl conductor unpause-all` resumes op-conductor on every node in the cluster.

| Flag     | Description                                                        |
| -------- | ------------------------------------------------------------------ |
| `--json` | For `status`, print the cluster status as JSON instead of a table. |

Commands that change the cluster also accept:

| Flag     | Description                                                                           |
| -------- | ------------------------------------------------------------------------------------- |
| `--yes`  | Skip the confirmation prompt.                                                         |
| `--json` | Print the result as JSON. Requires `--yes` so an automated run never waits for input. |

### Safety notes

* `pause` and `unpause` show the exact node name and conductor URL before acting.
* `transfer-leader` shows the target node (or network) before acting.
* `pause-all` and `unpause-all` ask you to type the network name to confirm, unless you pass `--yes`.
* A cluster-wide action can succeed on some nodes and fail on others. The output lists which nodes succeeded and which failed, and the command exits with an error if any node failed.

### Examples

```bash Conductor commands theme={null}
# Show cluster status on a devnet
basectl -c devnet conductor status

# Show cluster status as JSON
basectl -c devnet conductor status --json | jq '{leader, paused, nodes: [.nodes[].name]}'

# Move leadership to a specific node (asks for confirmation first)
basectl -c devnet conductor transfer-leader op-conductor-1

# Pause and resume one node
basectl -c devnet conductor pause op-conductor-0
basectl -c devnet conductor unpause op-conductor-0 --yes --json | jq .

# Cluster-wide actions need typed confirmation, or --yes for scripts
basectl -c devnet conductor pause-all
basectl -c devnet conductor unpause-all --yes --json | jq .
```

## basectl sequencer

Check and control sequencing on the individual nodes in a cluster.

* `basectl sequencer status [NODE]` shows whether each node is sequencing, plus its health, pause state, L1/L2 heads, and peer counts. Name a node to see just that one.
* `basectl sequencer start <NODE> [UNSAFE_HEAD]` starts sequencing on one node.
* `basectl sequencer stop <NODE>` stops sequencing on one node.

If you run `start` without `UNSAFE_HEAD`, `basectl` uses the node's current unsafe head. This matches what the node requires: the head you start from has to match the node's current unsafe head.

| Flag     | Description                                                |
| -------- | ---------------------------------------------------------- |
| `--json` | For `status`, print the status as JSON instead of a table. |

Commands that change sequencing also accept:

| Flag     | Description                                                                           |
| -------- | ------------------------------------------------------------------------------------- |
| `--yes`  | Skip the confirmation prompt.                                                         |
| `--json` | Print the result as JSON. Requires `--yes` so an automated run never waits for input. |

### Safety notes

* `start` shows the node name, CL RPC URL, and the unsafe head hash before acting.
* `stop` shows the node name and CL RPC URL before acting.
* After `start` or `stop`, `basectl` checks the node's actual sequencing state for up to 12 seconds before reporting success, so an accepted request isn't mistaken for the node actually reaching the desired state.

### Examples

```bash Sequencer commands theme={null}
# Show sequencing state for every node
basectl -c devnet sequencer status

# Show sequencing state for one node as JSON
basectl -c devnet sequencer status op-conductor-0 --json | jq .

# Stop sequencing on a node and capture the returned unsafe head
basectl -c devnet sequencer stop op-conductor-0 --yes --json | jq '{node, unsafeHead}'

# Start sequencing using the node's current unsafe head
basectl -c devnet sequencer start op-conductor-0 --yes

# Start sequencing from a specific unsafe head hash
basectl -c devnet sequencer start op-conductor-0 0x1111111111111111111111111111111111111111111111111111111111111111 --yes --json | jq .
```

## Related

* [basectl overview](/base-chain/node-operators/basectl/overview)
* [Interactive dashboard](/base-chain/node-operators/basectl/monitor)
* [Diagnose node health](/base-chain/node-operators/basectl/doctor)
