User FAQ
Frequently asked questions regarding the UX of the Sismo app.

What is a Badge?

A badge is an NFT (ERC1155) that represents an attestation.
Behind each Badge, there is a group of eligible accounts. You must prove that you own an eligible account - that we call source account - to mint a Badge on a destination account.
To get the "Ethereum Power User ZK Badge", you must prove that you own an address that sent more than 50 transactions.

What is a source account?

The source account (for a specific badge) is the account that is used to prove eligibility for this badge. You will generate a proof of eligibility from your source account; it will allow you to mint the badge to a destination account.

What is a destination account?

A destination account (for a specific badge) is the account that will receive the badge.

What is the use of Badges?

A Badge allows to transfer reputation or data from a source account to a destination account.

What are ZK Badges and why are they interesting?

ZK Badges are privacy preserving badges that create no link between the source account used to prove eligibility and the destination account that receives the badge.
To mint a ZK Badge, users generate a ZK Proof of badge eligibility from their source accounts. This ZK Proof is verified on-chain by the ZK Attester which will issue the ZK Badge.

What accounts can I use as sources to mint ZK Badges?

You can use any account as source for ZK Badges. During the ZK Badge minting process, the source account is NOT revealed. Whether your source account is a public account or a private wallet, no one will be able to infer what source account you used!

What account should I use as destinations for ZK Badges?

There are several different use cases where ZK Badges are interesting!
  • You can use an empty, fresh address as destination. It will allow to prove your reputation or some historical data about one of your accounts without revealing them.
I am a big delegate of a DAO and want to speak out but I don't want to do it publicly.
I can mint a ZK Badge that proves that I am a top delegate on a fresh address and use this address to signal anonymously my position.
  • You can use your public address (e.g ENS Address that you share on twitter). It will allow you to export your reputation from your private wallets without revealing them to the world.
I am a big Ethereum staker and I want to prove it publicly without revealing my deposit address.
I can mint a ZK Badge that proves that I staked to my ENS address.

What is the Vault?

The Sismo Vault is an encrypted storage used to improves UX in Sismo's app. It is stored on Sismo's server but only accessible to you as it is encrypted. Only you can decrypt to your vault.
It stores the imported source and destination accounts used to generate Badges so you do not have to add them every time you use Sismo.

What is a Vault Owner?

A Vault Owner is an imported account that can decrypt your vault.
By default, all source and destination accounts imported in the vault are setup as owners. It can be updated in the vault's settings.
By signing in to Sismo with an owner account, you retrieve your entire vault and all its imported sources and destinations.

Importing an account, What does it mean?

Importing an account in your Sismo vaults means to store the cryptographic tools necessary to generate ZK Badges.
Whether an account is used as a source or as a destination, you must generate cryptographic tools (a seed, and a commitment) as a first step to later generate the ZK Proof required to mint a ZK Badge. The vault stores those so you do not have to do this every time you want to use Sismo.
  • The seed: the seed is generated by signing a message from an account. The seed is used to generate secrets (such as the encryption key of your vault if the account is set as owner or such as commitments needed to generate ZK Badges)
  • The commitment: It is a secret derived from your seed and your address. It allows you to generate ZK Proofs from your accounts. (more on this in the Hydra Section)

Why is there two signatures required when importing an account?

It is to generate your seed and your commitment, both needed to generate ZK Proofs.