636a01a4 (main)
and
e21dfc55 (PR)
+8 -18
+8 -18
{
"adminViewingKey": {
"value": "None",
"sentiment": "good",
"description": "The protocol does not include an auditor viewing key that decrypts users' private balances and transactions."
},
"attributes": [
{
"id": "immutable",
"label": "Immutable",
"description": "Core smart contract code cannot be changed."
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "enforcedCompliance",
"label": "Enforced compliance",
"description": "Centralised ASPs (association set providers) can refuse deposits before they are withdrawn and forcibly remove them from the anonymity set."
},
{
"id": "anyAmount",
"label": "Any amount",
"description": "Deposits and withdrawals can have any size."
},
{
"id": "sourceAvailable",
"label": "Source available",
"description": "There is at least one practical way to exclusively use auditable, source-available software to interact with this protocol."
}
],
"exitWindow": {
"value": "Infinite",
"sentiment": "good",
"orderHint": 9007199254740991,
"description": "Even if the Entrypoint or ASP turns malicious, users can always ragequit (withdraw tokens) from the immutable pool contracts, at the cost of losing privacy."
},
"privacy": {
"value": "None",
"sentiment": "good",
"description": "Compliance is enforced through centralized association set providers, which can refuse deposits into the pool, sending them back to the sender."
},
"reproducibility": {
"value": "Reproducible",
"sentiment": "good",
"description": "The contracts, circuits, and supporting software needed to participate in Privacy Pools are publicly available and can be run locally."
},
"riskSummary": "## Funds can be stolen if\n1. the zk proof system is broken, allowing invalid withdrawals.\n2. the [trusted setup](#trusted-setups) is compromised or all ceremony participants collude, allowing invalid withdrawals.\n3. the Entrypoint owner deploys a malicious [upgrade](#upgrades-and-governance) that steals new deposits.\n
\n## Funds can be lost if\n1. a user loses the secret and nullifier required to spend their deposit.\n
\n## Privacy can be lost if\n1. no relayer is available and the withdrawal must be submitted from an address that can be linked to the user.\n2. the ASP manager refuses to whitelist a deposit, forcing the user to either wait or exit publicly through ragequit.",
"tokens": [
{
"token": {
"address": "0x6440f144b7e50D6a8439336510312d2F54beB01D",
"iconUrl": "https://coin-images.coingecko.com/coins/images/56069/large/BOLD_logo.png?1748265087",
"symbol": "BOLD",
"decimals": 18,
"priceId": "liquity-bold-2",
"sinceTimestamp": 1770806867
},
"buckets": [
{
"id": "privacy-pools-BOLD",
"type": "pool",
"label": "BOLD pool",
"address": "eth:0xb4b5Fd38Fd4788071d7287e3cB52948e0d10b23E",
"sinceTimestamp": 1770806867,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"iconUrl": "https://assets.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
"symbol": "DAI",
"decimals": 18,
"priceId": "dai",
"sinceTimestamp": 1752848471
},
"buckets": [
{
"id": "privacy-pools-DAI",
"type": "pool",
"label": "DAI pool",
"address": "eth:0x1c31C03B8CB2EE674D0F11De77135536db828257",
"sinceTimestamp": 1752848471,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"iconUrl": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
"symbol": "ETH",
"decimals": 18,
"priceId": "ethereum",
"sinceTimestamp": 1743265259
},
"buckets": [
{
"id": "privacy-pools-ETH",
"type": "pool",
"label": "ETH pool",
"address": "eth:0xF241d57C6DebAe225c0F2e6eA1529373C9A9C9fB",
"sinceTimestamp": 1743265259,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xCAcd6fd266aF91b8AeD52aCCc382b4e165586E29",
"iconUrl": "https://coin-images.coingecko.com/coins/images/53963/large/frxUSD.png?1737792154",
"symbol": "frxUSD",
"decimals": 18,
"priceId": "frax-usd",
"sinceTimestamp": 1754583623
},
"buckets": [
{
"id": "privacy-pools-frxUSD",
"type": "pool",
"label": "frxUSD pool",
"address": "eth:0xC6C769fac7AABEadd31a03fAe5Ca0Ec5B4C50f84",
"sinceTimestamp": 1754583623,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x085780639CC2cACd35E474e71f4d000e2405d8f6",
"iconUrl": "https://coin-images.coingecko.com/coins/images/36202/large/fxUSD.jpg?1710833113",
"symbol": "fxUSD",
"decimals": 18,
"priceId": "f-x-protocol-fxusd",
"sinceTimestamp": 1765446455
},
"buckets": [
{
"id": "privacy-pools-fxUSD",
"type": "pool",
"label": "fxUSD pool",
"address": "eth:0xD14F4B36E1D1D98c218db782c49149876042BC56",
"sinceTimestamp": 1765446455,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
"iconUrl": "https://coin-images.coingecko.com/coins/images/52721/large/sUSDS_Coin.png?1734086971",
"symbol": "sUSDS",
"decimals": 18,
"priceId": "susds",
"sinceTimestamp": 1752782999
},
"buckets": [
{
"id": "privacy-pools-sUSDS",
"type": "pool",
"label": "sUSDS pool",
"address": "eth:0xBBdA2173CDFEA1c3bD7F2908798F1265301d750c",
"sinceTimestamp": 1752782999,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d",
"iconUrl": "https://coin-images.coingecko.com/coins/images/54977/large/USD1_1000x1000_transparent.png?1749297002",
"symbol": "USD1",
"decimals": 18,
"priceId": "usd1-wlfi",
"sinceTimestamp": 1754583179
},
"buckets": [
{
"id": "privacy-pools-USD1",
"type": "pool",
"label": "USD1 pool",
"address": "eth:0xc0A8Bc0F4F982b4d4f1fFae8F4FCCb58c9B29c98",
"sinceTimestamp": 1754583179,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1753353035
},
"buckets": [
{
"id": "privacy-pools-USDC",
"type": "pool",
"label": "USDC pool",
"address": "eth:0xb419c2867aB3CBc78921660cB95150d95A94ce86",
"sinceTimestamp": 1753353035,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3",
"iconUrl": "https://assets.coingecko.com/coins/images/33613/large/3466ef_3c088c66c7d941e8856339d0bddf33cc_mv2.png?1702514458",
"symbol": "USDe",
"decimals": 18,
"priceId": "ethena-usde",
"sinceTimestamp": 1754583083
},
"buckets": [
{
"id": "privacy-pools-USDe",
"type": "pool",
"label": "USDe pool",
"address": "eth:0xe6D36B33b00A7C0cB0C2a8d39D07e7dB0c526Abc",
"sinceTimestamp": 1754583083,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xdC035D45d973E3EC169d2276DDab16f1e407384F",
"iconUrl": "https://coin-images.coingecko.com/coins/images/39926/large/usds.webp?1726666683",
"symbol": "USDS",
"decimals": 18,
"priceId": "usds",
"sinceTimestamp": 1752503003
},
"buckets": [
{
"id": "privacy-pools-USDS",
"type": "pool",
"label": "USDS pool",
"address": "eth:0x05e4DBD71B56861eeD2Aaa12d00A797F04B5D3c0",
"sinceTimestamp": 1752503003,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"symbol": "USDT",
"decimals": 6,
"priceId": "tether",
"sinceTimestamp": 1753352915
},
"buckets": [
{
"id": "privacy-pools-USDT",
"type": "pool",
"label": "USDT pool",
"address": "eth:0xe859C0bD25f260BaEE534Fb52e307D3b64D24572",
"sinceTimestamp": 1753352915,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
"iconUrl": "https://assets.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857",
"symbol": "WBTC",
"decimals": 8,
"priceId": "wrapped-bitcoin",
"sinceTimestamp": 1753975703
},
"buckets": [
{
"id": "privacy-pools-WBTC",
"type": "pool",
"label": "WBTC pool",
"address": "eth:0xF973f4B180A568157Cd7A0E6006449139E6Bfc32",
"sinceTimestamp": 1753975703,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0xDcEe70654261AF21C44c093C300eD3Bb97b78192",
"iconUrl": "https://coin-images.coingecko.com/coins/images/29734/large/woeth-200x200.png?1714796686",
"symbol": "wOETH",
"decimals": 18,
"priceId": "wrapped-oeth",
"sinceTimestamp": 1756377743
},
"buckets": [
{
"id": "privacy-pools-wOETH",
"type": "pool",
"label": "wOETH pool",
"address": "eth:0x7d2959bCFb936a84531518e8391DdBa844e03ebE",
"sinceTimestamp": 1756377743,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
},
{
"token": {
"address": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
"iconUrl": "https://assets.coingecko.com/coins/images/18834/large/wstETH.png?1696518295",
"symbol": "wstETH",
"decimals": 18,
"priceId": "wrapped-steth",
"sinceTimestamp": 1753975583
},
"buckets": [
{
"id": "privacy-pools-wstETH",
"type": "pool",
"label": "wstETH pool",
"address": "eth:0x1A604E9DFa0EFDC7FFda378AF16Cb81243b61633",
"sinceTimestamp": 1753975583,
"deposit": {
"event": "0xe3b53cd1a44fbf11535e145d80b8ef1ed6d57a73bf5daa7e939b6b01657d6549",
"extractor": "privacyPoolsValue",
"params": {}
},
"withdrawal": {
"event": "0x75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a21",
"extractor": "privacyPoolsValue",
"params": {}
}
}
]
}
],
"trustedSetup": {
"id": "PrivacyPools",
"name": "Privacy Pools",
"risk": "yellow",
"participantCount": 55,
"shortDescription": "Trusted setup for two Groth16 Privacy Pools circuits. It was built on top of 55 phase 1 contributions, with 513 phase 2 participants. Proving system could be broken if either phase 1 or 2 is compromised.",
"longDescription": "Trusted setup for two Groth16 Privacy Pools circuits: the Ragequit circuit and the private Withdrawal circuit.\n\nThis trusted setup ceremony [builds on top of Polygon zkEVM ceremony](https://github.com/0xbow-io/privacy-pools-core/blob/a80836a47451e662f127af17e11430ffa976c234/packages/circuits/package.json#L19-L21) as phase 1, which contains 55 participants.\n\nPhase 2 of the ceremony was publicly announced, open to anonymous and identified participants, and concluded in March 2025. It contains 514 contributions to the Withdraw circuit and 513 participants to the Ragequit circuit.\nThe finalized zKeys were published for independent verification, and the ceremony code and UI were open-sourced.\n\n- Phase 1 ceremony: .\n- Ceremony completion announcement: [https://0xbow.io/blog/celebrating-the-conclusion-of-the-trusted-setup-ceremony](https://0xbow.io/blog/celebrating-the-conclusion-of-the-trusted-setup-ceremony)\n- Ceremony page with finalized zKeys: [https://ceremony.pse.dev/projects/Privacy%20Pools%20Ceremony](https://ceremony.pse.dev/projects/Privacy%20Pools%20Ceremony)\n- Initial ceremony announcement: [https://0xbow.io/blog/privacy-pools-trusted-setup-ceremony-join-us-in-strengthening-privacy](https://0xbow.io/blog/privacy-pools-trusted-setup-ceremony-join-us-in-strengthening-privacy)\n- Privacy Pools repository: [https://github.com/0xbow-io/privacy-pools-core](https://github.com/0xbow-io/privacy-pools-core)"
},
"upgradesAndGovernance": "The 2/4 Privacy Pools Multisig can instantly change the system’s critical configs, including the Entrypoint implementation and ASP root used for private withdrawals. The ASP postman (EOA) can also remove any deposit from the whitelist at any time, forcing a public rage-quit if the affected party wishes to withdraw. The guaranteed immutable escape hatch is pool-level ragequit (public withdrawal) to the original depositor address, because that logic lives in the immutable pool contracts and does not depend on the Entrypoint registry and config. This means the system is permissioned in its deposit logic and deposit privacy, but non-custodial for deposited assets. Past, successful (non-ragequit) withdrawals can not be deanonymized by the protocol."
}
+8 -18
+8 -18
{
"adminViewingKey": {
"value": "None",
"sentiment": "good",
"description": "The protocol does not include an auditor viewing key that decrypts users' private balances and transactions."
},
"attributes": [
{
"id": "upgradeable",
"label": "Upgradeable",
"description": "DAO can vote on upgrades that are executable with a 7d delay."
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "optCompliance",
"label": "Opt compliance",
"description": "Optional 'proofs of innocence' (POIs), can disassociate a deposit from a list of flagged addresses. They are not enforced by the protocol but can be enforced by relayers."
},
{
"id": "transfers",
"label": "Transfers",
"description": "Private transfers within the shielded pool."
},
{
"id": "defi",
"label": "DeFi",
"description": "Interop with DeFi (swaps, vaults) from within the shielded pool."
},
{
"id": "anyAmount",
"label": "Any amount",
"description": "Deposits and withdrawals can have any size."
},
{
"id": "sourceAvailable",
"label": "Source available",
"description": "There is at least one practical way to exclusively use auditable, source-available software to interact with this protocol."
}
],
"exitWindow": {
"value": "7d",
"sentiment": "warning",
"orderHint": 604800,
"description": "DAO-approved upgrades wait 7d before they can execute, giving users time to unshield funds if they do not approve the change."
},
"privacy": {
"value": "None",
"sentiment": "good",
"description": "Compliance is optional at the core protocol level: users can create proofs of innocence to disassociate deposits from flagged addresses, and relayers can choose to require them."
},
"reproducibility": {
"value": "Reproducible",
"sentiment": "good",
"description": "The contracts, circuits, and supporting software needed to participate in the protocol are publicly available and can be run locally."
},
"riskSummary": "## Funds can be stolen if\n1. the zk proof system is broken, allowing invalid spends or withdrawals.\n2. the [trusted setup](#trusted-setups) is compromised or all ceremony participants collude, allowing invalid spends or withdrawals.\n3. the DAO passes a malicious [upgrade](#upgrades-and-governance) and users do not react before the 7-day execution delay expires.\n
\n## Funds can be lost if\n1. a user loses the private keys required to control their private balance.\n
\n## Privacy can be lost if\n1. no broadcaster is available and transactions must be sent from a public address that can be linked to the user.",
"tokens": [
{
"token": {
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"iconUrl": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"symbol": "WETH",
"decimals": 18,
"priceId": "weth",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-WETH",
"type": "pool",
"label": "WETH",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}
}
}
]
},
{
"token": {
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"symbol": "USDT",
"decimals": 6,
"priceId": "tether",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-USDT",
"type": "pool",
"label": "USDT",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
}
}
}
]
},
{
"token": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-USDC",
"type": "pool",
"label": "USDC",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
}
}
]
},
{
"token": {
"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"iconUrl": "https://assets.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
"symbol": "DAI",
"decimals": 18,
"priceId": "dai",
"sinceTimestamp": 1574121600
},
"buckets": [
{
"id": "railgun-DAI",
"type": "pool",
"label": "DAI",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
}
}
}
]
},
{
"token": {
"address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
"iconUrl": "https://assets.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857",
"symbol": "WBTC",
"decimals": 8,
"priceId": "wrapped-bitcoin",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-WBTC",
"type": "pool",
"label": "WBTC",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"
}
}
}
]
},
{
"token": {
"address": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4",
"iconUrl": "https://coin-images.coingecko.com/coins/images/71681/large/near.png?1768905174",
"symbol": "NEAR",
"decimals": 24,
"priceId": "rainbow-bridged-near-ethereum",
"sinceTimestamp": 1768867200
},
"buckets": [
{
"id": "railgun-NEAR",
"type": "pool",
"label": "NEAR",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1768867200,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4"
}
}
}
]
},
{
"token": {
"address": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb",
"iconUrl": "https://coin-images.coingecko.com/coins/images/14688/large/Logo_1_%28brighter%29.png?1734430693",
"symbol": "FLUID",
"decimals": 18,
"priceId": "instadapp",
"sinceTimestamp": 1623801600
},
"buckets": [
{
"id": "railgun-FLUID",
"type": "pool",
"label": "FLUID",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb"
}
}
}
]
},
{
"token": {
"address": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D",
"iconUrl": "https://coin-images.coingecko.com/coins/images/16840/large/railgun.jpeg?1696516407",
"symbol": "RAIL",
"decimals": 18,
"priceId": "railgun",
"sinceTimestamp": 1625270400
},
"buckets": [
{
"id": "railgun-RAIL",
"type": "pool",
"label": "RAIL",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D"
}
}
}
]
}
],
"trustedSetup": {
"id": "Railgun",
"name": "Railgun",
"risk": "yellow",
"participantCount": 55,
"shortDescription": "Circuit-specific trusted setup for 54 Groth16 Railgun circuits over BN254. It was built on top of 55 phase 1 contributions, with 304 phase 2 participants. Proving system could be broken if either phase 1 or 2 is compromised.",
"longDescription": "Circuit-specific Phase 2 trusted setup for Railgun's 54 Groth16 circuits (parameterised by\ntransaction input/output counts) over the BN254 curve. It [builds on the\nPolygon zkEVM ceremony](https://github.com/Railgun-Privacy/circuits-v2/blob/d0ec02dea0cbc8cd02a3b727b28de16e51f9a741/prepare_for_ceremony.sh#L13) as phase 1, which contains 55 participants.\n\nA separate Phase 2 ceremony was publicly announced,\nopen to anonymous and identified participants, and wrapped up in late December 2022.\n\nVerified against the ceremony artifact IPFS hash\n`QmWAySHYhaZqioKi1ufrPJC1n1ZVtHP2w4hLA9XqqJCFne`: the\n`/contributors` directory contains 328 sequentially-numbered attestation files with\nGitHub or Twitter handles, and the `/zkeys` directory contains 54 final zkey files (one\nper circuit). Parsing the final zkey binary for the 1x1 circuit shows 304 Phase 2\ncontributions on that circuit.\n\n- Phase 1 ceremony: .\n- Ceremony artifacts on IPFS: [https://ipfs.io/ipfs/QmWAySHYhaZqioKi1ufrPJC1n1ZVtHP2w4hLA9XqqJCFne](https://ipfs.io/ipfs/QmWAySHYhaZqioKi1ufrPJC1n1ZVtHP2w4hLA9XqqJCFne)\n- Ceremony announcement: [https://medium.com/@Railgun_Project/railgun-project-begins-setup-ceremony-with-an-emphasis-on-security-d1c63117c312](https://medium.com/@Railgun_Project/railgun-project-begins-setup-ceremony-with-an-emphasis-on-security-d1c63117c312)\n- Advanced Circuit ceremony user guide: [https://medium.com/@Railgun_Project/railgun-advanced-circuit-setup-ceremony-user-guide-32361c54242](https://medium.com/@Railgun_Project/railgun-advanced-circuit-setup-ceremony-user-guide-32361c54242)\n- Docs overview of the trusted setup: [https://docs.railgun.org/wiki/learn/privacy-system/trusted-setup-ceremony](https://docs.railgun.org/wiki/learn/privacy-system/trusted-setup-ceremony)\n- Railgun circuits repository with ceremony scripts: [https://github.com/Railgun-Privacy/circuits-v2](https://github.com/Railgun-Privacy/circuits-v2)"
},
"upgradesAndGovernance": "Railgun features an omnipotent DAO governed by the stakers of the RAIL token. The DAO has the authority to change ZK circuit logic on the core Railgun contract, which can arbitrarily change the rules for shielded tokens; as well as manage blacklisted tokens, mint RAIL tokens and manage governance rewards. See docs here: \n\n## Governance flow\n\n1. Users stake RAIL token in the Staking contract ([0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20](https://etherscan.io/address/0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20)). Voting power is proportional to the staked amount and can be delegated to another address. Unstaking has 1mo delay.\n2. Anyone can create a new proposal with an IPFS link and onchain calldata on the Voting contract ([0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC](https://etherscan.io/address/0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC)). It enters a Sponsorship stage of 1mo, where it has to be supported by 500 K RAIL stake.\n3. After a 2d delay, the actual voting starts. \"Yay\" votes need to be cast within 5d, \"Nay\" have 6d. Proposal needs to reach the quorum of 2.00 M RAIL.\n4. A passed proposal (simple majority) waits for 7d before execution and then must be executed within 14d by anyone. Execution goes via the Delegator smart contract ([0xB6d513f6222Ee92Fff975E901bd792E2513fB53B](https://etherscan.io/address/0xB6d513f6222Ee92Fff975E901bd792E2513fB53B)), which actually has permissions to modify the Railgun protocol values."
}
+8 -18
+8 -18
{
"adminViewingKey": {
"value": "Use undetectable",
"sentiment": "bad",
"description": "All private actions include auditor-encrypted metadata, so whoever controls the auditor private key can decrypt user activity retroactively. Users can not know whether their privacy was violated."
},
"attributes": [
{
"id": "upgradeable",
"label": "Upgradeable",
"description": "Smart contract code can be upgraded instantly by an EOA."
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "transfers",
"label": "Transfers",
"description": "Private transfers within the shielded pool."
},
{
"id": "defi",
"label": "DeFi",
"description": "Interop with DeFi (swaps, vaults) from within the shielded pool."
},
{
"id": "anyAmount",
"label": "Any amount",
"description": "Deposits and withdrawals can have any size."
},
{
"id": "enforcedCompliance",
"label": "Enforced compliance",
"description": "A permissioned 'auditor' key can link private transfers at any time, including retroactively."
},
{
"id": "closedSource",
"label": "Closed source",
"description": "The protocol program or circuit is not open source, so users cannot independently inspect the implementation or know what is verified by the smart contract."
}
],
"exitWindow": {
"value": "None",
"sentiment": "bad",
"orderHint": 0,
"description": "The pool implementation is immediately upgradeable, so users have no delay to withdraw before a malicious upgrade can take effect."
},
"privacy": {
"value": "Use undetectable",
"sentiment": "bad",
"description": "All private actions include auditor-encrypted metadata, so whoever controls the auditor private key can decrypt user activity retroactively. Users can not know whether their privacy was violated. Compliance is facilitated by this mandatory auditor-encrypted metadata."
},
"reproducibility": {
"value": "Not published",
"sentiment": "bad",
"description": "The STRK-20 protocol program and the sources for proving stack are not published. Users cannot independently verify the correctness of STRK-20 ZK program. They also cannot generate required ZK proofs locally and are forced to reveal private data to third party - the prover."
},
"riskSummary": "## Funds can be stolen if\n1. the proof system or virtual Starknet execution model is broken or backdoored, allowing invalid server actions to be applied.\n2. the escrow smart contract is maliciously upgraded (no delay).\n3. an external DeFi helper or target protocol invoked by the user mishandles assets.\n
\n## Funds can be lost if\n1. a user loses the Starknet account key or private viewing key required to spend their notes.\n2. the pool is paused or upgraded in a way that prevents users from applying valid actions.\n
\n## Privacy can be lost if\n1. the auditor private key holder decrypts registered users' viewing keys or withdrawal and metadata.\n2. the currently private SDK or prover leaks user secrets or metadata.\n3. deposits, withdrawals, open-note fills, timing, unique amounts, or DeFi helper calldata make a user's activity linkable.",
"tokens": [],
"trustedSetup": {
"id": "TransparentSetup",
"name": "Transparent setup",
"risk": "N/A",
"shortDescription": "No trusted setup and no additional setup-related trust assumptions.",
"longDescription": "Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions."
},
"upgradesAndGovernance": "The pool uses StarkWare-style role components and an instantly upgradeable smart contract implementation.\n\n- `APP_GOVERNOR` can set the fee amount, fee collector, and proof validity window.\n- `GOVERNANCE_ADMIN` can grant governance and upgrade-governor roles.\n- `SECURITY_ADMIN` can grant pause, unpause, and auditor-key administration roles.\n- `SECURITY_AGENT` can pause the pool, if granted.\n- `SECURITY_GOVERNOR` can unpause the pool and change the auditor public key, if granted.\n- `UPGRADE_GOVERNOR` can approve and execute upgrades, if granted.\n- `UPGRADE_AGENT` can execute approved upgrades, if granted.\n\nThe live role holders observed were:\n\n- `APP_GOVERNOR`: `0x2796da10aba2e1f445c38eba07e5a4393d6dab30d203d3432deb824e891619a` (2/4 Multisig)\n- `GOVERNANCE_ADMIN`: `0x3103066e6c7037ba947ea9a7b5b8d110ae7f3d631fa5849435d0dc1fc5ef785` (EOA)\n- `GOVERNANCE_ADMIN` and `SECURITY_ADMIN`: `0x663cc699d9c51b7d4d434e06f5982692167546ce525d9155edb476ac9a117d6` (7/12 Multisig)"
}
+8 -18
+8 -18
{
"adminViewingKey": {
"value": "None",
"sentiment": "good",
"description": "The protocol does not include an auditor viewing key that decrypts users' private balances and transactions."
},
"attributes": [
{
"id": "immutable",
"label": "Immutable",
"description": "Core smart contract code cannot be changed."
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "unconditionalPrivacy",
"label": "Unconditional privacy",
"description": "Deposits and withdrawals cannot be censored or linked by the protocol."
},
{
"id": "fixedAmounts",
"label": "Fixed amounts",
"description": "Pre-defined transfer amounts use distinct buckets (anonymity sets)."
},
{
"id": "sourceAvailable",
"label": "Source available",
"description": "There is at least one practical way to exclusively use auditable, source-available software to interact with this protocol."
}
],
"exitWindow": {
"value": "Infinite",
"sentiment": "good",
"orderHint": 9007199254740991,
"description": "The core Tornado Cash contracts are immutable and have no admin upgrade path, so users can always withdraw with a valid note and proof."
},
"privacy": {
"value": "None",
"sentiment": "good",
"description": "There is no protocol-level compliance mechanism or way to compromise user privacy."
},
"reproducibility": {
"value": "Reproducible",
"sentiment": "good",
"description": "There is at least one practical way to participate in Tornado Cash using published source code that can be audited and run locally."
},
"riskSummary": "## Funds can be stolen if\n1. the zk proof system is broken, allowing invalid withdrawals.\n2. the [trusted setup](#trusted-setups) is compromised or all ceremony participants collude, allowing invalid withdrawals.\n
\n## Funds can be lost if\n1. a user loses the note secrets required to withdraw. \n
\n## Privacy can be lost if\n1. no relayer is available and the withdrawal must be submitted from an address that can be linked to the user (see [best practice page](/publications/privacy-best-practices) for more info).",
"tokens": [
{
"token": {
"address": "0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643",
"iconUrl": "https://assets.coingecko.com/coins/images/9281/large/cDAI.png?1696509390",
"symbol": "cDAI",
"decimals": 8,
"priceId": "cdai",
"sinceTimestamp": 1577297782
},
"buckets": [
{
"id": "tornado-cDAI-5000",
"type": "denomination",
"label": "cDAI 5000",
"address": "eth:0x22aaA7720ddd5388A3c0A3333430953C68f1849b",
"sinceTimestamp": 1577297782,
"denomination": "5000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "500000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "500000000000"
}
}
},
{
"id": "tornado-cDAI-50000",
"type": "denomination",
"label": "cDAI 50000",
"address": "eth:0x03893a7c7463AE47D46bc7f091665f1893656003",
"sinceTimestamp": 1616155055,
"denomination": "50000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "5000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "5000000000000"
}
}
},
{
"id": "tornado-cDAI-500000",
"type": "denomination",
"label": "cDAI 500000",
"address": "eth:0x2717c5e28cf931547B621a5dddb772Ab6A35B701",
"sinceTimestamp": 1616135923,
"denomination": "500000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "50000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "50000000000000"
}
}
},
{
"id": "tornado-cDAI-5000000",
"type": "denomination",
"label": "cDAI 5000000",
"address": "eth:0xD21be7248e0197Ee08E0c20D4a96DEBdaC3D20Af",
"sinceTimestamp": 1616115450,
"denomination": "5000000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "500000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "500000000000000"
}
}
}
]
},
{
"token": {
"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"iconUrl": "https://assets.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
"symbol": "DAI",
"decimals": 18,
"priceId": "dai",
"sinceTimestamp": 1576534688
},
"buckets": [
{
"id": "tornado-DAI-100",
"type": "denomination",
"label": "DAI 100",
"address": "eth:0xD4B88Df4D29F5CedD6857912842cff3b20C8Cfa3",
"sinceTimestamp": 1576534688,
"denomination": "100",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000"
}
}
},
{
"id": "tornado-DAI-1000",
"type": "denomination",
"label": "DAI 1000",
"address": "eth:0xFD8610d20aA15b7B2E3Be39B396a1bC3516c7144",
"sinceTimestamp": 1577297383,
"denomination": "1000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000000000000000"
}
}
},
{
"id": "tornado-DAI-10000",
"type": "denomination",
"label": "DAI 10000",
"address": "eth:0x07687e702b410Fa43f4cB4Af7FA097918ffD2730",
"sinceTimestamp": 1616114822,
"denomination": "10000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "10000000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "10000000000000000000000"
}
}
},
{
"id": "tornado-DAI-100000",
"type": "denomination",
"label": "DAI 100000",
"address": "eth:0x23773E65ed146A459791799d01336DB287f25334",
"sinceTimestamp": 1616115387,
"denomination": "100000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000000"
}
}
}
]
},
{
"token": {
"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"iconUrl": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
"symbol": "ETH",
"decimals": 18,
"priceId": "ethereum",
"sinceTimestamp": 1576523323
},
"buckets": [
{
"id": "tornado-ETH-0.1",
"type": "denomination",
"label": "ETH 0.1",
"address": "eth:0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc",
"sinceTimestamp": 1576523323,
"denomination": "0.1",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000"
}
}
},
{
"id": "tornado-ETH-1",
"type": "denomination",
"label": "ETH 1",
"address": "eth:0x47CE0C6eD5B0Ce3d3A51fdb1C52DC66a7c3c2936",
"sinceTimestamp": 1576534673,
"denomination": "1",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000000000000"
}
}
},
{
"id": "tornado-ETH-10",
"type": "denomination",
"label": "ETH 10",
"address": "eth:0x910Cbd523D972eb0a6f4cAe4618aD62622b39DbF",
"sinceTimestamp": 1576536415,
"denomination": "10",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "10000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "10000000000000000000"
}
}
},
{
"id": "tornado-ETH-100",
"type": "denomination",
"label": "ETH 100",
"address": "eth:0xA160cdAB225685dA1d56aa342Ad8841c3b53f291",
"sinceTimestamp": 1577296976,
"denomination": "100",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000000000000000"
}
}
}
]
},
{
"token": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1577298068
},
"buckets": [
{
"id": "tornado-USDC-100",
"type": "denomination",
"label": "USDC 100",
"address": "eth:0xd96f2B1c14Db8458374d9Aca76E26c3D18364307",
"sinceTimestamp": 1577298068,
"denomination": "100",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
}
},
{
"id": "tornado-USDC-1000",
"type": "denomination",
"label": "USDC 1000",
"address": "eth:0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D",
"sinceTimestamp": 1577298155,
"denomination": "1000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
}
}
]
},
{
"token": {
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"symbol": "USDT",
"decimals": 6,
"priceId": "tether",
"sinceTimestamp": 1577298900
},
"buckets": [
{
"id": "tornado-USDT-100",
"type": "denomination",
"label": "USDT 100",
"address": "eth:0x169AD27A470D064DEDE56a2D3ff727986b15D52B",
"sinceTimestamp": 1577298900,
"denomination": "100",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
}
},
{
"id": "tornado-USDT-1000",
"type": "denomination",
"label": "USDT 1000",
"address": "eth:0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f",
"sinceTimestamp": 1577298985,
"denomination": "1000",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
}
}
]
},
{
"token": {
"address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
"iconUrl": "https://assets.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857",
"symbol": "WBTC",
"decimals": 8,
"priceId": "wrapped-bitcoin",
"sinceTimestamp": 1616123193
},
"buckets": [
{
"id": "tornado-WBTC-0.1",
"type": "denomination",
"label": "WBTC 0.1",
"address": "eth:0x178169B423a011fff22B9e3F3abeA13414dDD0F1",
"sinceTimestamp": 1616134868,
"denomination": "0.1",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "10000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "10000000"
}
}
},
{
"id": "tornado-WBTC-1",
"type": "denomination",
"label": "WBTC 1",
"address": "eth:0x610B717796ad172B316836AC95a2ffad065CeaB4",
"sinceTimestamp": 1616123193,
"denomination": "1",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "100000000"
}
}
},
{
"id": "tornado-WBTC-10",
"type": "denomination",
"label": "WBTC 10",
"address": "eth:0xbB93e510BbCD0B7beb5A853875f9eC60275CF498",
"sinceTimestamp": 1616135758,
"denomination": "10",
"deposit": {
"event": "0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
},
"withdrawal": {
"event": "0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931",
"extractor": "fixedAmount",
"params": {
"amount": "1000000000"
}
}
}
]
}
],
"trustedSetup": {
"id": "TornadoCash",
"name": "Tornado Cash",
"risk": "yellow",
"participantCount": 30,
"shortDescription": "Circuit-specific trusted setup for Groth16 Tornado Cash circuits. It was built on top of 30 phase 1 contributions, and reached 1114 phase 2 participants. Proving system could be broken if either phase 1 or 2 is compromised.",
"longDescription": "Circuit-specific trusted setup for Groth16 Tornado Cash circuits. It was publicly announced as a Phase 2 ceremony\nbuilt on top of the [30th contribution to the Perpetual Powers of Tau ceremony], and completed in May 2020. It\ncollected 1114 contributions over 10 days, with 450 identified contributors and 664 anonymous ones. Tornado Cash\npublished the participant list, archive of contributions and artifacts, and the generated verifier contract.\n\n- Phase 1 ceremony (first 30 contributions are used): .\n- Ceremony completion announcement: [https://tornado-cash.medium.com/the-biggest-trusted-setup-ceremony-in-the-world-3c6ab9c8fffa](https://tornado-cash.medium.com/the-biggest-trusted-setup-ceremony-in-the-world-3c6ab9c8fffa)\n- Ceremony page with participant list and archive download: [https://ceremony.tornado.cash/](https://ceremony.tornado.cash/)\n- Initial ceremony announcement: [https://tornado-cash.medium.com/tornado-cash-trusted-setup-ceremony-b846e1e00be1](https://tornado-cash.medium.com/tornado-cash-trusted-setup-ceremony-b846e1e00be1)\n- Ceremony code repository: [https://github.com/tornadocash/phase2-bn254](https://github.com/tornadocash/phase2-bn254)"
},
"upgradesAndGovernance": "Tornado cash has a TORN DAO, which does not have the authority to upgrade or modify existing pools in any way. However it controls a significant portion of the Tornado cash protocol and periphery, including:\n\n1. **Default router for deposits and withdrawals and the official registry of supported pools**. Malicious upgrades of these components could lead to users losing deposited tokens. \n2. **Standard UI IPFS hash registered on ENS** ([link](https://app.ens.domains/tornadocash.eth)). Malicious upgrades of these components could lead to users losing deposited tokens. \n3. **TORN token itself**. Malicious upgrades of the token could lead to token transfers being frozen. \n4. **Registered relayers**. Malicious upgrades of these components could remove all registered relayers, disrupting user-relayer coordination and complicating private withdrawals.\n\n### **Governance flow**\n\n1. Users lock TORN token in the Governance contract ([0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce](https://etherscan.io/address/0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce)). After voting or proposing, staked tokens are locked for 5d 6h after proposal ends, preventing governance hopping. The stake can be delegated to another address. \n2. Anyone with at least 1.00 K TORN can create a proposal. The proposal spends 1m 15s in the Pending state, where voting is still disabled, followed by 5d of Active state, when votes are cast. If the vote outcome changes in the last 1h, the voting period is extended by another 6h. \n3. Proposal is accepted by the simple majority with a required quorum of 100 K TORN. Once accepted, 2d of Timelocked state allow exiting the protocol to everyone who disagrees with the proposal. Afterwards, the proposal can be permissionlessly executed within 3d."
}
[ADDED]
zama
+74 -0
+1 -0
"zama"
+1 -0
"zama"
+1 -0
"Zama Gateway"
+1 -0
null
+1 -0
null
+1 -0
1782259200
+3 -0
{
"unverifiedContracts": []
}
+12 -0
{
"badges": [],
"description": "Zama Gateway is an EVM-compatible chain used by the Zama FHE protocol.",
"links": {
"websites": [
"https://www.zama.org"
],
"documentation": [
"https://docs.zama.org/protocol"
]
}
}
+1 -0
null
+1 -0
null
+1 -0
null
+20 -0
{
"apis": [
{
"type": "rpc",
"url": "https://rpc.mainnet.zama.org",
"callsPerMinute": 300
},
{
"type": "blockscout",
"url": "https://explorer.mainnet.zama.org/api"
},
{
"type": "blockscoutV2",
"url": "https://explorer.mainnet.zama.org/api/v2"
}
],
"chainId": 261131,
"explorerUrl": "https://explorer.mainnet.zama.org",
"name": "zama"
}
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
[ADDED]
zama-cw
+2410 -0
+1 -0
"zama-cw"
+1 -0
"zama-confidential-tokens"
+1 -0
"Zama Confidential Tokens"
+1 -0
"Zama Conf. Tokens"
+1 -0
null
+1 -0
1782259200
+3 -0
{
"unverifiedContracts": []
}
+16 -0
{
"badges": [],
"description": "Zama Confidential Tokens is an app that wraps ERC-20 assets into confidential tokens and hides balances and transfer amounts using Zama FHEVM on Ethereum.",
"detailedDescription": "Zama Confidential Tokens is an account-based confidential token system on Ethereum, using the Zama FHE protocol. It is based on [ERC-7984](https://eips.ethereum.org/EIPS/eip-7984). Users deposit regular ERC-20 tokens into asset-specific escrows and receive confidential tokens whose balances and internal transfer amounts are represented as encrypted handles.\n\n'Confidential' here means `from:` and `to:` addresses and transfer timestamps always remain public. Only balances and transfer amounts are hidden. Each confidential token aggregates encrypted balances for a single underlying asset, so the hidden state is the amount and balance data, not the public address graph.\n\n\n\n### Architecture\n\nThe Zama FHE protocol uses fully homomorphic encryption to let smart contracts operate on encrypted values. Balances are stored as encrypted handles instead of plaintext balances, and FHEVM system contracts are called for encrypted arithmetic, comparisons, transfers, minting, or burning, but most of the actual FHE execution happens offchain.\n\nThe FHE coprocessor is an offchain service that performs FHE-related work the EVM cannot execute directly. Encrypted user inputs are accepted onchain only after the InputVerifier checks signatures from the coprocessor signer set (currently 1/1). The coprocessor is constrained on what it can commit onchain by the smart contract, but it is not trustless and can affect validity if compromised.\n\nThe ACL is the onchain access-control registry for encrypted handles. It records which accounts or contracts are allowed to use a ciphertext handle, which prevents arbitrary users from reusing encrypted values they do not control.\n\nThe (T)KMS is the threshold key-management service used for private and public decryptions. It holds the FHE secret key and functions like a multisig with a threshold (7/13). An unwrap for example burns an encrypted confidential-token amount and asks for that amount to be publicly decrypted; finalization is accepted only after the KMSVerifier checks enough KMS signatures over the threshold-decrypted result. The KMS Signers are operated by [Zama, Dfns, Figment, Fireblocks, InfStones, Unit410, LayerZero, Ledger, Omakase, Stake Capital, OpenZeppelin, Etherscan, and Conduit](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/ethereum#operator-staking).\n\nThere are many moving parts and offchain components in the Zama FHE protocol on which Zama Confidential Tokens is built. The Zama Gateway, an L3 on Arbitrum, is currently used to gather signatures and make data available but the authority for asset storage and signature verification remains Ethereum L1.\n\n### Privacy considerations\n\nDeposits and withdrawals are public privacy boundaries. A `wrap` emits the confidential-token recipient and the rounded clear underlying-token amount. The recipient can be different from the depositor, but that relationship is still visible in the deposit event. Withdrawals then reveal the recipient and amount.\n\nWithin a confidential token, holders can make confidential transfers between transparent EVM addresses. These transfers reveal the parties and encrypted ciphertext handles, but not the clear amount or resulting balances. The confidential balances and transfer amounts of users can be decrypted by 7/13 KMS signers, including retroactively.\n\nThe smart contracts do not fully validate FHE offchain work, which makes the KMS and coprocessor each trusted for security, privacy and liveness. Encrypted user inputs are accepted through the InputVerifier, which requires 1/1 coprocessor signatures. Public decryptions are accepted through the KMSVerifier, which requires 7/13 KMS signatures. Decentralization of the critical offchain services is announced in the docs but not implemented onchain (e.g. coprocessors, fraud proofs, slashing, zk proofs).\n\nPractical privacy also depends on timing, amounts, address reuse, wallet/RPC providers, and any frontend or service used to create encrypted inputs. Users are advised to research [OPSEC best practice](/publications/privacy-best-practices).\n\n### Fees\n\nThere currently is no protocol fee. Users still pay Ethereum gas for each action, including confidential token transfers, and may pay costs charged by external wallets, relayers, or services used to create or submit transactions.\n\n### Compliance\n\nCompliance is enforced in each confidential token contract. The owner can block and unblock local users, and confidential token contracts can be configured to call an underlying-token denylist function. These checks apply to direct deposits, ERC-1363 callback deposits, confidential transfers, unwrap requests, and unwrap finalization.\n\nBecause confidential tokens are backed by underlying tokens held in their contract addresses, issuer or token-admin controls over those underlyings remain a dependency. If an underlying token admin blocks a confidential token address, the escrowed token can become stuck. If a user address is blocked by an underlying token and the confidential token has a transitive denylist hook configured, that address can be prevented from depositing, transferring, or completing withdrawals.\n\n### Anonymity set\n\nZama Confidential Tokens does not use fixed-denomination notes. For a given finalized withdrawal, the set of prior deposits that could have funded the withdrawing account through the public address graph is its effective anonymity set: deposits credited to the same address, or to addresses that visibly transferred confidential tokens to it before the withdrawal. Amounts are private inside the confidential token, so links within the remaining candidate set can remain ambiguous, but deposits and finalized withdrawals expose each boundary amount and endpoint address. Integration with DeFi and its use from inside the confidential token increases the anonymity set.\n\nAs mentioned in 'Privacy Considerations', the mostly centralized offchain services that cannot be circumvented can corrupt practical privacy, independent of the abstract measurable anonymity set.",
"links": {
"websites": [
"https://www.zama.org"
],
"documentation": [
"https://docs.zama.org/protocol"
],
"repositories": [
"https://github.com/zama-ai"
]
}
}
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+47 -0
[
{
"address": "0xe978F22157048E5DB8E5d07971376e86671672B2",
"chain": "ethereum",
"sinceTimestamp": 1766750819,
"tokens": [
"USDC"
],
"chainId": 1
},
{
"address": "0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50",
"chain": "ethereum",
"sinceTimestamp": 1766750831,
"tokens": [
"USDT"
],
"chainId": 1
},
{
"address": "0xda9396b82634Ea99243cE51258B6A5Ae512D4893",
"chain": "ethereum",
"sinceTimestamp": 1766750843,
"tokens": [
"WETH"
],
"chainId": 1
},
{
"address": "0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071",
"chain": "ethereum",
"sinceTimestamp": 1766750867,
"tokens": [
"ZAMA"
],
"chainId": 1
},
{
"address": "0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1",
"chain": "ethereum",
"sinceTimestamp": 1772116091,
"tokens": [
"XAUt"
],
"chainId": 1
}
]
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+207 -0
{
"attributes": [
{
"id": "fhe",
"label": "FHE",
"description": "Uses fully homomorphic encryption for private computation over encrypted values."
},
{
"id": "privateAmounts",
"label": "Private amounts",
"description": "Transfer amounts are private, while sender and recipient addresses remain public."
},
{
"id": "anyAmount",
"label": "Any amount",
"description": "Deposits and withdrawals can have any size."
},
{
"id": "defi",
"label": "DeFi",
"description": "Interop with DeFi (swaps, vaults) from within the confidential token."
}
],
"exitWindow": {
"value": "None",
"sentiment": "bad",
"orderHint": 0,
"description": "The confidential token contracts and system contracts are upgradeable without an onchain delay, so users do not get a guaranteed withdrawal window before changes take effect."
},
"privacy": {
"value": "7/13 KMS threshold",
"sentiment": "warning",
"description": "Privacy depends on fewer than the KMS threshold of signers to collude and be compromised. Each KMS signer is running inside a TEE. 7 compromised signers can decrypt all current and past private balances. Compliance can be enforced by confidential token owners blocking users and by configured underlying-token denylist hooks during deposits, transfers, unwrap requests, and unwrap finalization."
},
"reproducibility": {
"value": "Partially reproducible",
"sentiment": "warning",
"description": "The smart contracts are source-available, but users also rely on offchain FHE execution and threshold decryption services whose outputs are accepted onchain through signature verification. The offchain data cannot currently be fully reproduced from Ethereum DA."
},
"riskSummary": "## Funds can be stolen if\n1. a malicious upgrade compromises the confidential token contracts or FHEVM contracts with their escrowed underlying tokens.\n2. 7/13 KMS signers attest to an incorrect public decryption during unwrap finalization, allowing more underlying tokens to be released than were burned.\n3. the 1/1 coprocessor input verification path accepts invalid encrypted inputs that bypass confidential balance checks.\n
\n## Funds can be lost if\n1. an underlying token admin blacklists a confidential token address or otherwise prevents transfers from the contract.\n2. a user is blocked by the confidential token owner or by a configured underlying-token denylist before finalization/withdrawal.\n3. offchain ciphertext data required by the coprocessor or KMS for encrypted handles becomes unavailable and cannot be reconstructed.\n
\n## Privacy can be lost if\n1. 7/13 KMS signers collude or are compromised and decrypt private ciphertext handles.\n2. the offchain coprocessor, wallet, relayer, frontend, or RPC path records enough metadata to link a user to encrypted inputs or transactions.\n3. deposits and withdrawals are linked by clear boundary amounts, recipient graph, timing, or address reuse.",
"summaryTrackedItemName": "token",
"tokens": [
{
"token": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1766750819
},
"buckets": [
{
"id": "zama-cw-cUSDC",
"type": "pool",
"label": "cUSDC token",
"address": "eth:0xe978F22157048E5DB8E5d07971376e86671672B2",
"sinceTimestamp": 1766750819,
"deposit": {
"event": "0xcda691c81d2fd787d8c209adb4ae8b138f857d7575adf7669195ed05482e701b",
"extractor": "zamaWrap",
"params": {}
},
"withdrawal": {
"event": "0x87061fd1a5b3714805472c94c9eb8a6b8491992ee77791aa2594be67b92fd962",
"extractor": "zamaUnwrap",
"params": {
"rate": "1"
}
}
}
]
},
{
"token": {
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"symbol": "USDT",
"decimals": 6,
"priceId": "tether",
"sinceTimestamp": 1766750831
},
"buckets": [
{
"id": "zama-cw-cUSDT",
"type": "pool",
"label": "cUSDT token",
"address": "eth:0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50",
"sinceTimestamp": 1766750831,
"deposit": {
"event": "0xcda691c81d2fd787d8c209adb4ae8b138f857d7575adf7669195ed05482e701b",
"extractor": "zamaWrap",
"params": {}
},
"withdrawal": {
"event": "0x87061fd1a5b3714805472c94c9eb8a6b8491992ee77791aa2594be67b92fd962",
"extractor": "zamaUnwrap",
"params": {
"rate": "1"
}
}
}
]
},
{
"token": {
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"iconUrl": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"symbol": "WETH",
"decimals": 18,
"priceId": "weth",
"sinceTimestamp": 1766750843
},
"buckets": [
{
"id": "zama-cw-cWETH",
"type": "pool",
"label": "cWETH token",
"address": "eth:0xda9396b82634Ea99243cE51258B6A5Ae512D4893",
"sinceTimestamp": 1766750843,
"deposit": {
"event": "0xcda691c81d2fd787d8c209adb4ae8b138f857d7575adf7669195ed05482e701b",
"extractor": "zamaWrap",
"params": {}
},
"withdrawal": {
"event": "0x87061fd1a5b3714805472c94c9eb8a6b8491992ee77791aa2594be67b92fd962",
"extractor": "zamaUnwrap",
"params": {
"rate": "1000000000000"
}
}
}
]
},
{
"token": {
"address": "0xA12CC123ba206d4031D1c7f6223D1C2Ec249f4f3",
"iconUrl": "https://coin-images.coingecko.com/coins/images/70921/large/zama.png?1764591992",
"symbol": "ZAMA",
"decimals": 18,
"priceId": "zama",
"sinceTimestamp": 1766750867
},
"buckets": [
{
"id": "zama-cw-cZAMA",
"type": "pool",
"label": "cZAMA token",
"address": "eth:0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071",
"sinceTimestamp": 1766750867,
"deposit": {
"event": "0xcda691c81d2fd787d8c209adb4ae8b138f857d7575adf7669195ed05482e701b",
"extractor": "zamaWrap",
"params": {}
},
"withdrawal": {
"event": "0x87061fd1a5b3714805472c94c9eb8a6b8491992ee77791aa2594be67b92fd962",
"extractor": "zamaUnwrap",
"params": {
"rate": "1000000000000"
}
}
}
]
},
{
"token": {
"address": "0x68749665FF8D2d112Fa859AA293F07A622782F38",
"iconUrl": "https://assets.coingecko.com/coins/images/10481/large/Tether_Gold.png?1696510471",
"symbol": "XAUt",
"decimals": 6,
"priceId": "tether-gold",
"sinceTimestamp": 1772116091
},
"buckets": [
{
"id": "zama-cw-cXAUt",
"type": "pool",
"label": "cXAUt token",
"address": "eth:0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1",
"sinceTimestamp": 1772116091,
"deposit": {
"event": "0xcda691c81d2fd787d8c209adb4ae8b138f857d7575adf7669195ed05482e701b",
"extractor": "zamaWrap",
"params": {}
},
"withdrawal": {
"event": "0x87061fd1a5b3714805472c94c9eb8a6b8491992ee77791aa2594be67b92fd962",
"extractor": "zamaUnwrap",
"params": {
"rate": "1"
}
}
}
]
}
],
"trustedSetup": {
"id": "TransparentSetup",
"name": "Transparent setup",
"risk": "N/A",
"shortDescription": "No trusted setup and no additional setup-related trust assumptions.",
"longDescription": "Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions."
},
"upgradesAndGovernance": "Zama governance is implemented through an Aragon 'DAO' deployment controlled by two multisigs: ZamaGovMultisigA with a 9/17 threshold and ZamaGovMultisigB with a 3/5 threshold. The multisigs can upgrade contracts or change critical configuration without a timelock.\n\nConfidential token owners and underlying token owners can freeze users. The ACL owner can manage ACL-level account blocking and unpause the ACL, while pausers from the PauserSet can pause the ACL. The exact roles and accounts are listed in the permissions section.\n\nOffchain components like the coprocessor and KMS are trusted for liveness, privacy and security and are currently not decentralized."
}
+4 -0
{
"associatedTokens": [],
"warnings": []
}
+78 -0
[
{
"mode": "auto",
"id": "zama-cw-USDC",
"priceId": "usd-coin",
"symbol": "USDC",
"name": "USD Coin",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"amount": {
"type": "balanceOfEscrow",
"chain": "ethereum",
"sinceTimestamp": 1766750819,
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"decimals": 6,
"escrowAddress": "0xe978F22157048E5DB8E5d07971376e86671672B2"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "zama-cw-USDT",
"priceId": "tether",
"symbol": "USDT",
"name": "Tether USD",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"amount": {
"type": "balanceOfEscrow",
"chain": "ethereum",
"sinceTimestamp": 1766750831,
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"decimals": 6,
"escrowAddress": "0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "zama-cw-WETH",
"priceId": "weth",
"symbol": "WETH",
"name": "Wrapped Ether",
"iconUrl": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"amount": {
"type": "balanceOfEscrow",
"chain": "ethereum",
"sinceTimestamp": 1766750843,
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"decimals": 18,
"escrowAddress": "0xda9396b82634Ea99243cE51258B6A5Ae512D4893"
},
"category": "ether",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "zama-cw-XAUt",
"priceId": "tether-gold",
"symbol": "XAUt",
"name": "Tether Gold",
"iconUrl": "https://assets.coingecko.com/coins/images/10481/large/Tether_Gold.png?1696510471",
"amount": {
"type": "balanceOfEscrow",
"chain": "ethereum",
"sinceTimestamp": 1772116091,
"address": "0x68749665FF8D2d112Fa859AA293F07A622782F38",
"decimals": 6,
"escrowAddress": "0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1"
},
"category": "rwaPublic",
"source": "canonical",
"isAssociated": false
}
]
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+797 -0
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "ZamaGovMultisigB",
"name": "ZamaGovMultisigB",
"description": "A Multisig with 3/5 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * HCULimit [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with KMSVerifier\n * set the KMS signer set and signature threshold used for public decryption verification [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and update Zama verifier signer sets and thresholds [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]",
"accounts": [
{
"address": "eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F",
"type": "Contract",
"isVerified": true,
"name": "0xBc86…a38F",
"url": "https://etherscan.io/address/0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "EOA 48",
"url": "#EOA-45-and-EOA-48"
},
{
"address": "eth:0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE",
"type": "EOA",
"isVerified": true,
"name": "0xf299…fBBE",
"url": "https://etherscan.io/address/0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE"
},
{
"address": "eth:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "EOA 45",
"url": "#EOA-45-and-EOA-48"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 47",
"url": "#EOA-46-and-EOA-47"
},
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 46",
"url": "#EOA-46-and-EOA-47"
}
],
"discoveryDrivenData": true
},
{
"id": "ZamaGovMultisigA",
"name": "ZamaGovMultisigA",
"description": "A Multisig with 9/17 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * HCULimit [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with KMSVerifier\n * set the KMS signer set and signature threshold used for public decryption verification [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and update Zama verifier signer sets and thresholds [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]",
"accounts": [
{
"address": "eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f",
"type": "Contract",
"isVerified": true,
"name": "0xE43c…e66f",
"url": "https://etherscan.io/address/0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x31bBD7a242A38372DE92CA304fE29C12C90A382C",
"type": "Contract",
"isVerified": true,
"name": "ZamaGovMemberDAO",
"url": "#ZamaGovMemberDAO"
},
{
"address": "eth:0x644f248299FA8E1DE46C97A72C36F354Ccdb8a1e",
"type": "EOA",
"isVerified": true,
"name": "0x644f…8a1e",
"url": "https://etherscan.io/address/0x644f248299FA8E1DE46C97A72C36F354Ccdb8a1e"
},
{
"address": "eth:0x0321a4Ee7E843A83Fa314f4e76E756864CBdE62e",
"type": "EOA",
"isVerified": true,
"name": "0x0321…E62e",
"url": "https://etherscan.io/address/0x0321a4Ee7E843A83Fa314f4e76E756864CBdE62e"
},
{
"address": "eth:0x0f81fd435d44Cc49f90BB74bF4BdE0e9A0554ae6",
"type": "EOA",
"isVerified": true,
"name": "0x0f81…4ae6",
"url": "https://etherscan.io/address/0x0f81fd435d44Cc49f90BB74bF4BdE0e9A0554ae6"
},
{
"address": "eth:0x931FB6Ec104dDc9bc556983032b5b85b671db000",
"type": "EOA",
"isVerified": true,
"name": "0x931F…b000",
"url": "https://etherscan.io/address/0x931FB6Ec104dDc9bc556983032b5b85b671db000"
},
{
"address": "eth:0x32f3D0D7E20Ca11Cad21f32Dad91506ea89f5897",
"type": "EOA",
"isVerified": true,
"name": "0x32f3…5897",
"url": "https://etherscan.io/address/0x32f3D0D7E20Ca11Cad21f32Dad91506ea89f5897"
},
{
"address": "eth:0xE53e32a669357Ab0360103d8f294812B914AF9e4",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0xE53e32a669357Ab0360103d8f294812B914AF9e4"
},
{
"address": "eth:0xc2e5960EDa1E8D801b19e96D886B946Dfb4bE709",
"type": "EOA",
"isVerified": true,
"name": "0xc2e5…E709",
"url": "https://etherscan.io/address/0xc2e5960EDa1E8D801b19e96D886B946Dfb4bE709"
},
{
"address": "eth:0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0"
},
{
"address": "eth:0x23Cd5e0f3bd1543CBCc5d05bB55e5446be4AD96b",
"type": "EOA",
"isVerified": true,
"name": "0x23Cd…D96b",
"url": "https://etherscan.io/address/0x23Cd5e0f3bd1543CBCc5d05bB55e5446be4AD96b"
},
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "Conduit Multisig 1",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
},
{
"address": "eth:0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 47",
"url": "#EOA-46-and-EOA-47"
},
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 46",
"url": "#EOA-46-and-EOA-47"
},
{
"address": "eth:0x97E18544e156724E4076945F10c288ecBBC94e54",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x97E18544e156724E4076945F10c288ecBBC94e54"
},
{
"address": "eth:0xE9AAc45091bF5d52AD7BC109497DAA7cD0245BdB",
"type": "EOA",
"isVerified": true,
"name": "0xE9AA…5BdB",
"url": "https://etherscan.io/address/0xE9AAc45091bF5d52AD7BC109497DAA7cD0245BdB"
},
{
"address": "eth:0xD92e1C1Ec65aBe6C6891EcE56a00c6b79A09C8AE",
"type": "EOA",
"isVerified": true,
"name": "0xD92e…C8AE",
"url": "https://etherscan.io/address/0xD92e1C1Ec65aBe6C6891EcE56a00c6b79A09C8AE"
}
],
"discoveryDrivenData": true
},
{
"id": "ZamaGovMemberDAO",
"name": "ZamaGovMemberDAO",
"accounts": [
{
"address": "eth:0x31bBD7a242A38372DE92CA304fE29C12C90A382C",
"type": "Contract",
"isVerified": true,
"name": "0x31bB…382C",
"url": "https://etherscan.io/address/0x31bBD7a242A38372DE92CA304fE29C12C90A382C"
}
],
"chain": "ethereum",
"description": "Aragon DAO that stores governance state and executes proposal action batches.\nMember of ZamaGovMultisigA.\n* Can interact with ZamaGovMemberDAO\n * change multisig plugin settings \n * change multisig plugin target execution configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-30",
"name": "EOA 30",
"accounts": [
{
"address": "eth:0x373E36A8684A3344E177C5894179845Cbe57AE44",
"type": "EOA",
"isVerified": true,
"name": "0x373E…AE44",
"url": "https://etherscan.io/address/0x373E36A8684A3344E177C5894179845Cbe57AE44",
"displayName": "EOA 30"
}
],
"chain": "ethereum",
"description": "* Can interact with InputVerifier\n * sign encrypted input verification bundles accepted by the InputVerifier ",
"discoveryDrivenData": true
},
{
"id": "EOA-31,-EOA-32,-EOA-33,-EOA-34,-EOA-35,-EOA-36,-EOA-37,-EOA-38,-EOA-39,-EOA-40,-EOA-41,-EOA-42-and-EOA-43",
"name": "EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 39, EOA 40, EOA 41, EOA 42 and EOA 43",
"accounts": [
{
"address": "eth:0x41b19EB4585450db79ac03ba9503106EC7895905",
"type": "EOA",
"isVerified": true,
"name": "0x41b1…5905",
"url": "https://etherscan.io/address/0x41b19EB4585450db79ac03ba9503106EC7895905",
"displayName": "EOA 31"
},
{
"address": "eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"type": "EOA",
"isVerified": true,
"name": "0x5d0e…f7C8",
"url": "https://etherscan.io/address/0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"displayName": "EOA 32"
},
{
"address": "eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"type": "EOA",
"isVerified": true,
"name": "0x6016…E385",
"url": "https://etherscan.io/address/0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"displayName": "EOA 33"
},
{
"address": "eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"type": "EOA",
"isVerified": true,
"name": "0x6e5f…4921",
"url": "https://etherscan.io/address/0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"displayName": "EOA 34"
},
{
"address": "eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"type": "EOA",
"isVerified": true,
"name": "0x7C17…3fCC",
"url": "https://etherscan.io/address/0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"displayName": "EOA 35"
},
{
"address": "eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"type": "EOA",
"isVerified": true,
"name": "0x7C5E…4F58",
"url": "https://etherscan.io/address/0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"displayName": "EOA 36"
},
{
"address": "eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"type": "EOA",
"isVerified": true,
"name": "0x9150…350f",
"url": "https://etherscan.io/address/0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"displayName": "EOA 37"
},
{
"address": "eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"type": "EOA",
"isVerified": true,
"name": "0x9661…dB8D",
"url": "https://etherscan.io/address/0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"displayName": "EOA 38"
},
{
"address": "eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"type": "EOA",
"isVerified": true,
"name": "0xB797…E0eb",
"url": "https://etherscan.io/address/0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"displayName": "EOA 39"
},
{
"address": "eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"type": "EOA",
"isVerified": true,
"name": "0xbf05…79C3",
"url": "https://etherscan.io/address/0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"displayName": "EOA 40"
},
{
"address": "eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"type": "EOA",
"isVerified": true,
"name": "0xdC47…B965",
"url": "https://etherscan.io/address/0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"displayName": "EOA 41"
},
{
"address": "eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"type": "EOA",
"isVerified": true,
"name": "0xDFc9…194f",
"url": "https://etherscan.io/address/0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"displayName": "EOA 42"
},
{
"address": "eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"type": "EOA",
"isVerified": true,
"name": "0xe9f7…ed6f",
"url": "https://etherscan.io/address/0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"displayName": "EOA 43"
}
],
"chain": "ethereum",
"description": "* Can interact with KMSVerifier\n * sign public decryption results accepted by the KMSVerifier ",
"discoveryDrivenData": true
},
{
"id": "EOA-44-and-EOA-49",
"name": "EOA 44 and EOA 49",
"accounts": [
{
"address": "eth:0x6681101780Fb503591535B36bB3F15781f01EAAF",
"type": "EOA",
"isVerified": true,
"name": "0x6681…EAAF",
"url": "https://etherscan.io/address/0x6681101780Fb503591535B36bB3F15781f01EAAF",
"displayName": "EOA 44"
},
{
"address": "eth:0xBdBA7b00A4b2dd3d3382a4217e82C5930791E2aA",
"type": "EOA",
"isVerified": true,
"name": "0xBdBA…E2aA",
"url": "https://etherscan.io/address/0xBdBA7b00A4b2dd3d3382a4217e82C5930791E2aA",
"displayName": "EOA 49"
}
],
"chain": "ethereum",
"description": "Member of Safe.\n* Can interact with PauserSet\n * pause the ACL [via: Safe]",
"discoveryDrivenData": true
},
{
"id": "EOA-45-and-EOA-48",
"name": "EOA 45 and EOA 48",
"accounts": [
{
"address": "eth:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "0x6dd4…5874",
"url": "https://etherscan.io/address/0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"displayName": "EOA 45"
},
{
"address": "eth:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "0x9b82…9B71",
"url": "https://etherscan.io/address/0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"displayName": "EOA 48"
}
],
"chain": "ethereum",
"description": "Member of ZamaGovMultisigB.\n* Can interact with PauserSet\n * pause the ACL ",
"discoveryDrivenData": true
},
{
"id": "EOA-46-and-EOA-47",
"name": "EOA 46 and EOA 47",
"accounts": [
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "0x7053…02b3",
"url": "https://etherscan.io/address/0x705380c013c13B4ce62338ab1F012036BAC802b3",
"displayName": "EOA 46"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "0x8edF…8CB8",
"url": "https://etherscan.io/address/0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"displayName": "EOA 47"
}
],
"chain": "ethereum",
"description": "Member of ZamaGovMultisigB, ZamaGovMultisigA.\n* Can interact with PauserSet\n * pause the ACL ",
"discoveryDrivenData": true
}
]
},
"zama": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/5 threshold. \nGateway owner Safe. Its LayerZero governance module is outside the Zama Gateway protocol surface covered here.\n* Can upgrade **with no delay**\n * MultichainACL \n * Decryption \n * KMSGeneration \n * ProtocolPayment \n * InputVerification \n * CiphertextCommits \n * GatewayConfig \n* Can interact with Decryption\n * unpause Decryption \n* Can interact with KMSGeneration\n * start KMS key generation, CRS generation, PRSS initialization, and key resharing \n* Can interact with GatewayPauserSet\n * add, remove, or swap gateway pausers \n* Can interact with ProtocolPayment\n * set gateway fee prices for input verification, public decryption, and user decryption \n* Can interact with InputVerification\n * unpause InputVerification \n* Can interact with GatewayConfig\n * update KMS, coprocessor, custodian, host-chain, and threshold configuration, transfer GatewayConfig ownership, and unpause gateway workflow contracts ",
"accounts": [
{
"address": "zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE",
"type": "Contract",
"isVerified": true,
"name": "0x5f0F…e2bE",
"url": "https://explorer.mainnet.zama.org/address/0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE"
}
],
"chain": "zama",
"references": [],
"participants": [
{
"address": "zama:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "EOA 53",
"url": "#EOA-50,-EOA-51,-EOA-52-and-EOA-53"
},
{
"address": "zama:0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE",
"type": "EOA",
"isVerified": true,
"name": "0xf299…fBBE",
"url": "https://explorer.mainnet.zama.org/address/0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE"
},
{
"address": "zama:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "EOA 50",
"url": "#EOA-50,-EOA-51,-EOA-52-and-EOA-53"
},
{
"address": "zama:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 52",
"url": "#EOA-50,-EOA-51,-EOA-52-and-EOA-53"
},
{
"address": "zama:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 51",
"url": "#EOA-50,-EOA-51,-EOA-52-and-EOA-53"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "zama:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://explorer.mainnet.zama.org/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 1"
}
],
"chain": "zama",
"description": "* Can upgrade **with no delay**\n * MultichainACL \n * Decryption \n * KMSGeneration \n * ProtocolPayment \n * InputVerification \n * CiphertextCommits \n* Can interact with GatewayConfig\n * accept GatewayConfig ownership ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "zama:0x373E36A8684A3344E177C5894179845Cbe57AE44",
"type": "EOA",
"isVerified": true,
"name": "0x373E…AE44",
"url": "https://explorer.mainnet.zama.org/address/0x373E36A8684A3344E177C5894179845Cbe57AE44",
"displayName": "EOA 2"
}
],
"chain": "zama",
"description": "* Can interact with MultichainACL\n * submit public-decryption allowances, account handle allowances, and user-decryption delegation or revocation messages to MultichainACL \n* Can interact with InputVerification\n * sign encrypted input proof verification responses accepted by InputVerification \n * submit coprocessor proof verification and rejection responses to InputVerification \n* Can interact with CiphertextCommits\n * submit ciphertext and SNS ciphertext digests to CiphertextCommits \n* Can interact with GatewayConfig\n * sign encrypted input proof verification responses accepted by the gateway \n * submit coprocessor responses, ACL mirror updates, and ciphertext material commitments to gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-12,-EOA-13,-EOA-18,-EOA-20,-EOA-21,-EOA-23,-EOA-24-and-EOA-28",
"name": "EOA 3, EOA 5, EOA 6, EOA 7, EOA 8, EOA 12, EOA 13, EOA 18, EOA 20, EOA 21, EOA 23, EOA 24 and EOA 28",
"accounts": [
{
"address": "zama:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"type": "EOA",
"isVerified": true,
"name": "0x0e25…E31D",
"url": "https://explorer.mainnet.zama.org/address/0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"displayName": "EOA 3"
},
{
"address": "zama:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"type": "EOA",
"isVerified": true,
"name": "0x43e4…8340",
"url": "https://explorer.mainnet.zama.org/address/0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"displayName": "EOA 5"
},
{
"address": "zama:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"type": "EOA",
"isVerified": true,
"name": "0x487e…c5EC",
"url": "https://explorer.mainnet.zama.org/address/0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"displayName": "EOA 6"
},
{
"address": "zama:0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"type": "EOA",
"isVerified": true,
"name": "0x4eC7…19F1",
"url": "https://explorer.mainnet.zama.org/address/0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"displayName": "EOA 7"
},
{
"address": "zama:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"type": "EOA",
"isVerified": true,
"name": "0x577F…De04",
"url": "https://explorer.mainnet.zama.org/address/0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"displayName": "EOA 8"
},
{
"address": "zama:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"type": "EOA",
"isVerified": true,
"name": "0x711E…C890",
"url": "https://explorer.mainnet.zama.org/address/0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"displayName": "EOA 12"
},
{
"address": "zama:0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"type": "EOA",
"isVerified": true,
"name": "0x74a1…5e9a",
"url": "https://explorer.mainnet.zama.org/address/0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"displayName": "EOA 13"
},
{
"address": "zama:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"type": "EOA",
"isVerified": true,
"name": "0xB4CE…6FFB",
"url": "https://explorer.mainnet.zama.org/address/0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"displayName": "EOA 18"
},
{
"address": "zama:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"type": "EOA",
"isVerified": true,
"name": "0xbaac…5BD0",
"url": "https://explorer.mainnet.zama.org/address/0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"displayName": "EOA 20"
},
{
"address": "zama:0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"type": "EOA",
"isVerified": true,
"name": "0xbcF4…363E",
"url": "https://explorer.mainnet.zama.org/address/0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"displayName": "EOA 21"
},
{
"address": "zama:0xC105B5933446658D226582f7A112F49a70b54364",
"type": "EOA",
"isVerified": true,
"name": "0xC105…4364",
"url": "https://explorer.mainnet.zama.org/address/0xC105B5933446658D226582f7A112F49a70b54364",
"displayName": "EOA 23"
},
{
"address": "zama:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"type": "EOA",
"isVerified": true,
"name": "0xD227…2e6D",
"url": "https://explorer.mainnet.zama.org/address/0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"displayName": "EOA 24"
},
{
"address": "zama:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"type": "EOA",
"isVerified": true,
"name": "0xEd1D…6236",
"url": "https://explorer.mainnet.zama.org/address/0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"displayName": "EOA 28"
}
],
"chain": "zama",
"description": "* Can interact with Decryption\n * submit KMS decryption responses to Decryption \n* Can interact with KMSGeneration\n * submit KMS key-generation and CRS-generation responses to KMSGeneration \n* Can interact with GatewayConfig\n * submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-9,-EOA-10,-EOA-11,-EOA-14,-EOA-15,-EOA-16,-EOA-17,-EOA-19,-EOA-22,-EOA-25,-EOA-26-and-EOA-27",
"name": "EOA 4, EOA 9, EOA 10, EOA 11, EOA 14, EOA 15, EOA 16, EOA 17, EOA 19, EOA 22, EOA 25, EOA 26 and EOA 27",
"accounts": [
{
"address": "zama:0x41b19EB4585450db79ac03ba9503106EC7895905",
"type": "EOA",
"isVerified": true,
"name": "0x41b1…5905",
"url": "https://explorer.mainnet.zama.org/address/0x41b19EB4585450db79ac03ba9503106EC7895905",
"displayName": "EOA 4"
},
{
"address": "zama:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"type": "EOA",
"isVerified": true,
"name": "0x5d0e…f7C8",
"url": "https://explorer.mainnet.zama.org/address/0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"displayName": "EOA 9"
},
{
"address": "zama:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"type": "EOA",
"isVerified": true,
"name": "0x6016…E385",
"url": "https://explorer.mainnet.zama.org/address/0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"displayName": "EOA 10"
},
{
"address": "zama:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"type": "EOA",
"isVerified": true,
"name": "0x6e5f…4921",
"url": "https://explorer.mainnet.zama.org/address/0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"displayName": "EOA 11"
},
{
"address": "zama:0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"type": "EOA",
"isVerified": true,
"name": "0x7C17…3fCC",
"url": "https://explorer.mainnet.zama.org/address/0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"displayName": "EOA 14"
},
{
"address": "zama:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"type": "EOA",
"isVerified": true,
"name": "0x7C5E…4F58",
"url": "https://explorer.mainnet.zama.org/address/0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"displayName": "EOA 15"
},
{
"address": "zama:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"type": "EOA",
"isVerified": true,
"name": "0x9150…350f",
"url": "https://explorer.mainnet.zama.org/address/0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"displayName": "EOA 16"
},
{
"address": "zama:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"type": "EOA",
"isVerified": true,
"name": "0x9661…dB8D",
"url": "https://explorer.mainnet.zama.org/address/0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"displayName": "EOA 17"
},
{
"address": "zama:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"type": "EOA",
"isVerified": true,
"name": "0xB797…E0eb",
"url": "https://explorer.mainnet.zama.org/address/0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"displayName": "EOA 19"
},
{
"address": "zama:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"type": "EOA",
"isVerified": true,
"name": "0xbf05…79C3",
"url": "https://explorer.mainnet.zama.org/address/0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"displayName": "EOA 22"
},
{
"address": "zama:0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"type": "EOA",
"isVerified": true,
"name": "0xdC47…B965",
"url": "https://explorer.mainnet.zama.org/address/0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"displayName": "EOA 25"
},
{
"address": "zama:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"type": "EOA",
"isVerified": true,
"name": "0xDFc9…194f",
"url": "https://explorer.mainnet.zama.org/address/0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"displayName": "EOA 26"
},
{
"address": "zama:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"type": "EOA",
"isVerified": true,
"name": "0xe9f7…ed6f",
"url": "https://explorer.mainnet.zama.org/address/0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"displayName": "EOA 27"
}
],
"chain": "zama",
"description": "* Can interact with Decryption\n * sign public decryption results and user decryption shares accepted by Decryption \n* Can interact with KMSGeneration\n * sign KMS key-generation and CRS-generation material accepted by KMSGeneration \n* Can interact with GatewayConfig\n * sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-29",
"name": "EOA 29",
"accounts": [
{
"address": "zama:0x0000000000000000000000000000000000000001",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0001",
"url": "https://explorer.mainnet.zama.org/address/0x0000000000000000000000000000000000000001",
"displayName": "EOA 29"
}
],
"chain": "zama",
"description": "* Can interact with GatewayConfig\n * participate in gateway key custody workflows \n * sign gateway key custody material ",
"discoveryDrivenData": true
},
{
"id": "EOA-50,-EOA-51,-EOA-52-and-EOA-53",
"name": "EOA 50, EOA 51, EOA 52 and EOA 53",
"accounts": [
{
"address": "zama:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "0x6dd4…5874",
"url": "https://explorer.mainnet.zama.org/address/0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"displayName": "EOA 50"
},
{
"address": "zama:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "0x7053…02b3",
"url": "https://explorer.mainnet.zama.org/address/0x705380c013c13B4ce62338ab1F012036BAC802b3",
"displayName": "EOA 51"
},
{
"address": "zama:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "0x8edF…8CB8",
"url": "https://explorer.mainnet.zama.org/address/0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"displayName": "EOA 52"
},
{
"address": "zama:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "0x9b82…9B71",
"url": "https://explorer.mainnet.zama.org/address/0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"displayName": "EOA 53"
}
],
"chain": "zama",
"description": "Member of SafeL2.\n* Can interact with GatewayPauserSet\n * pause GatewayConfig and pausable gateway workflow contracts ",
"discoveryDrivenData": true
}
]
}
}
+1218 -0
{
"addresses": {
"ethereum": [
{
"name": "HCULimit",
"isVerified": true,
"address": "eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x4E4329F10f7EE88a5dDB13716B8bE00c077CBeb6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763549531,
"transactionHash": "0xfd792abe94dd6c945b787284045ee8a66684985e48834872cc4452705e8ab27d",
"implementations": [
"eth:0xC94790325C61A7D98e90d835ea89777d64b17492"
]
},
{
"timestamp": 1763549663,
"transactionHash": "0xb5ab1dbab2a11947fad8475b643fb3ecf7710a1d09bf250038635a0198c7fc0d",
"implementations": [
"eth:0x4E4329F10f7EE88a5dDB13716B8bE00c077CBeb6"
]
}
],
"description": "Tracks and enforces homomorphic computation unit limits for FHEVM operation requests.\n* Roles:\n * **lOwner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2#code"
},
{
"name": "ConfidentialSteakcUSDCWrapper",
"isVerified": true,
"address": "eth:0x66Bf74E96900D1a19c7070D939D124f2F565C458",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1781877707,
"transactionHash": "0x295406f3a8a3481eb9e33e25b9b9967a9b833244b76e39e91fe05424b7f14beb",
"implementations": [
"eth:0xAea1d2cc69aF93CA0fdd34426E74Ad7cB19E9745"
]
},
{
"timestamp": 1782125723,
"transactionHash": "0x78c56acfe7e477612beb8536dc51fe47a0531b0e71ca194fe1b449bfd4f110c2",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66Bf74E96900D1a19c7070D939D124f2F565C458#code"
},
{
"name": "ConfidentialXAUTWrapper",
"isVerified": true,
"address": "eth:0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772116091,
"transactionHash": "0x6824019fdc0404c3517600959f4e8dec43ae218dac150e63db45f2cb4b22360a",
"implementations": [
"eth:0x9CFdA0290EdeF98D0539e5747bea9Bd889a08BaB"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1#code"
},
{
"name": "KMSVerifier",
"isVerified": true,
"address": "eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x8210A6c69FAc2e9856C7a19Ee70b26cFa3A4F0E2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763549507,
"transactionHash": "0x06d02641ad92aa250ac4fc62db0f221916bef24bbabbf3b4d0b70f6688abd2c4",
"implementations": [
"eth:0xC94790325C61A7D98e90d835ea89777d64b17492"
]
},
{
"timestamp": 1763549639,
"transactionHash": "0x7e4b4f2daadb3e6752b8c1fc896cba229da788a227041dfdc2660122ca1a7568",
"implementations": [
"eth:0x8210A6c69FAc2e9856C7a19Ee70b26cFa3A4F0E2"
]
}
],
"description": "Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers use it before accepting decrypted values.\n* Roles:\n * **getKmsSigners**: EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 39, EOA 40, EOA 41, EOA 42, EOA 43\n * **lOwner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x77627828a55156b04Ac0DC0eb30467f1a552BB03#code"
},
{
"name": "ConfidentialZAMAWrapper",
"isVerified": true,
"address": "eth:0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750867,
"transactionHash": "0x45633b2aab6c5c6315c172eae43ecc3d3d41644a6bbfdea0f06d98c2c399c43a",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071#code"
},
{
"name": "ConfidentialBRONWrapper",
"isVerified": true,
"address": "eth:0x85dE671c3bec1aDeD752c3Cea943521181C826bc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750855,
"transactionHash": "0xa779010ac9c5e5117b225f1ad387c33747a27ae91c429b8004ecb55643bfe0c5",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85dE671c3bec1aDeD752c3Cea943521181C826bc#code"
},
{
"name": "ConfidentialTGBPWrapper",
"isVerified": true,
"address": "eth:0xa873750ccBafD5ec7Dd13bfD5237d7129832eDD9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1767000887,
"transactionHash": "0x7bee57213dda8d8b4c15cccef163e7b8767989deb0181b855dc98bf00e0b46ec",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa873750ccBafD5ec7Dd13bfD5237d7129832eDD9#code"
},
{
"name": "ConfidentialUSDTWrapper",
"isVerified": true,
"address": "eth:0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750831,
"transactionHash": "0x2eeb06d478ab37699ab18bc2cd90248eaf67f3a05c9995808ca5e949b4d1f606",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50#code"
},
{
"name": "ConfidentialBbqTGBPWrapper",
"isVerified": true,
"address": "eth:0xBA4cFF6ED6F7Cb2A58776dECa4E984b498446762",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1780585031,
"transactionHash": "0xf8f65cadc2879300e74e4bf02a727021a71732b6c122a9243f3445799ec12212",
"implementations": [
"eth:0xAea1d2cc69aF93CA0fdd34426E74Ad7cB19E9745"
]
},
{
"timestamp": 1780663271,
"transactionHash": "0x88640fcae1f813a06ecd522d8baad4898ea1abeec37935d5280f0edec77717e4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBA4cFF6ED6F7Cb2A58776dECa4E984b498446762#code"
},
{
"name": "ACL",
"isVerified": true,
"address": "eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x96B171e4f8eCda0FFdD128b319Fa185b14f99D76"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763549471,
"transactionHash": "0x858617542602611205744c3ae5f6905ac1bba19d3c08971de9c1a820a8a33f03",
"implementations": [
"eth:0xcD88EA408376C426308703e5808aa9f2e4cb09F2"
]
},
{
"timestamp": 1763549591,
"transactionHash": "0x99b4c55992ead5468d12e37b84c00ab6e7a9eb01380736586abab6300543faa0",
"implementations": [
"eth:0x4E35869D1e8106058d11b414876B735F62A325e2"
]
},
{
"timestamp": 1765296611,
"transactionHash": "0x106ad2025c3f8b47cc0be8456e38f332345068a2c99ad8f12fc779c573676a05",
"implementations": [
"eth:0x96B171e4f8eCda0FFdD128b319Fa185b14f99D76"
]
}
],
"description": "Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6#code"
},
{
"name": "InputVerifier",
"isVerified": true,
"address": "eth:0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xc4a1a1BaE73ca6aceb2FAa62ce08BfAbCd2323b6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763549519,
"transactionHash": "0x4ca7637788e07eb8c1253055b3ce2e104c210fb289854b749c6cfedbd17b09cd",
"implementations": [
"eth:0xC94790325C61A7D98e90d835ea89777d64b17492"
]
},
{
"timestamp": 1763549651,
"transactionHash": "0xd13b7d81bbe520a5184759a326747a536c47dd3d1d990754288f1e1ec325fc29",
"implementations": [
"eth:0xc4a1a1BaE73ca6aceb2FAa62ce08BfAbCd2323b6"
]
}
],
"description": "Ethereum host-chain verifier for encrypted input attestations produced by the Zama Gateway InputVerification contract. The FHEVMExecutor calls it before accepting user-provided ciphertext handles.\n* Roles:\n * **getCoprocessorSigners**: EOA 30\n * **lOwner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2#code"
},
{
"name": "FHEVMExecutor",
"isVerified": true,
"address": "eth:0xD82385dADa1ae3E969447f20A3164F6213100e75",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xde3624dA8d9c45B57674cA0AcAC40630682211bb"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763549495,
"transactionHash": "0x43a0b2d4811549a09d7c1de5fd980ec9751343bb0b8babc3dcaf39a72cb10389",
"implementations": [
"eth:0xC94790325C61A7D98e90d835ea89777d64b17492"
]
},
{
"timestamp": 1763549603,
"transactionHash": "0xcf5069f2c6b06734e6a866122d122be50d2b3f0251cd8833cca13d6a5b5c1076",
"implementations": [
"eth:0x9a2886431fDd00449D4B02e3aF9C04a2608162e6"
]
},
{
"timestamp": 1774083191,
"transactionHash": "0xc43696e8168a63f43cf6aa8bee9651d3170d311fd07fd6dda6e4e51e18fd2b44",
"implementations": [
"eth:0xde3624dA8d9c45B57674cA0AcAC40630682211bb"
]
}
],
"description": "FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results.\n* Roles:\n * **lOwner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD82385dADa1ae3E969447f20A3164F6213100e75#code"
},
{
"name": "ConfidentialWETHWrapper",
"isVerified": true,
"address": "eth:0xda9396b82634Ea99243cE51258B6A5Ae512D4893",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750843,
"transactionHash": "0xf1d8c691a4db0974cbfb6d5e638ae9204d19a1733b65e6e41e934d9acf50e921",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xda9396b82634Ea99243cE51258B6A5Ae512D4893#code"
},
{
"name": "ConfidentialUSDCWrapper",
"isVerified": true,
"address": "eth:0xe978F22157048E5DB8E5d07971376e86671672B2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750819,
"transactionHash": "0xc4795dcb1554d8e2dd718bca62c2107f346954973072ad781bab27147f6a1664",
"implementations": [
"eth:0x0309b4308A6AC121B9b3A960aC7Bc9bd8256cf38"
]
},
{
"timestamp": 1778571743,
"transactionHash": "0x5a09940b75c7fb272ce47bef53ac0282740b3278b3c0ce520240f10c90018f32",
"implementations": [
"eth:0xFF9e1Db30031Cb2B1b82E138beC70d7DE70d8413"
]
},
{
"timestamp": 1780321931,
"transactionHash": "0x468f9a1433f795da68b88d6adb33f7180e86937d3f3437ec001173c52e7f35f4",
"implementations": [
"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5"
]
}
],
"description": "ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe978F22157048E5DB8E5d07971376e86671672B2#code"
},
{
"name": "ConfidentialTokenWrappersRegistry",
"isVerified": true,
"address": "eth:0xeb5015fF021DB115aCe010f23F55C2591059bBA0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0xA989D32d7348e0Da8145C6282E839dfC4DB8954f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1766750315,
"transactionHash": "0x01110836e21dfbb28a25ebf7be8dd6e95b7f09ef006c10f4a108a60ec5cf0f69",
"implementations": [
"eth:0xA989D32d7348e0Da8145C6282E839dfC4DB8954f"
]
}
],
"description": "Registry for Zama confidential token wrappers.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **owner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb5015fF021DB115aCe010f23F55C2591059bBA0#code"
},
{
"name": "DAO",
"isVerified": true,
"address": "eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x58C1F7Bc62Bb63fb137bc8F6d8ea6321a0501d29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763037479,
"transactionHash": "0x98aff8abc8828132c15a9aa5d510766bc3358cb3a7ca98636306e94b0debefc1",
"implementations": [
"eth:0x58C1F7Bc62Bb63fb137bc8F6d8ea6321a0501d29"
]
}
],
"description": "Aragon DAO that stores governance state and executes proposal action batches.\n* Roles:\n * **daoExecutors**: ZamaGovMultisigA, ZamaGovMultisigB\n * **daoRootHolders**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **daoUpgraders**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **multisigSettingsAdmins**: DAO, ZamaGovMultisigA, ZamaGovMultisigB; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **multisigTargetConfigAdmins**: DAO, ZamaGovMultisigA, ZamaGovMultisigB; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3#code"
},
{
"name": "PauserSet",
"isVerified": true,
"address": "eth:0xbBfE1680b4a63ED05f7F80CE330BED7C992A586C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maintains the pauser account set used in pause-control checks.\n* Roles:\n * **lOwner**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **pausers**: EOA 45, EOA 46, EOA 47, EOA 48, Safe; ultimately EOA 44, EOA 49",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbBfE1680b4a63ED05f7F80CE330BED7C992A586C#code"
},
{
"name": "Staking (Coprocessor)",
"isVerified": true,
"address": "eth:0x7147485b892158f2B875f7aC5Ea48A9937C66AE8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0xeaBD906bE5E72F1a7949c8DC5E7Fb047Db7E7EAE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768300679,
"transactionHash": "0x7d7fb37c635bb8e63cebe6d76e8b5e26a0f08cc4630f792b782d6a19f81a2cf2",
"implementations": [
"eth:0xeaBD906bE5E72F1a7949c8DC5E7Fb047Db7E7EAE"
]
}
],
"description": "Staking contract that escrows ZAMA, issues non-transferable staked voting tokens, and mints protocol rewards to eligible stakers at a configurable reward rate.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **defaultAdmin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **managerRoleMembers**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7147485b892158f2B875f7aC5Ea48A9937C66AE8#code"
},
{
"name": "Staking (KMS)",
"isVerified": true,
"address": "eth:0xe9b176CCaA8840DC3b3567bb83e2cD2a6c36F4Ab",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3"
],
"implementations": [
"eth:0xeaBD906bE5E72F1a7949c8DC5E7Fb047Db7E7EAE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768300691,
"transactionHash": "0x049b7dbbe648f4de55b54b2950fadbb205342e8c99b3a9bf73333c8075033be3",
"implementations": [
"eth:0xeaBD906bE5E72F1a7949c8DC5E7Fb047Db7E7EAE"
]
}
],
"description": "Staking contract that escrows ZAMA, issues non-transferable staked voting tokens, and mints protocol rewards to eligible stakers at a configurable reward rate.\n* Roles:\n * **admin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **defaultAdmin**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB\n * **managerRoleMembers**: DAO; ultimately ZamaGovMultisigA, ZamaGovMultisigB",
"upgradableBy": [
{
"name": "ZamaGovMultisigB",
"delay": "no"
},
{
"name": "ZamaGovMultisigA",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe9b176CCaA8840DC3b3567bb83e2cD2a6c36F4Ab#code"
}
],
"zama": [
{
"name": "MultichainACL",
"isVerified": true,
"address": "zama:0x055d9FD50a612A9027716ec8db663E7D68562468",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0x9B5bc299FC3C7AEFb6a215C1c156D5854B53b262"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504840,
"transactionHash": "0x9c8e29cac9aa9f2d93f9b00f8814d25c86565a296a7193be70ca554a4273d845",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1763504923,
"transactionHash": "0x163e2453c6431119ace5b38c524f4e47892e7661bf0e08319785032654a31c05",
"implementations": [
"zama:0x55F101e2D2331119ceCD136A9f0E89643A163bB8"
]
},
{
"timestamp": 1765291728,
"transactionHash": "0x68ea8a8347f0b22ac7ddba487f9baeb69eeb393cb4aca98e86fed97a91a80cfa",
"implementations": [
"zama:0x9B5bc299FC3C7AEFb6a215C1c156D5854B53b262"
]
}
],
"description": "Gateway-side ACL mirror that records coprocessor consensus for host-chain public decryption permissions, account handle allowances, and delegated user-decryption access. For Ethereum, it mirrors ACL events emitted by the L1 ACL contract registered in GatewayConfig.\n* Roles:\n * **admin**: EOA 1\n * **gatewayCoprocessorTxSenders**: EOA 2\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0x055d9FD50a612A9027716ec8db663E7D68562468#code"
},
{
"name": "Decryption",
"isVerified": true,
"address": "zama:0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0xe691cE3d7a71E2eC9E96AF5bdD263FfEB124F8dE"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504841,
"transactionHash": "0x967e084e69cce0203af66ac59ebea6c1433877322f9c8a01da30b5fbf1ba5cb0",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1763504924,
"transactionHash": "0xb69c7b64e7ed4ccacf621edd25059e062d63cdebd71a8a2f1dcc4fbe7dd0b6f4",
"implementations": [
"zama:0x99c454f6c59b66C5B39D85DEA99565A78e597b7c"
]
},
{
"timestamp": 1765291178,
"transactionHash": "0x0dd6bc720fd0c2158c1720e26292d3df770b9ba6613ebcce2c292bfbcc1eff08",
"implementations": [
"zama:0xe691cE3d7a71E2eC9E96AF5bdD263FfEB124F8dE"
]
}
],
"description": "Gateway contract that orchestrates public and user decryption requests, checks mirrored host-chain ACL state, collects KMS responses, and emits results once the configured KMS threshold is reached. Ethereum KMSVerifier verifies public decryption results against this contract's EIP-712 domain.\n* Roles:\n * **admin**: EOA 1\n * **gatewayKmsSigners**: EOA 10, EOA 11, EOA 14, EOA 15, EOA 16, EOA 17, EOA 19, EOA 22, EOA 25, EOA 26, EOA 27, EOA 4, EOA 9\n * **gatewayKmsTxSenders**: EOA 12, EOA 13, EOA 18, EOA 20, EOA 21, EOA 23, EOA 24, EOA 28, EOA 3, EOA 5, EOA 6, EOA 7, EOA 8\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24#code"
},
{
"name": "KMSGeneration",
"isVerified": true,
"address": "zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0x3d345DFc156381E6060Cdf652cDf7f92DF94fAFF"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504841,
"transactionHash": "0xf3172c87f8513e0f7215aaf0e61496e4fbf4e44c40f51562db8f48794771bd5f",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1763504920,
"transactionHash": "0xc25eaf0d69185160935a98ef009505fbeb16e04a46d7307abeccc1e06e3105be",
"implementations": [
"zama:0x24Aa237cE5FfD591059Bbd78014F8540cC4864a7"
]
},
{
"timestamp": 1765291450,
"transactionHash": "0xf37c1f04d35127d17f35fda57e53b68bc8063c1d3b08a05bdbbfec12eb7e447d",
"implementations": [
"zama:0x3d345DFc156381E6060Cdf652cDf7f92DF94fAFF"
]
}
],
"description": "Gateway contract that orchestrates FHE key generation, CRS generation, PRSS initialization, and key resharing through threshold KMS responses.\n* Roles:\n * **admin**: EOA 1\n * **gatewayKmsSigners**: EOA 10, EOA 11, EOA 14, EOA 15, EOA 16, EOA 17, EOA 19, EOA 22, EOA 25, EOA 26, EOA 27, EOA 4, EOA 9\n * **gatewayKmsTxSenders**: EOA 12, EOA 13, EOA 18, EOA 20, EOA 21, EOA 23, EOA 24, EOA 28, EOA 3, EOA 5, EOA 6, EOA 7, EOA 8\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3#code"
},
{
"name": "ProtocolPayment",
"isVerified": true,
"address": "zama:0x7E179E45E5fe0a21015Be25185363B4F2F2F7e89",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0xEbaC23dc56b1339558cdbdf7dEf245c80d727075"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1765289750,
"transactionHash": "0xb922a7b5126ca4dff4364743c33110d5219d7f2978a815e20a72d6f0068a88bf",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1765289833,
"transactionHash": "0xf7acc60460f2adce48c4a1e3f7d630d9612d18008188ec4b95ebdfa2419cc792",
"implementations": [
"zama:0xEbaC23dc56b1339558cdbdf7dEf245c80d727075"
]
}
],
"description": "Gateway fee contract that charges ZAMA fees for encrypted input verification, public decryption, and user decryption requests, then forwards the collected fees to the configured fee burner sender.\n* Roles:\n * **admin**: EOA 1\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0x7E179E45E5fe0a21015Be25185363B4F2F2F7e89#code"
},
{
"name": "InputVerification",
"isVerified": true,
"address": "zama:0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0xA08c4367eB984945da2dad5BF7d94D1B2863197A"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504842,
"transactionHash": "0x880800809b7723cf723efc897cdeb0f9a560530317f1281a61601851f1ef0449",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1763504919,
"transactionHash": "0x8d530fcff93bb112195829d27e90eedf65f122f4262b809a5d57fbd9fcc1ea19",
"implementations": [
"zama:0x7bfF0c5aEF31a8AB7116594A492cBEe9a829fF74"
]
},
{
"timestamp": 1765291315,
"transactionHash": "0x1be878372ad005809903c742e7c3ea908bfcaa1f1e63ebac2eeb0834d499fcc7",
"implementations": [
"zama:0xA08c4367eB984945da2dad5BF7d94D1B2863197A"
]
}
],
"description": "Gateway contract that receives encrypted input verification requests from registered host chains, collects coprocessor responses, and emits a threshold-signed attestation once coprocessor consensus is reached. Ethereum InputVerifier verifies attestations against this contract's EIP-712 domain.\n* Roles:\n * **admin**: EOA 1\n * **gatewayCoprocessorSigners**: EOA 2\n * **gatewayCoprocessorTxSenders**: EOA 2\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287#code"
},
{
"name": "CiphertextCommits",
"isVerified": true,
"address": "zama:0xd82cF70FC102028cd01acB87D0E107780ae4F41F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x0000000000000000000000000000000000000000"
],
"implementations": [
"zama:0xC92f2dc7eF79728ed32e745020EF463270217e78"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504840,
"transactionHash": "0xd9fa2324e7460bb03aab530a0aa72d0d9bd6e029b6dc4cba601584558184a475",
"implementations": [
"zama:0x74adf0e5324Ba67d51872c27A025f1eEC0DaA500"
]
},
{
"timestamp": 1763504922,
"transactionHash": "0x23f1f4743b50b67226581c9755326253e470e0784661f65766f8a02f8db6e770",
"implementations": [
"zama:0xd550654F0cD1B56e1C887569A5F7b5e643Fd3e47"
]
},
{
"timestamp": 1765291041,
"transactionHash": "0x36d9d960dd681eff0022eac04f63b06c514b54296f7c248ea6041b785ef59977",
"implementations": [
"zama:0xC92f2dc7eF79728ed32e745020EF463270217e78"
]
}
],
"description": "Gateway contract that stores ciphertext and SNS ciphertext digests after coprocessor consensus, allowing decryption requests to reference committed ciphertext material.\n* Roles:\n * **admin**: EOA 1\n * **gatewayCoprocessorTxSenders**: EOA 2\n * **gatewayOwner**: SafeL2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0xd82cF70FC102028cd01acB87D0E107780ae4F41F#code"
},
{
"name": "GatewayConfig",
"isVerified": true,
"address": "zama:0xDE537Be194777A56f8B19d14079E6a78249390ab",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE"
],
"implementations": [
"zama:0xDa97dfc327349F7C1333610C80cc20971eD0eb0f"
]
},
"chain": "zama",
"pastUpgrades": [
{
"timestamp": 1763504825,
"transactionHash": "0x716ebd474f8714fb9e32f2eec6bb28083e1fe7e0185494fab8ce0ca70a26339e",
"implementations": [
"zama:0xf0EfBe52c0a3B07718D5eEFfb9FCa9E442988BeF"
]
},
{
"timestamp": 1763504917,
"transactionHash": "0x30ac1d1808d4dfbad21cad05b50d62b861cf578cd97b43693488ad269287f608",
"implementations": [
"zama:0x96C188a54E880Fe86741b8ef19C429234b72A9Af"
]
},
{
"timestamp": 1765291588,
"transactionHash": "0xd05685ebd7a7a76a93963ade6cabe69887f3e0f2160eb1a122abc9eb347550f5",
"implementations": [
"zama:0xDa97dfc327349F7C1333610C80cc20971eD0eb0f"
]
}
],
"description": "Central configuration contract for the Zama Gateway. It stores the KMS, coprocessor, custodian, host-chain, pauser, and consensus-threshold configuration used by the gateway workflow contracts.\n* Roles:\n * **admin**: SafeL2\n * **getCoprocessorSigners**: EOA 2\n * **getCoprocessorTxSenders**: EOA 2\n * **getCustodianSigners**: EOA 29\n * **getCustodianTxSenders**: EOA 29\n * **getKmsSigners**: EOA 10, EOA 11, EOA 14, EOA 15, EOA 16, EOA 17, EOA 19, EOA 22, EOA 25, EOA 26, EOA 27, EOA 4, EOA 9\n * **getKmsTxSenders**: EOA 12, EOA 13, EOA 18, EOA 20, EOA 21, EOA 23, EOA 24, EOA 28, EOA 3, EOA 5, EOA 6, EOA 7, EOA 8\n * **owner**: SafeL2\n * **pendingOwner**: EOA 1",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0xDE537Be194777A56f8B19d14079E6a78249390ab#code"
},
{
"name": "GatewayPauserSet",
"isVerified": true,
"address": "zama:0x571ecb596fCc5c840DA35CbeCA175580db50ac1b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zama",
"description": "Maintains the set of accounts allowed to pause gateway contracts. The set is managed by the GatewayConfig owner.\n* Roles:\n * **gatewayOwner**: SafeL2\n * **pausers**: EOA 50, EOA 51, EOA 52, EOA 53",
"discoveryDrivenData": true,
"url": "https://explorer.mainnet.zama.org/address/0x571ecb596fCc5c840DA35CbeCA175580db50ac1b#code"
}
]
},
"risks": []
}
+7 -0
{
"baseTimestamp": 1782746392,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+1 -0
null
+1 -0
null