Skip to main content

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 mutating parties.list and writing party TLS certificates to disk. Typically triggered by STARTED_NEW_EPOCH.
  • update — change tss-svc binary file. Typically triggered by TSS_UPDATE_REQUESTED.
  • migrate_up — launches the TSS binary in migrate-up mode. Typically triggered by MIGRATE_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:

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).
info

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