What is Visor
Visor is a supervisor that runs the TSS daemon and handles Bridgeless-core's events. Plain tss-svc keygen and signing
work perfectly well on their own — but if you want a production TSS node to
keep running across epoch changes, in-place updates and chain migrations
without manual intervention, you run the TSS binary through Visor.
Put differently: to use TSS in the powerful way — with auto-resharing and other event-driven management — you must launch TSS via Visor.
Supported task types
Visor can schedule four kinds of tasks in response to configured events:
auto_resharing— re-runs the TSS binary with--config <tss.config_path>after mutatingparties.listand writing party TLS certificates to disk. Typically triggered bySTARTED_NEW_EPOCH.update— change tss-svc binary file. Typically triggered byTSS_UPDATE_REQUESTED.migrate_up— launches the TSS binary in migrate-up mode. Typically triggered byMIGRATE_UP.timechanger— rewrites timing fields inside the TSS binary's own config.
Without Visor, the above flows have to be executed manually (see Key resharing for what the manual reshare looks like). Visor automates all of that.
Before you start
Visor does not produce the TSS binary or its configuration — it only orchestrates them. Everything Visor points at must already exist on disk:
- the TSS binary itself — see Install binary;
- the TSS binary's own
tss.yaml— see Configuration file; - the party TLS certificates — see TLS certificates;
- the Vault secrets (key share, preparams) — see Secrets and Secrets prerequisites;
- an initial TSS key share generated once before Visor takes over — see Key generation.
Visor additionally needs:
- a reachable PostgreSQL instance (see Set up database);
- a reachable Bridgeless-core node with both RPC and gRPC endpoints (see Nodes);
- the core account of this TSS party (see Core account).
The TSS binary config (tss.yaml), TLS certs and Vault secrets referenced
throughout this section are the ones you generated by following the previous
guide in docs/tutorial/tss/. Visor reuses those artifacts.
Where to go next
- Configuration file — fields of Visor's own YAML config.
- Run Visor on a Linux host — native / systemd install.
- Run Visor in Docker — containerised install.