Overview
Data Groups and how to create them.

The Factory is an interface to easily create Data Groups on the Sismo Hub infrastructure.
The Sismo Hub computes Merkle trees of groups, stores them in its database and publishes the Merkle tree roots onchain.
Onchain roots are the source of truth for back ends and smart contracts to verify whether a ZK proof is valid.
Data Sources are the accounts that users aggregate in their Data Vault. Currently supported Data Sources:
- Ethereum wallets/EVM accounts
- GitHub accounts
- Twitter accounts
- Telegram accounts
From imported Data Sources, Vault owners can generate ZK proofs of:
- Ownership of a specific Data Source (i.e, authentication)
- Inclusion of an owned Data Source in a Data Group (and a claim about its value in the group)
Data Groups are sets of Data Sources in which each Data Source has an associated value.
{ // "Stand With Crypto" NFT Minters Data Group
"0xa2bf1b0a7e079767b4701b5a1d9d5700eb42d1d1": "2", // minted 2 NFTs
"0xd03ad690ed8065edfdc1e08197a3ebc71535a7ff": "4", // minted 24 NFTs
"0x70ddb5abf21202602b57f4860ee1262a594a0086": "21",// minted 21 NFTs
"0x0e440bd9798ad22cb8fd6f1a433f2f16e8786770": "3",
"0x1e8cbbbfb827785ecc23dd0426a8907c7cdcca3a": "3",
"0x4101ec64896fa8afda5be145b6321275bb375fe0": "3",
"0x600f9faa8a2d39a710b28e2d0ec8a5dacc12b00f": "11",
"0xc643c9411a6b489e9833b16631140f42bbfcb6d1": "2",
"0x750f565251228a561d8ce8cceb03731a7a2430f8": "2",
"0x2245be89fc8fab94ed982e859aa3212a4e4eb7e5": "14",
[...]
}
- All owners of these wallets can generate a ZK proof attesting that they are part of this group
- The owner of
0x70ddb5abf21202602b57f4860ee1262a594a0086
can generate a ZK proof attesting that they are part of the group with a value > 10 (e.g, minted more than 10 NFTs) - The owner of 0xa2bf1b0a7e079767b4701b5a1d9d5700eb42d1d1 can create a ZK proof attesting that they are part of the group with a value = 2 (e.g minted exactly 2 NFT)
{ // Sismo Community Data Group, created by Sismo
// It regroups all community members, organized in 3 levels
// level 1 = supporter, level 2 = contributor, level 3 = builder
"0x32108e5f09f0df35aefc2ef4c520bbd06a57dae5": "2", // level 2
"0x53deea1808b6d2b8681241e3857b6c6ed1e7e103": "1", // level 1
"0x1c494f1919c1512ebe74a5dcc17dac9a64069023": "2", // level 2
"dhadrien.eth": "3", // level 3
"github:yum0e": "2",
"github:leosayous21": "2",
"telegram:sampolgar": "2",
"telegram:zpedro": "2",
"twitter:wojtekwtf": "3",
"twitter:albiverse": "3",
[...]
}
- All owners of these wallets can generate a ZK proof attesting that they are part of this group
- The owner of
dhadrien.eth
can create a ZK proof attesting that they are part of the group with a value > 2 (e.g, community member with level > 2) - The owner of @wojtekwtf on Twitter can generate a ZK proof attesting that they are part of the group with a value = 3 (e.g, community member with level 3)
Data Group Examples | Members (Data Sources) | Value for each Data Source |
---|---|---|
Wallets of minters | Number of NFT minted | |
Wallets of Gitcoin Passport holders | Sybil-resistant score | |
GitHub accounts of contributors to sismo-core/sismo-hub repo | Number of contributions | |
Wallets of voters in the ENS DAO | Number of votes | |
Wallets, GitHub, Telegram and Twitter accounts of all people that helped Sismo | Level of their contributions (1, 2 or 3) |
Last modified 1mo ago