Peers

Salut discovers other instances on your local network automatically. Before any inference can flow between peers, they must establish mutual trust through a pairing process.

Discovery

When Salut starts with clustering enabled, it:

  1. Advertises itself via mDNS (Bonjour on macOS), publishing its display name, port, GPU type, VRAM, and Ed25519 fingerprint.

  2. Browses for other _salut._tcp.local. services on the network.

Discovered peers appear in the menu bar and in Settings → Peers. Discovery happens continuously — peers appear and disappear as they come online and go offline.

Trust States

Each peer has one of these trust states:

Pending

A new peer has been discovered but neither side has accepted the pairing yet. Pending peers cannot participate in inference.

Paired

Both sides have accepted the pairing. Paired peers can participate in distributed inference, and their models appear in your available model list.

Unpaired

You explicitly declined or removed the pairing with this peer. Unpaired peers are ignored for inference purposes. You can re-pair them at any time.

The Pairing Flow

Pairing is mutual — both sides must agree:

  1. A new peer appears on the network. Both sides see each other as pending.

  2. You open Settings → Peers and click Accept on the peer’s pairing request.

  3. The other peer receives your acceptance and sees a notification.

  4. They accept your pairing request from their side.

  5. Both peers are now paired and can work together.

If either side declines, no inference traffic flows between the peers.

Tip

For lab environments where manual pairing is impractical, see Cluster Tokens for automatic pairing with a shared secret.

Managing Peers

In Settings → Peers, you’ll see three sections:

Pairing Requests

Peers that want to pair with you, or that you’ve requested to pair with. Each shows:

  • Display name and IP address

  • GPU type and available VRAM

  • A direction indicator (“wants to pair with you” or “waiting for response”)

Click Accept to pair, or leave the request pending.

Paired Peers

Peers you’ve established mutual trust with. Each shows:

  • Display name, IP, GPU, and VRAM

  • Health status (healthy, degraded, or unreachable)

  • Whether the peer is currently participating in a distributed inference task

Click Unpair to remove the trust relationship. The peer will need to re-pair to participate in inference again.

Unpaired Peers

Peers you’ve explicitly declined or removed. Click Forget to remove them from the list entirely — they’ll reappear as pending if they’re still on the network.

Fingerprints

Every Salut instance has a unique Ed25519 fingerprint derived from its identity key. Fingerprints are exchanged during discovery and verified during the pairing handshake.

You can view your own fingerprint in Settings → General (the API URL field shows your local endpoint).

Fingerprints ensure that even if a peer’s IP address changes (DHCP reassignment, different network), you’re still communicating with the same machine you paired with.