The Canton Console provides direct, interactive access to Canton node internals. It’s a Scala-based REPL that connects to participant, sequencer, and mediator nodes for debugging, diagnostics, and advanced operations that aren’t exposed through the standard APIs.Documentation Index
Fetch the complete documentation index at: https://cantonfoundation-issue-365-details-history.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
When You Need the Console
Most day-to-day operations happen through the Ledger API, Admin API, or web UIs. The Canton Console is for situations that require deeper access:- Debugging stuck transactions or unexpected behavior
- Inspecting topology state (party-to-participant mappings, package vetting)
- Managing parties and packages at a low level
- Disaster recovery or repair operations
- Advanced key management and rotation
Starting the Console
To access the Canton Console, you need:- Direct network access to the Canton node process (participant, sequencer, or mediator)
- The Canton binary (typically via the Canton Docker image)
Participant Console
- Obtain an authentication token (see the Canton authentication docs for JWT setup)
- Ensure you can access the participant’s ports 5001 (Ledger API) and 5002 (Admin API)
- Create a configuration file
console.conf:
- Run the Canton Console via Docker:
3.3.0 with the Canton version matching your deployment. Check available versions at Docker Hub.
If you run the participant using Docker Compose, use the Docker network used by the participant (e.g.,
--network splice-validator) and adjust the address in the config to the container name (e.g., address = participant).Sequencer Console
- Ensure you can access the sequencer’s ports 5008 (public API) and 5009 (Admin API)
- Create
console.conf:
- Run the Docker command as shown above for the participant.
Mediator Console
- Ensure you can access the mediator’s port 5007 (Admin API)
- Create
console.conf:
- Run the Docker command as shown above.
K8s Cluster Access
In a Kubernetes cluster, use a debug pod to access the console directly:POD_NAME is the name of the participant, sequencer, or mediator pod. Inside the pod:
Console Structure
Once connected, the console provides access to node-specific objects:participant— For participant consoles: party management, package management, ledger operationssequencer— For sequencer consoles: synchronizer status, sequencing operationsmediator— For mediator consoles: mediator state inspection
health, topology, parties, packages, domains (on participants), and more.
Help System
Use the built-in help to discover available commands:Next Steps
- Essential Commands — Key commands for health checks, party and package management
- Debugging Workflows — Step-by-step diagnostic procedures