SignetSignet

Core concepts

Six ideas. Everything else in these docs is built from them.

Group

A set of node operators that jointly hold keys for one application, plus the configuration that governs them — the threshold, the trusted issuers, the authorization keys, the removal timelock. A group is a contract on-chain, and it is the source of truth: every node reads its own membership and policy from the chain rather than from anything an operator told it.

Threshold

The minimum number of operators that must contribute for a signature to exist. In a 3-of-5 group, any three suffice, two can be offline, and an attacker needs three simultaneously — in three different companies, in three different failure domains. The threshold and the group size are yours to set, and yours to change.

Threshold means the same thing everywhere here

In this documentation, in the console, and in the contracts, “threshold” is the minimum number of honest signers required — the standard FROST meaning. Quorum is the same number.

Key

A public key whose private counterpart has never existed anywhere. It was constructed in pieces by a distributed key generation round, and each operator holds one share. Keys are identified by a key ID scoped to the group; a key ID under a different curve is a different key.

Session

Before a principal can ask for a signature it opens a session: it proves an identity once, and the nodes bind that identity to an ephemeral public key. Every subsequent request is signed by the matching private key. This is what keeps a replayable credential — a JWT, a password — from being sent to the network on every call.

Scope

An optional constraint stored with a key that restricts what it may sign. A scoped key refuses raw hashes; the caller must present a structured payload, and every operator independently re-derives the constraint and checks it before contributing a share.

  • EIP-712 domain and type — chain, verifying contract, and the exact typed data method. A key that can sign TransferWithAuthorization on one contract cannot sign permit on the same one.
  • EVM UserOperation — bound to one entry point, chain, and account.
  • Solana transaction — bound to one wallet authority.

Reshare

Regenerating every operator’s share of every key, without changing any public key or address. This is what makes the operator set genuinely mutable: you can add, remove, or replace operators and refresh the shares afterwards, and nothing your users hold has to migrate. Old shares stop being useful, which also makes reshare a reasonable scheduled hygiene operation.

How they compose

A user signs in and opens a session. Your app asks for a key, which the group generates in shares. To sign, a threshold of operators each verify the session and the key’s scope, then contribute. If an operator has to go, you remove it and reshare — and your users never notice.