Practical overview
When it fits
Use Tss Lib when an application needs several participants to collaborate on ECDSA or EdDSA signatures while keeping each participant's secret share local.
Who it is for
- Blockchain and cryptography developers
- Teams building distributed custody or transaction-signing systems
- Engineers implementing multi-party ECDSA or EdDSA infrastructure
Documented uses
- Generate secret shares among participants without a trusted dealer
- Coordinate threshold signing of messages
- Change the participant group while preserving the secret
- Provide distributed signing primitives for blockchain wallet or transaction systems
Requirements & limits
The project is published as a public, MIT-licensed Go repository on GitHub.
- It is a developer library rather than a standalone end-user application.
- The supported protocol areas are key generation, signing and resharing.
- Applications must provide peer messaging and secure persistence for key data.
- Signing requires t+1 participants and a shared view of the selected signers.
- Resharing requires the old and new committees to be disjoint.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up a threshold-signing party
Configure the participants, curve and protocol parameters needed to start a Tss Lib key-generation, signing or resharing flow.
Before you start
- A Go development environment
- Participant identities and a unique key for each peer
- A selected ECDSA or EdDSA curve
- Application-managed outgoing and completion channels
Steps
Create and sort a PartyID for each participating peer.
Create a peer context and select an ECDSA or EdDSA curve.
Create threshold parameters for the local party.
Create the relevant LocalParty from the keygen, signing or resharing package and start it.
Route protocol messages between participants and persist completed key data or signatures received through the completion channel.
Expected outcome
The application has a configured local protocol party and a defined message flow for completing the selected operation.
Guide limitations
- Signing requires key data produced by key generation and a coordinated set of t+1 signers.
- Resharing requires disjoint old and new committees and does not support resharing in place.
- Key data should not be overwritten during resharing until the final data is received.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 2 October 2026
- Original website title
- bnb-chain/tss-lib · Official homepage title · retained in its source language

