SignetSignet

Running a node

Operators are the supply side of this network. Applications choose you, pay you for availability, and can remove you — which is the whole accountability model, and why the requirements below are about uptime rather than hardware.

What you are agreeing to

  • Hold one share of every key in the groups you join. Never a whole key, and never enough to sign alone.
  • Verify every request independently before contributing — the credential, the scope, and the payload hash. Never take another node’s word for any of it.
  • Stay reachable. Applications see your uptime, and an operator that is regularly missing gets replaced.

Requirements

Deliberately light: compute and uptime, no specialized hardware. A competent operator serves many applications from one instance and scales horizontally.

  • Go 1.26+ and a Rust toolchain for the KMS.
  • A reachable libp2p port and an HTTPS-terminated HTTP API.
  • An Ethereum RPC endpoint for the chain your groups live on.
  • Durable storage for key shares, and a backup procedure you have actually tested.

Losing shares is not recoverable by anyone

If enough operators lose their shares at once, the key is gone — there is no vault, no escrow, and no support ticket that gets it back. That is the same property that means no one can seize it. Back up, and test the restore.

Getting started

shell
git clone https://github.com/oleary-labs/signet-protocol
cd signet-protocol

go build ./cmd/signetd/
cd kms-tss && cargo build --release

Register on-chain with SignetFactory.registerNode, choosing whether you accept invitations automatically or require acceptance. Then send your operator details to the Signet team to appear in the marketplace with your own branding.

Before you take real traffic

  • Terminate TLS in front of the API. Session keys and signatures should not cross a network in plaintext.
  • Rate-limit the endpoints. /v1/auth triggers proof verification, and /v1/keygen and /v1/sign consume protocol resources.
  • Encrypt key material at rest, and set the node key passphrase before first start.
  • Ship structured logs somewhere durable — you will need them during an incident.

The protocol repository’s docs/PRODUCTION-GAPS.md is the authoritative list of what is and is not production-ready. Read it before you operate for anyone else’s users.