SignetSignet

Documentation

Signet gives your application embedded wallets whose signing authority is split across operators you choose. This section covers what that means in practice — how a user authenticates, how a key comes into existence, and how you constrain what it may sign.

Where things live

Three layers, and it is worth keeping them apart when something goes wrong, because they fail differently.

  • The protocol. A network of nodes that jointly generate keys and produce signatures. Chain-agnostic — it emits a signature, and knows nothing about EVM, accounts, or bundlers.
  • The account-abstraction bridge. How a threshold Schnorr signature reaches the EVM, since there is no precompile for it. Today that is ERC-4337. Assume this layer changes; nothing in your group configuration depends on it.
  • This platform. Metadata, configuration, analytics, and billing. It reads the chain and caches what it reads. It cannot sign for you, and it cannot change your group — those are properties of the design, not policy choices.

What the platform cannot do

It holds no key your operators would accept, so it cannot authorize a signature. It never writes to the chain, so it cannot alter your group’s membership, threshold, or issuers. Anything in the console that changes on-chain state is a transaction from your own account, built in your browser. If this platform disappeared tomorrow, your group would keep serving your users.

Start here

The repositories

Everything is open source, and the parts fit together like this:

  • signet-protocol — the node, the KMS, and the group contracts.
  • signet-sdk — the TypeScript client you will actually import.
  • signet-circuits — the Noir circuit that proves an OAuth credential without revealing it.
  • signet-wallet — the smart account and its on-chain FROST verifier.
  • signet-min-bundler — a minimal ERC-4337 bundler, and the server-side prover.