fd631e84 (main)
and
c8d10ecc (PR)
+1 -1
+1 -1
{
"clusteredEventCount": 19,
"contracts": [
{
"name": "SecurityCouncilNomineeElectionGovernor",
"address": "arb1:0x8a1cDA8dee421cD06023470608605934c16A05a0",
"isVerified": true,
"ossifyingSince": 1788209529,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "SecurityCouncilManager",
"address": "arb1:0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC",
"isVerified": true,
"ossifyingSince": 1788209529,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "RollupProxy",
"address": "eth:0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0",
"isVerified": true,
"ossifyingSince": 1787092955,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "Inbox",
"address": "eth:0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f",
"isVerified": true,
"ossifyingSince": 1781518127,
"codeChangeCount": 12,
"stateChangeCount": 0
},
{
"name": "Bridge",
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"isVerified": true,
"ossifyingSince": 1779645011,
"codeChangeCount": 3,
"stateChangeCount": 1
},
{
"name": "L2ArbitrumToken",
"address": "arb1:0x912CE59144191C1204E64559FE8253a0e49E6548",
"isVerified": true,
"ossifyingSince": 1774870191,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "CoreGovernor",
"address": "arb1:0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9",
"isVerified": true,
"ossifyingSince": 1774870191,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "L2UpgradeExecutor",
"address": "arb1:0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827",
"isVerified": true,
"ossifyingSince": 1758645131,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "UpgradeExecutor",
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"isVerified": true,
"ossifyingSince": 1758644207,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "Outbox",
"address": "eth:0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "SequencerInbox",
"address": "eth:0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "RollupEventInbox",
"address": "eth:0x57Bd336d579A51938619271a7Cc137a46D0501B1",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "EdgeChallengeManager",
"address": "eth:0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProofEntry",
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"isVerified": true,
"ossifyingSince": 1734397931,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverHostIo",
"address": "eth:0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf",
"isVerified": true,
"ossifyingSince": 1734397775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverMath",
"address": "eth:0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921",
"isVerified": true,
"ossifyingSince": 1734397631,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverMemory",
"address": "eth:0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b",
"isVerified": true,
"ossifyingSince": 1734397511,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProver0",
"address": "eth:0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731",
"isVerified": true,
"ossifyingSince": 1734397379,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2Timelock",
"address": "arb1:0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0",
"isVerified": true,
"ossifyingSince": 1729843702,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SecurityCouncilMemberElectionGovernor",
"address": "arb1:0x467923B9AE90BDB36BA88eCA11604D45F13b712C",
"isVerified": true,
"ossifyingSince": 1719023040,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1Timelock",
"address": "eth:0xE6841D92B0C345144506576eC13ECf5103aC7f49",
"isVerified": true,
"ossifyingSince": 1695256619,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SecurityCouncilMemberRemovalGovernor",
"address": "arb1:0x6f3a242cA91A119F872f0073BC14BC8a74a315Ad",
"isVerified": true,
"ossifyingSince": 1692138965,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeExecRouteBuilder",
"address": "arb1:0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a",
"isVerified": true,
"ossifyingSince": 1692138965,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecurityCouncilMemberSyncAction",
"address": "arb1:0x9BF7b8884Fa381a45f8CB2525905fb36C996297a",
"isVerified": true,
"ossifyingSince": 1692138730,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2GatewaysProxyAdmin",
"address": "arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86",
"isVerified": true,
"ossifyingSince": 1679004671,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "UpgradeableBeacon",
"address": "arb1:0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333",
"isVerified": true,
"ossifyingSince": 1679004671,
"codeChangeCount": 2,
"stateChangeCount": 3
},
{
"name": "ArbitrumProxyAdmin",
"address": "eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD",
"isVerified": true,
"ossifyingSince": 1679004215,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "GatewaysAdmin",
"address": "eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa",
"isVerified": true,
"ossifyingSince": 1679004155,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L2ARBGateway",
"address": "arb1:0xCaD7828a19b363A2B44717AFB1786B5196974D8E",
"isVerified": true,
"ossifyingSince": 1678968435,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1ARBGateway",
"address": "eth:0xbbcE8aA77782F13D4202a230d978F361B011dB27",
"isVerified": true,
"ossifyingSince": 1678968431,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "arb1:0xdb216562328215E010F819B5aBe947bad4ca961e",
"isVerified": true,
"ossifyingSince": 1678968400,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeExecutorAdmin",
"address": "eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678",
"isVerified": true,
"ossifyingSince": 1678968395,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2WethGateway",
"address": "arb1:0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B",
"isVerified": true,
"ossifyingSince": 1675999253,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "L1WethGateway",
"address": "eth:0xd92023E9d9911199a6711321D1277285e6d4e2db",
"isVerified": true,
"ossifyingSince": 1675998023,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "GatewayRouter",
"address": "eth:0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef",
"isVerified": true,
"ossifyingSince": 1667926079,
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "OutboxV0",
"address": "eth:0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a",
"isVerified": true,
"ossifyingSince": 1661532655,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "OutboxV1",
"address": "eth:0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40",
"isVerified": true,
"ossifyingSince": 1661532655,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ERC20Gateway",
"address": "arb1:0x09e9222E96E7B4AE2a407B98d48e330053351EEe",
"isVerified": true,
"ossifyingSince": 1659980035,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "arb1:0x5288c571Fd7aD117beA99bF60FE0846C4E84F933",
"isVerified": true,
"ossifyingSince": 1659980035,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "L1ERC20Gateway",
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"isVerified": true,
"ossifyingSince": 1659978124,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "StandardArbERC20",
"address": "arb1:0x3f770Ac673856F105b586bb393d122721265aD46",
"isVerified": true,
"ossifyingSince": 1634920833,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "eth:0x14797f5432f699Cb4d4dB04DF599B74952d78d7b",
"isVerified": true,
"ossifyingSince": 1630187882,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OutboxEntry",
"address": "eth:0xc4940069140142236D4065b866018f7b2BeC77fD",
"isVerified": true,
"ossifyingSince": 1630185130,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BeaconProxyFactory",
"address": "arb1:0x3fE38087A94903A9D946fa1915e1772fe611000f",
"isVerified": true,
"ossifyingSince": 1623784070,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2WETH",
"address": "arb1:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
"isVerified": true,
"ossifyingSince": 1622346702,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 6.333333333333333,
"criticalUpdates": [
{
"id": "5edc278c",
"type": "state"
},
{
"id": "7ec2eb8d",
"type": "state"
},
{
"id": "3b2790a0",
"type": "state"
},
{
"id": "46bcbfff",
"type": "state"
},
{
"id": "4baf4688",
"type": "state"
},
{
"id": "ca7c961e",
"type": "state"
},
{
"id": "58ac24d1",
"type": "state"
},
{
"id": "fff87cf5",
"type": "state"
},
{
"id": "b0f8c079",
"type": "state"
},
{
"id": "4fa46c34",
"type": "state"
}
],
"lastCriticalChange": 1788209529,
"maturity": 0.47387838269652943,
"maturity": 0.4738797660003292,
"perimeterResets": [
1622243344,
1622346702,
1623784062,
1624716065,
1624913237,
1625161764,
1627684791,
1629993939,
1630185130,
1630287808,
1630440192,
1631675264,
1631908333,
1634222162,
1634920833,
1639177425,
1646670130,
1651333828,
1659978124,
1661457944,
1661913086,
1663124880,
1667926079,
1668791063,
1671119939,
1675998023,
1678968395,
1692138730,
1694993963,
1695256619,
1706212139,
1709903420,
1710423719,
1719023040,
1720582885,
1724809031,
1727230595,
1729843702,
1734397379,
1739368811,
1750200983,
1753193843,
1758644207,
1767622835,
1774870191,
1776742007,
1779645011,
1781518127,
1787092955,
1788209529
],
"projectClockStart": 1788209529,
"score": 47,
"windowSeconds": 94608000
}
+1 -1
+1 -1
{
"clusteredEventCount": 20,
"contracts": [
{
"name": "DisputeGameFactory",
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"isVerified": true,
"ossifyingSince": 1785176507,
"codeChangeCount": 5,
"stateChangeCount": 13
},
{
"name": "SP1VerifierGateway",
"address": "eth:0xdc32E228636273285Befa5F001dBB5142517C106",
"isVerified": true,
"ossifyingSince": 1785176507,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AggregateVerifier",
"address": "eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2",
"isVerified": true,
"ossifyingSince": 1784748491,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TEEProverRegistry",
"address": "eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA",
"isVerified": true,
"ossifyingSince": 1782229799,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkVerifier",
"address": "eth:0xB88D95bDf6972508942d184866890c1834219B75",
"isVerified": true,
"ossifyingSince": 1780357679,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"isVerified": true,
"ossifyingSince": 1779825599,
"codeChangeCount": 8,
"stateChangeCount": 3
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"isVerified": true,
"ossifyingSince": 1779825599,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "TEEVerifier",
"address": "eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228",
"isVerified": true,
"ossifyingSince": 1779394835,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71",
"isVerified": true,
"ossifyingSince": 1779394835,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "NitroEnclaveVerifier",
"address": "eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb",
"isVerified": true,
"ossifyingSince": 1779394727,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"isVerified": true,
"ossifyingSince": 1772559431,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L1StandardBridge",
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 5,
"stateChangeCount": 3
},
{
"name": "DelayedWETH",
"address": "eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SystemConfig",
"address": "eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 11,
"stateChangeCount": 3
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 6,
"stateChangeCount": 3
},
{
"name": "SuperchainConfig",
"address": "eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c",
"isVerified": true,
"ossifyingSince": 1771973279,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec",
"isVerified": true,
"ossifyingSince": 1759862579,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"isVerified": true,
"ossifyingSince": 1756842755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroSetVerifier",
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"isVerified": true,
"ossifyingSince": 1756842743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"isVerified": true,
"ossifyingSince": 1755283787,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"isVerified": true,
"ossifyingSince": 1755283775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"isVerified": true,
"ossifyingSince": 1751494343,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"isVerified": true,
"ossifyingSince": 1751494331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "HistoryStorage",
"address": "eth:0x0000F90827F1C53a10cb7A02335B175320002935",
"isVerified": true,
"ossifyingSince": 1739979839,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierRouter",
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"isVerified": true,
"ossifyingSince": 1718237375,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"isVerified": true,
"ossifyingSince": 1718237363,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2",
"isVerified": true,
"ossifyingSince": 1686793895,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "base:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "base:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "base:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "base:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 6.666666666666667,
"criticalUpdates": [
{
"id": "649003b6",
"type": "code"
},
{
"id": "05eaffb6",
"type": "state"
},
{
"id": "f8cdcaf7",
"type": "code"
},
{
"id": "9f17fcf4",
"type": "code"
},
{
"id": "a8dda342",
"type": "state"
},
{
"id": "be870638",
"type": "code"
},
{
"id": "3e186ad9",
"type": "code"
},
{
"id": "77392bfd",
"type": "state"
},
{
"id": "91b4eeeb",
"type": "state"
},
{
"id": "d1275fe3",
"type": "state"
},
{
"id": "b1cb7b1f",
"type": "state"
},
{
"id": "310f6e25",
"type": "state"
}
],
"lastCriticalChange": 1785176507,
"maturity": 0.58416815261271,
"maturity": 0.584168287087465,
"perimeterResets": [
1686789349,
1718237363,
1719592367,
1728308027,
1730302883,
1733958059,
1736355959,
1738700927,
1739979839,
1740762647,
1744214879,
1745512871,
1745938967,
1746643607,
1750797287,
1751494331,
1755283775,
1756842743,
1759862579,
1762212215,
1764604703,
1766424179,
1770742199,
1771973279,
1772558891,
1776172415,
1779394727,
1779825599,
1780160147,
1780357499,
1780473821,
1782229799,
1782377394,
1784748491,
1785176507
],
"projectClockStart": 1785176507,
"score": 58,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 22,
"contracts": [
{
"name": "L1StandardBridge",
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"isVerified": true,
"ossifyingSince": 1789547003,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"isVerified": true,
"ossifyingSince": 1777988075,
"codeChangeCount": 2,
"stateChangeCount": 20
},
{
"name": "OptimismPortal2",
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"isVerified": true,
"ossifyingSince": 1773311975,
"codeChangeCount": 5,
"stateChangeCount": 1
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c",
"isVerified": true,
"ossifyingSince": 1773311975,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c",
"isVerified": true,
"ossifyingSince": 1752682883,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0",
"isVerified": true,
"ossifyingSince": 1742468147,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xF2dc77c697e892542cC53336178a78Bb313DFDC7",
"isVerified": true,
"ossifyingSince": 1712862023,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 8.895658112299067,
"criticalChangesPerYear": 8.895657427949345,
"criticalUpdates": [
{
"id": "2f577ebe",
"type": "code"
},
{
"id": "7493af41",
"type": "state"
},
{
"id": "5d7229ab",
"type": "state"
},
{
"id": "983d5bd1",
"type": "state"
},
{
"id": "d25db477",
"type": "state"
},
{
"id": "c1f6733c",
"type": "state"
},
{
"id": "7742af1a",
"type": "state"
},
{
"id": "0af4c649",
"type": "state"
},
{
"id": "9a3232bd",
"type": "code"
},
{
"id": "fa1c0e70",
"type": "state"
},
{
"id": "d3b597f3",
"type": "state"
},
{
"id": "c0a5cd9a",
"type": "state"
},
{
"id": "6e0a0f51",
"type": "state"
}
],
"lastCriticalChange": 1789547003,
"maturity": 0.368769506233616,
"maturity": 0.36876998050127563,
"perimeterResets": [
1712862023,
1718237363,
1740762647,
1741870439,
1742468147,
1751494331,
1752682883,
1753214303,
1753361039,
1755283775,
1755555779,
1756823843,
1757106887,
1762212215,
1762813583,
1764685823,
1764861527,
1768920023,
1769450699,
1772045687,
1772624639,
1773311975,
1777898303,
1777988075,
1778580971,
1779312767,
1783496147,
1789547003
],
"projectClockStart": 1789547003,
"score": 37,
"windowSeconds": 77992206
"windowSeconds": 77992212
}
+2 -2
+2 -2
{
"clusteredEventCount": 16,
"contracts": [
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683",
"isVerified": true,
"ossifyingSince": 1779804539,
"codeChangeCount": 4,
"stateChangeCount": 11
},
{
"name": "OPSuccinctFaultDisputeGame",
"address": "eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF",
"isVerified": true,
"ossifyingSince": 1779117911,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "AccessManager",
"address": "eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816",
"isVerified": true,
"ossifyingSince": 1776249827,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 1
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "CeloSuperchainConfig",
"address": "eth:0x25035d2233d099f0BA710ca1e5a3834842870C66",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1753380539,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Celo native asset Token",
"address": "eth:0x057898f3C43F129a17517B9056D23851F124b19f",
"isVerified": true,
"ossifyingSince": 1741879583,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x55093104b76FAA602F9d6c35A5FFF576bE78d753",
"isVerified": true,
"ossifyingSince": 1741879547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x783A434532Ee94667979213af1711505E8bFE374",
"isVerified": true,
"ossifyingSince": 1741879547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "celo:0x4200000000000000000000000000000000000007",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "celo:0x4200000000000000000000000000000000000010",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "celo:0x4200000000000000000000000000000000000016",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "celo:0x4200000000000000000000000000000000000018",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 10.535360845755356,
"criticalChangesPerYear": 10.535359525908822,
"criticalUpdates": [
{
"id": "a6b1d9a2",
"type": "code"
},
{
"id": "4c71daa7",
"type": "state"
},
{
"id": "953d9862",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "616cc8c8",
"type": "code"
},
{
"id": "4e1af81f",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "49f509dc",
"type": "state"
}
],
"lastCriticalChange": 1782428747,
"maturity": 0,
"perimeterResets": [
1587571205,
1685377355,
1705954799,
1717149791,
1720099223,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1740762647,
1741879547,
1742960075,
1743612623,
1748550023,
1748963099,
1750785371,
1751883851,
1753378247,
1762212215,
1764092795,
1764596735,
1764689339,
1765362083,
1769109083,
1770648059,
1771084331,
1771445567,
1774940723,
1776164147,
1776370439,
1777372319,
1779117911,
1779804539,
1782428747
],
"projectClockStart": 1782428747,
"score": 0,
"windowSeconds": 47893566
"windowSeconds": 47893572
}
+3 -3
+3 -3
{
"clusteredEventCount": 13,
"contracts": [
{
"name": "SystemConfig",
"address": "eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364",
"isVerified": true,
"ossifyingSince": 1787692559,
"codeChangeCount": 7,
"stateChangeCount": 2
},
{
"name": "L2CrossDomainMessenger",
"address": "ink:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "ink:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "ink:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "ink:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 10
},
{
"name": "DelayedWETH",
"address": "eth:0x57b4C29DAee99a28E6E86778b499361294c134eA",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 7,
"stateChangeCount": 1
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 1
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "ETHLockbox",
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 3,
"stateChangeCount": 1
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153",
"isVerified": true,
"ossifyingSince": 1733498411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xd56045E68956FCe2576E680c95a4750cf8241f79",
"isVerified": true,
"ossifyingSince": 1733498411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 7.147801466278452,
"criticalChangesPerYear": 7.147800718546036,
"criticalUpdates": [
{
"id": "ac066efb",
"type": "code"
},
{
"id": "304f8558",
"type": "code"
},
{
"id": "8f19a735",
"type": "code"
},
{
"id": "4e925686",
"type": "code"
},
{
"id": "dd4421dc",
"type": "code"
},
{
"id": "9ce267d2",
"type": "code"
},
{
"id": "8341db46",
"type": "code"
},
{
"id": "f3a8ed9c",
"type": "state"
},
{
"id": "3faa3c28",
"type": "state"
}
],
"lastCriticalChange": 1787692559,
"maturity": 0.4996190941186439,
"maturity": 0.49961921003644105,
"perimeterResets": [
1685377355,
1705954799,
1717149791,
1733498411,
1736803367,
1742243783,
1743612623,
1743759689,
1745511383,
1746628403,
1748963099,
1753378247,
1759422923,
1764092795,
1764329741,
1764596735,
1770667859,
1770912803,
1778190599,
1782428747,
1783526401,
1784545691,
1787692559
],
"projectClockStart": 1787692559,
"score": 50,
"windowSeconds": 57355818
"windowSeconds": 57355824
}
+3 -3
+3 -3
{
"clusteredEventCount": 30,
"contracts": [
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xaA8a62563CFe4E36118ED479B5486F503b438376",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 1,
"stateChangeCount": 5
},
{
"name": "AggchainFEP",
"address": "eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666",
"isVerified": true,
"ossifyingSince": 1787568047,
"codeChangeCount": 1,
"stateChangeCount": 16
},
{
"name": "AgglayerGateway",
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"isVerified": true,
"ossifyingSince": 1781516999,
"codeChangeCount": 1,
"stateChangeCount": 5
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2Timelock",
"address": "katana:0xBBa0935Fa93Eb23de7990b47F0D96a8f75766d13",
"isVerified": true,
"ossifyingSince": 1773388166,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AgglayerBridgeL2",
"address": "katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"isVerified": true,
"ossifyingSince": 1772560429,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "BridgeLib",
"address": "katana:0xb30C032b183525de7427f04e79F45Cd19866E124",
"isVerified": true,
"ossifyingSince": 1772018458,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TokenWrappedBridgeUpgradeable",
"address": "katana:0xF0777a825470092b3Debc9af291634460b8E1a2c",
"isVerified": true,
"ossifyingSince": 1772018458,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832",
"isVerified": true,
"ossifyingSince": 1769765279,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "ProxyAdmin",
"address": "eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52",
"isVerified": true,
"ossifyingSince": 1769765279,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "AgglayerBridge",
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "AgglayerManager",
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "AgglayerGER",
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "BridgeLib",
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"isVerified": true,
"ossifyingSince": 1759503191,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "GlobalExitRootManagerL2SovereignChain",
"address": "katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA",
"isVerified": true,
"ossifyingSince": 1747840689,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ProxyAdmin",
"address": "katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "katana:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "katana:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65",
"isVerified": true,
"ossifyingSince": 1746742811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Timelock",
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"isVerified": true,
"ossifyingSince": 1738676704,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SharedProxyAdmin",
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"isVerified": true,
"ossifyingSince": 1679653103,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 21.447508216580115,
"criticalChangesPerYear": 21.447505299307497,
"criticalUpdates": [
{
"id": "41b0c8bb",
"type": "state"
},
{
"id": "627293ca",
"type": "code"
},
{
"id": "f0f02b3e",
"type": "state"
},
{
"id": "506434ca",
"type": "state"
},
{
"id": "cf34a84f",
"type": "state"
},
{
"id": "64df4461",
"type": "state"
},
{
"id": "e17f828d",
"type": "state"
},
{
"id": "5ff094a2",
"type": "state"
},
{
"id": "2760d96c",
"type": "state"
},
{
"id": "092d0a96",
"type": "state"
},
{
"id": "5c066b30",
"type": "state"
},
{
"id": "b182e3dc",
"type": "state"
},
{
"id": "5dab537d",
"type": "state"
},
{
"id": "a0780ac7",
"type": "code"
},
{
"id": "d3280720",
"type": "state"
},
{
"id": "5acfd848",
"type": "state"
},
{
"id": "08710e37",
"type": "state"
},
{
"id": "ad8059d1",
"type": "state"
},
{
"id": "8b099c72",
"type": "state"
},
{
"id": "870b374c",
"type": "state"
},
{
"id": "c93bf0f0",
"type": "state"
},
{
"id": "d922a712",
"type": "state"
},
{
"id": "60da3e8b",
"type": "code"
}
],
"lastCriticalChange": 1788245483,
"maturity": 0.4702794571278376,
"maturity": 0.47027981925183976,
"perimeterResets": [
1679653103,
1746619859,
1746740171,
1747774642,
1748550023,
1750087643,
1750689983,
1750858139,
1751061868,
1751279627,
1753290299,
1753882523,
1759503191,
1761747071,
1763987450,
1765376687,
1768411847,
1769765279,
1770634007,
1770926771,
1771250987,
1771411343,
1772018458,
1772458852,
1772552963,
1772715731,
1773388166,
1773662783,
1776172415,
1776963143,
1778190599,
1779467495,
1781095928,
1781516999,
1781619767,
1784022011,
1787568047,
1788245483
],
"projectClockStart": 1788245483,
"score": 47,
"windowSeconds": 44111418
"windowSeconds": 44111424
}
+3 -3
+3 -3
{
"clusteredEventCount": 59,
"contracts": [
{
"name": "Lighter",
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 21,
"stateChangeCount": 0
},
{
"name": "UpgradeGatekeeper",
"address": "eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 0,
"stateChangeCount": 152
},
{
"name": "ZkLighterVerifier",
"address": "eth:0xac3Ce44B6ff4E402858C99D5699ff63131572BaA",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 64,
"stateChangeCount": 0
},
{
"name": "DesertVerifier",
"address": "eth:0x866418061d4C1168e1c8E8f6facE79675395E008",
"isVerified": true,
"ossifyingSince": 1784379467,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Governance",
"address": "eth:0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1",
"isVerified": true,
"ossifyingSince": 1737090335,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 34.607314715708654,
"criticalChangesPerYear": 34.60731085356531,
"criticalUpdates": [
{
"id": "5517b089",
"type": "code"
},
{
"id": "42d84a81",
"type": "code"
},
{
"id": "196b1d79",
"type": "code"
},
{
"id": "1e1f3162",
"type": "code"
},
{
"id": "9519397f",
"type": "code"
},
{
"id": "13a4c4d4",
"type": "code"
},
{
"id": "a3678747",
"type": "code"
},
{
"id": "ed521fe8",
"type": "code"
},
{
"id": "9e8022b3",
"type": "code"
},
{
"id": "42874125",
"type": "code"
},
{
"id": "65748edf",
"type": "code"
},
{
"id": "0aafdc95",
"type": "code"
},
{
"id": "83b66f4d",
"type": "code"
},
{
"id": "813318ec",
"type": "code"
},
{
"id": "5b795ab3",
"type": "code"
},
{
"id": "f0ac0634",
"type": "code"
},
{
"id": "121f63dd",
"type": "code"
},
{
"id": "4e9b56bc",
"type": "code"
},
{
"id": "dccd34b3",
"type": "code"
},
{
"id": "a5c2bdc7",
"type": "code"
},
{
"id": "22833684",
"type": "code"
},
{
"id": "3484e5da",
"type": "code"
},
{
"id": "3fce832b",
"type": "code"
},
{
"id": "6ca52fb0",
"type": "code"
},
{
"id": "2a4ae025",
"type": "code"
},
{
"id": "eb7b4d0f",
"type": "code"
},
{
"id": "319f3083",
"type": "code"
},
{
"id": "21a86659",
"type": "code"
},
{
"id": "f3073dbb",
"type": "code"
},
{
"id": "16a37b66",
"type": "code"
}
],
"lastCriticalChange": 1789910219,
"maturity": 0.33071278625805717,
"maturity": 0.33071321066105996,
"perimeterResets": [
1737090335,
1737264431,
1737623303,
1738733903,
1738978151,
1739428151,
1741186163,
1741647875,
1742943923,
1743039563,
1743280079,
1744136675,
1744553687,
1746131831,
1746235007,
1746578543,
1749280139,
1750721651,
1751596475,
1753750103,
1755635711,
1759348199,
1761490571,
1762084091,
1764849563,
1766621339,
1767568979,
1767804407,
1768172423,
1768911059,
1769658551,
1770944819,
1771294043,
1771624919,
1772980763,
1773229307,
1774601231,
1774792151,
1776007127,
1776661907,
1777044599,
1777828259,
1777990103,
1778504015,
1778794283,
1779033143,
1779895415,
1780154471,
1783873907,
1784379467,
1784807819,
1786291487,
1787364167,
1787489699,
1787661323,
1788204263,
1788899147,
1789296359,
1789909139
],
"projectClockStart": 1789910219,
"score": 33,
"windowSeconds": 53763894
"windowSeconds": 53763900
}
+1 -1
+1 -1
{
"clusteredEventCount": 32,
"contracts": [
{
"name": "LineaRollup",
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"isVerified": true,
"ossifyingSince": 1788510683,
"codeChangeCount": 4,
"stateChangeCount": 30
},
{
"name": "PlonkVerifierFull",
"address": "eth:0xAFF26999780901ee8B48f0a1271a177ff46fD53F",
"isVerified": true,
"ossifyingSince": 1788424391,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "YieldManager",
"address": "eth:0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94",
"isVerified": true,
"ossifyingSince": 1788253667,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "L2Timelock",
"address": "linea:0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca",
"isVerified": true,
"ossifyingSince": 1784199952,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "PlonkVerifierFull",
"address": "eth:0x09ac9f7E5Fb37e241e0B1e52aaF01eFE0a488a77",
"isVerified": true,
"ossifyingSince": 1783527107,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressFilter",
"address": "eth:0x526AE78F0103Ae73F05449ae30eb626C1003784E",
"isVerified": true,
"ossifyingSince": 1781777411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Timelock",
"address": "eth:0xd6B95c960779c72B8C6752119849318E5d550574",
"isVerified": true,
"ossifyingSince": 1777542575,
"codeChangeCount": 0,
"stateChangeCount": 6
},
{
"name": "L2MessageService",
"address": "linea:0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec",
"isVerified": true,
"ossifyingSince": 1777540107,
"codeChangeCount": 3,
"stateChangeCount": 8
},
{
"name": "TokenBridge",
"address": "linea:0x353012dc4a9A6cF55c941bADC267f82004A8ceB9",
"isVerified": true,
"ossifyingSince": 1774970935,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "TokenBridge",
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"isVerified": true,
"ossifyingSince": 1774970807,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "LidoStVaultYieldProvider",
"address": "eth:0x486D8cADc10489B30b64c890aEc747F1220eEEC3",
"isVerified": true,
"ossifyingSince": 1770742547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Delay",
"address": "eth:0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436",
"isVerified": true,
"ossifyingSince": 1753454807,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CallForwardingProxy",
"address": "eth:0x3697bD0bC6C050135b8321F989a5316eACbF367D",
"isVerified": true,
"ossifyingSince": 1733219987,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "linea:0xE798695d2e78f7caeb5BbF3385433959324c02c0",
"isVerified": true,
"ossifyingSince": 1691068246,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BridgedToken",
"address": "linea:0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF",
"isVerified": true,
"ossifyingSince": 1691068234,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "eth:0x971f46a2852d11D59dbF0909e837cfd06f357DeB",
"isVerified": true,
"ossifyingSince": 1691067839,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BridgedToken",
"address": "eth:0x36f274C1C197F277EA3C57859729398FCc8a3763",
"isVerified": true,
"ossifyingSince": 1691067827,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6",
"isVerified": true,
"ossifyingSince": 1689158711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E",
"isVerified": true,
"ossifyingSince": 1688650653,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 10.666666666666666,
"criticalUpdates": [
{
"id": "d18fed4f",
"type": "state"
},
{
"id": "3376a51f",
"type": "state"
},
{
"id": "d37a911c",
"type": "state"
},
{
"id": "75facd10",
"type": "state"
},
{
"id": "0546d3e6",
"type": "state"
},
{
"id": "0f15f1fd",
"type": "state"
},
{
"id": "b0a6b80c",
"type": "state"
},
{
"id": "f6ae248d",
"type": "state"
},
{
"id": "6b70b41a",
"type": "state"
},
{
"id": "94da819f",
"type": "state"
},
{
"id": "b62380e0",
"type": "state"
},
{
"id": "2b932220",
"type": "state"
},
{
"id": "8f408813",
"type": "state"
},
{
"id": "5d2181e9",
"type": "state"
},
{
"id": "a0fe459a",
"type": "state"
},
{
"id": "cfe482dd",
"type": "state"
},
{
"id": "440c8e93",
"type": "state"
},
{
"id": "4f07d08b",
"type": "state"
},
{
"id": "85c95a19",
"type": "state"
},
{
"id": "1e00a7f6",
"type": "state"
},
{
"id": "a3b27464",
"type": "state"
},
{
"id": "45d15938",
"type": "state"
},
{
"id": "05cf3683",
"type": "state"
},
{
"id": "97d70ccc",
"type": "state"
},
{
"id": "e20553c4",
"type": "state"
}
],
"lastCriticalChange": 1788510683,
"maturity": 0.4445013667621279,
"maturity": 0.4445017247641259,
"perimeterResets": [
1688650653,
1689150959,
1690185683,
1690562783,
1691067827,
1691513927,
1693599947,
1697440450,
1700506391,
1707813305,
1708467875,
1711448987,
1717588175,
1721289491,
1721724311,
1730216147,
1733219987,
1734357131,
1745842943,
1748942951,
1749460535,
1753454807,
1756078979,
1758247055,
1758532607,
1761067259,
1761578543,
1763371871,
1764802439,
1770742511,
1772375135,
1774211675,
1774393919,
1774970807,
1775081291,
1776450743,
1776778631,
1777540107,
1781777411,
1783527107,
1784199952,
1788253667,
1788424391
],
"projectClockStart": 1788510683,
"score": 44,
"windowSeconds": 94608000
}
+1 -1
+1 -1
{
"clusteredEventCount": 29,
"contracts": [
{
"name": "OPSuccinctL2OutputOracle",
"address": "eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481",
"isVerified": true,
"ossifyingSince": 1789615739,
"codeChangeCount": 1,
"stateChangeCount": 11
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "SystemConfig",
"address": "eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf",
"isVerified": true,
"ossifyingSince": 1776322715,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F",
"isVerified": true,
"ossifyingSince": 1739349323,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x676A795fe6E43C17c668de16730c3F690FEB7120",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OptimismPortal",
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xca35F8338054739D138884685e08b39EE2217794",
"isVerified": true,
"ossifyingSince": 1710467267,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AddressManager",
"address": "eth:0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42",
"isVerified": true,
"ossifyingSince": 1687951883,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1MantleToken",
"address": "eth:0x3c3a81e81dc49A522A592e7622A7E711c06bf354",
"isVerified": true,
"ossifyingSince": 1687241795,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleTokenProxyAdmin",
"address": "eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd",
"isVerified": true,
"ossifyingSince": 1687241639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleEngineeringMultisig",
"address": "eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9",
"isVerified": true,
"ossifyingSince": 1686902471,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleSecurityMultisig",
"address": "eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f",
"isVerified": true,
"ossifyingSince": 1683509999,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 9.666666666666666,
"criticalUpdates": [
{
"id": "5dc1a14e",
"type": "code"
},
{
"id": "df347cbc",
"type": "state"
},
{
"id": "d7e3f45d",
"type": "state"
},
{
"id": "58e087bc",
"type": "state"
},
{
"id": "930cf6f5",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "3460a30b",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "c3e9d0e9",
"type": "state"
},
{
"id": "d64f0885",
"type": "state"
},
{
"id": "32d5466d",
"type": "state"
},
{
"id": "7337d399",
"type": "state"
},
{
"id": "2437125d",
"type": "state"
},
{
"id": "706bc529",
"type": "state"
}
],
"lastCriticalChange": 1789615739,
"maturity": 0.36211563775609507,
"maturity": 0.36211595381476763,
"perimeterResets": [
1683509999,
1686902471,
1687241639,
1687951883,
1710439895,
1720099223,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1739349323,
1748550023,
1750785371,
1758005207,
1758610559,
1767768479,
1769160827,
1771084331,
1771445567,
1776172415,
1776322715,
1776868559,
1777434335,
1781079551,
1785314135,
1788925163,
1789615739
],
"projectClockStart": 1789615739,
"score": 36,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 31,
"contracts": [
{
"name": "Rollup",
"address": "eth:0x759894Ced0e6af42c26668076Ffa84d02E3CeF60",
"isVerified": true,
"ossifyingSince": 1790063675,
"codeChangeCount": 8,
"stateChangeCount": 6
},
{
"name": "MultipleVersionRollupVerifier",
"address": "eth:0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1",
"isVerified": true,
"ossifyingSince": 1790063627,
"codeChangeCount": 0,
"stateChangeCount": 12
},
{
"name": "Submitter",
"address": "eth:0xf2d50000C994565A4742059802fdbb0BEE1CBef6",
"isVerified": true,
"ossifyingSince": 1789617215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierV1",
"address": "eth:0x651cA600813fC0126225b727EDbA617949b1d1c9",
"isVerified": true,
"ossifyingSince": 1789614347,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CustomERC20Gateway",
"address": "eth:0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1",
"isVerified": true,
"ossifyingSince": 1786502579,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "L1GatewayRouter",
"address": "eth:0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a",
"isVerified": true,
"ossifyingSince": 1786502411,
"codeChangeCount": 0,
"stateChangeCount": 13
},
{
"name": "L1USDCGateway",
"address": "eth:0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289",
"isVerified": true,
"ossifyingSince": 1785410867,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304",
"isVerified": true,
"ossifyingSince": 1785410831,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "L1MessageQueueWithGasPriceOracle",
"address": "eth:0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF",
"isVerified": true,
"ossifyingSince": 1772517791,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "ProxyAdmin",
"address": "eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0",
"isVerified": true,
"ossifyingSince": 1772103443,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "TimelockController",
"address": "eth:0x542675E90E269F20ecbb9e0095d4751ac155B530",
"isVerified": true,
"ossifyingSince": 1770779267,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x8654061457582c867B77A3a9f4ca714dFc84Ec17",
"isVerified": true,
"ossifyingSince": 1770779267,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Morph Multisig 2",
"address": "eth:0xB822319ab7848b7cC4537c8409e50f85BFb04377",
"isVerified": true,
"ossifyingSince": 1758698315,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Morph Multisig 1",
"address": "eth:0xF101f7f59A348c1F971A2BC64fdBdA58c7bBD887",
"isVerified": true,
"ossifyingSince": 1758532307,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "L1USDCGatewayLegacy",
"address": "eth:0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535",
"isVerified": true,
"ossifyingSince": 1730455703,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "EnforcedTxGateway",
"address": "eth:0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7",
"isVerified": true,
"ossifyingSince": 1729765139,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "L1StandardERC20Gateway",
"address": "eth:0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8",
"isVerified": true,
"ossifyingSince": 1729765055,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1ETHGateway",
"address": "eth:0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68",
"isVerified": true,
"ossifyingSince": 1729765043,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1Staking",
"address": "eth:0x0Dc417F8AF88388737c5053FF73f345f080543F7",
"isVerified": true,
"ossifyingSince": 1729764983,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Whitelist",
"address": "eth:0xFFafDd9167777C0e5421e0B6789D6d7A5E386984",
"isVerified": true,
"ossifyingSince": 1729328435,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 15.931469986985329,
"criticalChangesPerYear": 15.93146842924664,
"criticalUpdates": [
{
"id": "a9360a3b",
"type": "state"
},
{
"id": "e4a70468",
"type": "state"
},
{
"id": "4a92d411",
"type": "state"
},
{
"id": "83f3649a",
"type": "state"
},
{
"id": "e898e91e",
"type": "state"
},
{
"id": "1d922498",
"type": "state"
},
{
"id": "e59936ee",
"type": "state"
},
{
"id": "e1a5c3a0",
"type": "state"
},
{
"id": "6cd524c6",
"type": "state"
},
{
"id": "9e6da537",
"type": "state"
},
{
"id": "2ff16c37",
"type": "state"
},
{
"id": "171a57ae",
"type": "state"
},
{
"id": "98f2ec73",
"type": "state"
},
{
"id": "17fdba45",
"type": "state"
},
{
"id": "da922e8f",
"type": "state"
}
],
"lastCriticalChange": 1790063675,
"maturity": 0.31071174008568775,
"maturity": 0.3107122039312457,
"perimeterResets": [
1729306655,
1729486715,
1729598531,
1729764527,
1730260763,
1730455703,
1730976923,
1731486323,
1731581219,
1731911627,
1732765919,
1733748707,
1733895167,
1735652267,
1736753519,
1737359447,
1737455087,
1747030703,
1756352015,
1758532307,
1758698315,
1763737343,
1764060695,
1768208819,
1770779267,
1772103443,
1772517791,
1774575251,
1774863407,
1775699999,
1779354407,
1780485971,
1780914460,
1785410831,
1786500551,
1789614347,
1790063627
],
"projectClockStart": 1790063675,
"score": 31,
"windowSeconds": 61363829
"windowSeconds": 61363835
}
+1 -1
+1 -1
{
"clusteredEventCount": 22,
"contracts": [
{
"name": "L2CrossDomainMessenger",
"address": "oeth:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "oeth:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "oeth:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "oeth:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "DelayedWETH",
"address": "eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 11,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x23B2C62946350F4246f9f9D027e071f0264FD113",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 3,
"stateChangeCount": 1
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 11,
"stateChangeCount": 0
},
{
"name": "ETHLockbox",
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 10,
"stateChangeCount": 1
},
{
"name": "DisputeGameFactory",
"address": "eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 7
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MintManagerOwner",
"address": "oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26",
"isVerified": true,
"ossifyingSince": 1775575311,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SafeL2",
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"isVerified": true,
"ossifyingSince": 1770219757,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OpFoundationUpgradeSafe",
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596903,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Guardian Multisig",
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"isVerified": true,
"ossifyingSince": 1753380539,
"codeChangeCount": 0,
"stateChangeCount": 4
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Security Council",
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"isVerified": true,
"ossifyingSince": 1718045303,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1707514547,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SuperchainProxyAdminOwner",
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"isVerified": true,
"ossifyingSince": 1707420875,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F",
"isVerified": true,
"ossifyingSince": 1686075851,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "OPToken",
"address": "oeth:0x4200000000000000000000000000000000000042",
"isVerified": true,
"ossifyingSince": 1665503636,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "MintManager",
"address": "oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
"isVerified": true,
"ossifyingSince": 1665174739,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 7.333333333333333,
"criticalUpdates": [
{
"id": "db0d2b31",
"type": "state"
},
{
"id": "34096a96",
"type": "code"
},
{
"id": "234c8021",
"type": "code"
},
{
"id": "aeff10bd",
"type": "state"
},
{
"id": "d86b3fe1",
"type": "state"
},
{
"id": "fd9b3eaa",
"type": "state"
},
{
"id": "62284543",
"type": "code"
},
{
"id": "24b38107",
"type": "code"
},
{
"id": "793e7ea6",
"type": "code"
},
{
"id": "9ecac755",
"type": "code"
},
{
"id": "5a491673",
"type": "code"
},
{
"id": "e7f01124",
"type": "code"
},
{
"id": "5871bec8",
"type": "state"
},
{
"id": "3de2546f",
"type": "state"
},
{
"id": "4bd2123b",
"type": "state"
},
{
"id": "60c3fc67",
"type": "code"
}
],
"lastCriticalChange": 1783526401,
"maturity": 0.6137947166994844,
"maturity": 0.6137947924675988,
"perimeterResets": [
1624400033,
1636665399,
1650712171,
1650979836,
1665174739,
1665503636,
1685377355,
1686067127,
1696542003,
1705954799,
1707420419,
1707514547,
1708983851,
1712868599,
1715887055,
1716902219,
1717149791,
1718037779,
1720551167,
1726016099,
1733920163,
1736352527,
1737729695,
1743612623,
1743758251,
1745511383,
1746628403,
1748963099,
1753378247,
1759422923,
1764092795,
1764322695,
1764596735,
1765898063,
1769109083,
1770219757,
1770667859,
1770912106,
1775575311,
1778190599,
1782428747,
1783526401
],
"projectClockStart": 1783526401,
"score": 61,
"windowSeconds": 94608000
}
+780 -426
+2 -2
{
"badges": [],
"description": "A shielded pool for ERC-20 tokens on OP Mainnet, designed for institutional users. Provides TEE-backed privacy, balancing better UX with worse privacy trust assumptions.",
"detailedDescription": "Privacy Boost is a shielded pool for registered ERC-20 tokens on OP Mainnet, aimed at institutional users. The operator's TEE setup has to be trusted for privacy and liveness, while ZKPs ensure validity and an exit path against a malicious or faulty operator.\n\n### Architecture\n\nDeposited tokens are represented as notes whose Poseidon2 commitments are appended to an onchain Merkle tree, and spending a note publishes its nullifier. Users can privately transfer deposited tokens to other users. The TEE collects user-approved transfers and withdrawals, batches them into epochs, and a permissioned relay submits each epoch onchain with a Groth16 proof that checks correctness.\n\nAccounts can authorize spending with registered approval keys or with explicit onchain spend approvals, including batches and approval-only smart-wallet accounts. Epoch proofs use current auth roots or roots superseded no more than 10 minutes ago.\n\nUsers can locally prove a forced withdrawal of up to 13 notes. The contract checks that the referenced auth key or spend approval is live and unexpired when the request is submitted, and records the authorized withdrawal and fee. Anyone can execute it 3 days later if the notes remain unspent, without cooperation from the TEE or relays. The account owner can cancel a pending request.\n\nUsers can locally generate and deploy portal deposit EIP-7702 addresses. Anyone can send ERC-20 to such a portal address, the tokens are regularly swept into Privacy Boost escrow for the hidden recipient.\nGift notes can be claimed by recipients or refunded by senders after a bound deadline, either privately through a relay or through a permissionless public gift exit. Proof-authorized withdrawals can also call approved external gateways for DeFi operations.\n\nIf the operator disappears, no new deposits or private transfers can be processed and the pool effectively enters this exit-only mode, in which the zero-knowledge guarantees alone are sufficient to recover funds.\n\n### Privacy considerations\n\nAll private data exists in plaintext inside the operator's TEE. This privacy depends on the hardware security of the TEE against actors with physical access (side-channel and microarchitectural attacks could expose the full plaintext ledger), as well as vendor vulnerabilities. The source code running within the TEE is not published.\n\nA permissionless forced withdrawal publishes the commitments of the spent notes and the registered account ID, publicly linking the exit of specific notes with the EOA that registered auth keys. It is a fallback mechanism that reclaims the user's tokens but strips the privacy.\n\nPractical privacy also depends on the timing and amounts of deposits and withdrawals, as well as on the frontend used to interact with the pool. Normal withdrawals and transfers within the private pool are not submitted as onchain transactions via RPC nodes, but directly to the TEE, thus not leaking anything to the RPC. Users are advised to research [OPSEC best practice](/publications/privacy-best-practices).\n\n### Fees\n\nStandard deposits are free of protocol fees. Portal deposits can charge a separate sweeper fee, capped at 10% and currently set to 0%, and have token-specific minimum sweep amounts. Withdrawals, including forced withdrawals and public gift exits, pay a 0.4% fee forwarded to the treasury; a forced withdrawal records the fee at request time.\n\n### Deposit and withdrawal statistics\n\nThe pool's own events do not carry per-transfer amounts, so L2BEAT counts every ERC-20 transfer into the pool as a deposit and every transfer out of it as a withdrawal. Besides regular deposits, portal sweeps and withdrawals, this includes refunds of cancelled deposit requests, withdrawal fees forwarded to the treasury, and both legs of DeFi operations executed through approved gateways.\n\n### Compliance\n\nRegistered auditors can query the Audit API of the TEE to fetch the balance and transaction history of any address. The TEE serves such requests without user consent, but is supposed to emit a record of every access on the AuditGateway smart contract, so that users can publicly verify whether and when their private data was disclosed.\n\nThe source code running within the TEE is not published, so it is impossible to verify the onchain audit attestation mechanism.",
"description": "A shielded pool for ERC-20 tokens on Base, designed for institutional users. Provides TEE-backed privacy, balancing better UX with worse privacy trust assumptions.",
"detailedDescription": "Privacy Boost is a shielded pool for registered ERC-20 tokens on Base, aimed at institutional users. The operator's TEE setup has to be trusted for privacy and liveness, while ZKPs ensure validity and an exit path against a malicious or faulty operator.\n\n### Architecture\n\nDeposited tokens are represented as notes whose Poseidon2 commitments are appended to an onchain Merkle tree, and spending a note publishes its nullifier. Users can privately transfer deposited tokens to other users. The TEE collects user-approved transfers and withdrawals, batches them into epochs, and a permissioned relay submits each epoch onchain with a Groth16 proof that checks correctness.\n\nAccounts can authorize spending with registered approval keys or with explicit onchain spend approvals, including batches and approval-only smart-wallet accounts. Epoch proofs use current auth roots or roots superseded no more than 10 minutes ago.\n\nUsers can locally prove a forced withdrawal of up to 13 notes. The contract checks that the referenced auth key or spend approval is live and unexpired when the request is submitted, and records the authorized withdrawal and fee. Anyone can execute it 3 days later if the notes remain unspent, without cooperation from the TEE or relays. The account owner can cancel a pending request.\n\nUsers can locally generate and deploy portal deposit EIP-7702 addresses. Anyone can send ERC-20 to such a portal address, the tokens are regularly swept into Privacy Boost escrow for the hidden recipient.\nGift notes can be claimed by recipients or refunded by senders after a bound deadline, either privately through a relay or through a permissionless public gift exit. Proof-authorized withdrawals can also call approved external gateways for DeFi operations.\n\nIf the operator disappears, no new deposits or private transfers can be processed and the pool effectively enters this exit-only mode, in which the zero-knowledge guarantees alone are sufficient to recover funds.\n\n### Privacy considerations\n\nAll private data exists in plaintext inside the operator's TEE. This privacy depends on the hardware security of the TEE against actors with physical access (side-channel and microarchitectural attacks could expose the full plaintext ledger), as well as vendor vulnerabilities. The source code running within the TEE is not published.\n\nA permissionless forced withdrawal publishes the commitments of the spent notes and the registered account ID, publicly linking the exit of specific notes with the EOA that registered auth keys. It is a fallback mechanism that reclaims the user's tokens but strips the privacy.\n\nPractical privacy also depends on the timing and amounts of deposits and withdrawals, as well as on the frontend used to interact with the pool. Normal withdrawals and transfers within the private pool are not submitted as onchain transactions via RPC nodes, but directly to the TEE, thus not leaking anything to the RPC. Users are advised to research [OPSEC best practice](/publications/privacy-best-practices).\n\n### Fees\n\nStandard deposits are free of protocol fees. Portal deposits can charge a separate sweeper fee, capped at 10% and currently set to 0%, and have token-specific minimum sweep amounts. Withdrawals, including forced withdrawals and public gift exits, pay a 0.4% fee forwarded to the treasury; a forced withdrawal records the fee at request time.\n\n### Deposit and withdrawal statistics\n\nThe pool's own events do not carry per-transfer amounts, so L2BEAT counts every ERC-20 transfer into the pool as a deposit and every transfer out of it as a withdrawal. Besides regular deposits, portal sweeps and withdrawals, this includes refunds of cancelled deposit requests, withdrawal fees forwarded to the treasury, and both legs of DeFi operations executed through approved gateways.\n\n### Compliance\n\nRegistered auditors can query the Audit API of the TEE to fetch the balance and transaction history of any address. The TEE serves such requests without user consent, but is supposed to emit a record of every access on the AuditGateway smart contract, so that users can publicly verify whether and when their private data was disclosed.\n\nThe source code running within the TEE is not published, so it is impossible to verify the onchain audit attestation mechanism.",
"links": {
"websites": [
"https://www.privacyboost.io/"
],
"documentation": [
"https://docs.privacyboost.io/"
],
"repositories": [
"https://github.com/sunnyside-io/privacy-boost-protocol",
"https://github.com/sunnyside-io/privacy-boost-ceremony"
]
}
}
+19 -12
[
{
"address": "0xca689828854a422CF1f778be03CA80549408F620",
"chain": "optimism",
"sinceTimestamp": 1776188243,
"address": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"chain": "base",
"sinceTimestamp": 1788377831,
"tokens": [
"WETH",
"OP",
"USDT",
"USDC",
"wBTC",
"wstETH",
"VELO",
"cbBTC",
"EURC",
"DAI",
"gtusdcp",
"Re7WETH"
"SOL",
"USDT",
"AERO",
"Basecat",
"wstETH",
"AAPLc",
"cbXRP",
"TOSHI",
"BRETT",
"bbqUSDC",
"gtusdcf",
"gtwethb",
"CSUSDC",
"edgeUSDC"
],
"chainId": 10
"chainId": 8453
}
]
+8 -8
{
"creator": "Sunnyside Labs",
"projectsForTvs": [
{
"projectId": "privacy-boost",
"sinceTimestamp": 1776188243
"sinceTimestamp": 1788377831
}
],
"proofSystemInfo": "Privacy Boost uses **Groth16 over BN254**, with circuits written in Go against the [gnark](https://github.com/Consensys/gnark) R1CS frontend. There is no recursive proof aggregation; batching happens inside each circuit.\n\nThere are five verifier families:\n\n- **Epoch**: private transfers, withdrawals and gateway withdrawals; 9 reviewed configurations.\n- **Deposit epoch**: standard deposit batches of 1, 4 or 14.\n- **Portal deposit epoch**: hidden-recipient portal deposit batches of 1 or 6.\n- **Forced withdrawal**: a permissionless delayed exit spending up to 13 notes, using a live auth key or spend approval checked at request time.\n- **Gift claim**: private gift claims/refunds and public gift exits, with registered batch sizes 1 and 3.\n\nFor each of the verifier contracts, different configurations can be allowed with the according verifier keys. There are 17 verifier keys currently registered (9 epoch + 3 deposit + 2 portal + 1 forced withdrawal + 2 gift).",
"techStack": {
"zkVM": [
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
{
"id": "R1CS",
"type": "Arithmetization",
"name": "R1CS",
"description": "Rank 1 constraint system defined by a set of quadratic conditions on the circuit input."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"id": "PrivacyBoostv3",
"name": "Privacy Boost v3",
"risk": "red",
"shortDescription": "Circuit-specific trusted setup for the 12 Groth16 Privacy Boost epoch, forced withdrawal and gift claim circuits deployed in late September 2026. It was built on top of 80 Perpetual Powers of Tau phase 1 contributions, with a publicly announced phase 2 whose transcript and participant list have not yet been published. The proving system could be broken if either phase 1 or 2 is compromised.",
"longDescription": "Circuit-specific trusted setup for 12 Groth16 circuits of the Privacy Boost protocol over the\nBN254 curve, run by Sunnyside Labs as its third production round (`prod-ceremony-2026-03`, release\n`ceremony/v0.0.5`). Its keys were registered onchain on 23 September 2026 and replace the second round\nkeys of the epoch (9 shapes, down from 13), forced withdrawal and gift claim circuits, which were\nrecompiled with gnark v0.16.3 after the EdDSA signature check was rewritten. The deposit and portal\ndeposit circuits keep their second round keys.\nIt reuses the first 80 contributions of the public\n[Perpetual Powers of Tau](https://github.com/privacy-ethereum/perpetualpowersoftau) ceremony (`pot28_0080`) as Phase 1.\nPhase 2 is a gnark-native MPC ceremony. At the time of writing, the round record still marks the round as\nin preparation, and neither the public verification bundle nor the bundle digests have been published,\nso the number of participants and contributions could not be checked.\n\n- Phase 1 ceremony (first 80 contributions are used): .\n- Ceremony repository and contributor tooling: [https://github.com/sunnyside-io/privacy-boost-ceremony](https://github.com/sunnyside-io/privacy-boost-ceremony)\n- Round record: [rounds/2026-03.md](https://github.com/sunnyside-io/privacy-boost-ceremony/blob/26122120d04f04f0abe59a7119b9c9a12e7c209a/rounds/2026-03.md)\n- Contributor release: [ceremony/v0.0.5](https://github.com/sunnyside-io/privacy-boost-ceremony/releases/tag/ceremony%2Fv0.0.5)\n- Offline verification procedure: [https://github.com/sunnyside-io/privacy-boost-ceremony/blob/main/PUBLIC_VERIFICATION.md](https://github.com/sunnyside-io/privacy-boost-ceremony/blob/main/PUBLIC_VERIFICATION.md)"
}
],
"verifierHashes": [
{
"hash": "Privacy Boost epoch verifier 23.09.2026",
"name": "Privacy Boost epoch verifier, 9 circuits",
"description": "Verifies the batched private transfer and withdrawal proofs. The deployed verification keys have not yet been reproduced by L2BEAT.",
"sourceLink": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/5792c139b9529ed80643262d75b5489055be11b0/frontend/epoch_circuit.go",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B"
"address": "base:0xB144eb785E2CCe17681395Cd475093C01AEeb11e"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "Privacy Boost deposit verifier 09.09.2026",
"name": "Privacy Boost deposit verifier, 3 circuits",
"description": "Verifies the batched deposit epoch proofs.",
"sourceLink": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/9e3f34e1a91c20497bc7d8f47492761bc868843c/frontend/deposit_epoch_circuit.go",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5"
"address": "base:0xac60252EF8dbC139e0da63cE7F2a13D25a5B627d"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "The deposit verifier stores verification keys for 3 different batched deposit circuits across 3 registered batch sizes (`d1`, `d4`, `d14`). The steps below reproduce all 3 verification keys from circuit sources and trusted setup files. They require about 24 GiB RAM with two parallel workers and ~35 GiB disk space.\n\nHelper scripts implementing all of the reproduction steps are in the\n[script archive](https://trusted-setup-hosting.l2beat.com/privacy/privacy-boost/privacy_boost_vk_digest_v2.zip).\n\n1. Download the second production ceremony public bundle (about 9.8 GB, gzip-compressed despite the\n `.tar` name) and extract it. The archive used for this attestation hashes to\n `91ad38d7775259116d00e5288630aaec565fbec8ff38a76dc874c13412ae530a`.\n\n ```\n curl -LO https://file.ceremony.privacyboost.io/prod-20260902-public.tar\n shasum -a 256 prod-20260902-public.tar\n tar xzf prod-20260902-public.tar\n ```\n\n2. Check that the ceremony's circuit matrix in `public/config.snapshot.json` matches the circuit\n shapes registered on the verifier, and that the manifest's `circuitSpecJson` for each circuit\n agrees with them and with `circuit-setup/configs/production.ceremony.config.json` in\n [privacy-boost-ceremony](https://github.com/sunnyside-io/privacy-boost-ceremony) at commit `e645b68d`.\n\n3. Re-derive every key from the transcript. The circuits are the `frontend/` package of\n [privacy-boost-protocol](https://github.com/sunnyside-io/privacy-boost-protocol) at commit\n `9e3f34e1a91c`. Note that the ceremony\n coordinator compiled them with **gnark v0.15.0 and gnark-crypto v0.20.1**, as recorded in the\n build information embedded in the signed `ceremony/v0.0.x` release binaries. \n \n The public ceremony\n repository pins gnark v0.14.0 instead, which compiles to different constraint systems, so its\n `verify-public` command fails at the R1CS hash check. The script archive contains a per-circuit\n helper built against gnark v0.15.0 that recompiles each circuit's R1CS from its spec, checks it\n against the manifest, fetches and digest-checks the pinned Perpetual Powers of Tau artifact for\n the required power, recomputes the origin of the phase 2 transcript, verifies every contribution\n against its predecessor, and seals the proving and verifying keys, comparing them to the manifest\n commitments.\n\n ```\n python3 run.py prepare\n python3 onchain.py\n python3 run.py run --jobs 2\n ```\n\n4. For each circuit, encode the re-derived `.vk` into the onchain layout (negate `beta`, `gamma`,\n `delta`; interleave `G1.K`) and confirm its digest equals the value read from chain. The helper\n reads all registered keys at one finalized OP Mainnet block, recomputing the storage slots from\n the circuit parameters and cross-checking them against the getters."
"verificationSteps": "The deposit verifier stores verification keys for 3 different batched deposit circuits across 3 registered batch sizes (`d1`, `d4`, `d14`). The steps below reproduce all 3 verification keys from circuit sources and trusted setup files. They require about 24 GiB RAM with two parallel workers and ~35 GiB disk space.\n\nHelper scripts implementing all of the reproduction steps are in the\n[script archive](https://trusted-setup-hosting.l2beat.com/privacy/privacy-boost/privacy_boost_vk_digest_v2.zip).\n\n1. Download the second production ceremony public bundle (about 9.8 GB, gzip-compressed despite the\n `.tar` name) and extract it. The archive used for this attestation hashes to\n `91ad38d7775259116d00e5288630aaec565fbec8ff38a76dc874c13412ae530a`.\n\n ```\n curl -LO https://file.ceremony.privacyboost.io/prod-20260902-public.tar\n shasum -a 256 prod-20260902-public.tar\n tar xzf prod-20260902-public.tar\n ```\n\n2. Check that the ceremony's circuit matrix in `public/config.snapshot.json` matches the circuit\n shapes registered on the verifier, and that the manifest's `circuitSpecJson` for each circuit\n agrees with them and with `circuit-setup/configs/production.ceremony.config.json` in\n [privacy-boost-ceremony](https://github.com/sunnyside-io/privacy-boost-ceremony) at commit `e645b68d`.\n\n3. Re-derive every key from the transcript. The circuits are the `frontend/` package of\n [privacy-boost-protocol](https://github.com/sunnyside-io/privacy-boost-protocol) at commit\n `9e3f34e1a91c`. Note that the ceremony\n coordinator compiled them with **gnark v0.15.0 and gnark-crypto v0.20.1**, as recorded in the\n build information embedded in the signed `ceremony/v0.0.x` release binaries. \n \n The public ceremony\n repository pins gnark v0.14.0 instead, which compiles to different constraint systems, so its\n `verify-public` command fails at the R1CS hash check. The script archive contains a per-circuit\n helper built against gnark v0.15.0 that recompiles each circuit's R1CS from its spec, checks it\n against the manifest, fetches and digest-checks the pinned Perpetual Powers of Tau artifact for\n the required power, recomputes the origin of the phase 2 transcript, verifies every contribution\n against its predecessor, and seals the proving and verifying keys, comparing them to the manifest\n commitments.\n\n ```\n python3 run.py prepare\n python3 onchain.py\n python3 run.py run --jobs 2\n ```\n\n4. For each circuit, encode the re-derived `.vk` into the onchain layout (negate `beta`, `gamma`,\n `delta`; interleave `G1.K`) and confirm its digest equals the value read from chain. The helper\n reads all registered keys at one finalized OP Mainnet block (equivalent to the Base deployment), recomputing the storage slots from\n the circuit parameters and cross-checking them against the getters."
},
{
"hash": "Privacy Boost forced withdrawal verifier 23.09.2026",
"name": "Privacy Boost forced withdrawal verifier, 1 circuit",
"description": "Verifies the client-side forced withdrawal proofs. The deployed verification keys have not yet been reproduced by L2BEAT.",
"sourceLink": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/5792c139b9529ed80643262d75b5489055be11b0/frontend/forced_withdraw_circuit.go",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE"
"address": "base:0x40e93d3357A5A3d249437717Da936f6141ba85cE"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "Privacy Boost portal deposit verifier 09.09.2026",
"name": "Privacy Boost portal deposit verifier, 2 circuits",
"description": "Verifies the batched hidden-recipient portal deposit proofs.",
"sourceLink": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/9e3f34e1a91c20497bc7d8f47492761bc868843c/frontend/deposit_portal_circuit.go",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6"
"address": "base:0x0c8bb018a3d8DF4c5fC86518ca57F8E1445BCF63"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "The portal deposit verifier stores verification keys for 2 different batched portal deposit circuits across 2 registered batch sizes (`p1`, `p6`). The steps below reproduce both verification keys from circuit sources and trusted setup files. They require about 24 GiB RAM with two parallel workers and ~35 GiB disk space.\n\nHelper scripts implementing all of the reproduction steps are in the\n[script archive](https://trusted-setup-hosting.l2beat.com/privacy/privacy-boost/privacy_boost_vk_digest_v2.zip).\n\n1. Download the second production ceremony public bundle (about 9.8 GB, gzip-compressed despite the\n `.tar` name) and extract it. The archive used for this attestation hashes to\n `91ad38d7775259116d00e5288630aaec565fbec8ff38a76dc874c13412ae530a`. \n\n ```\n curl -LO https://file.ceremony.privacyboost.io/prod-20260902-public.tar\n shasum -a 256 prod-20260902-public.tar\n tar xzf prod-20260902-public.tar\n ```\n\n2. Check that the ceremony's circuit matrix in `public/config.snapshot.json` matches the circuit\n shapes registered on the verifier, and that the manifest's `circuitSpecJson` for each circuit\n agrees with them and with `circuit-setup/configs/production.ceremony.config.json` in\n [privacy-boost-ceremony](https://github.com/sunnyside-io/privacy-boost-ceremony) at commit `e645b68d`.\n\n3. Re-derive every key from the transcript. The circuits are the `frontend/` package of\n [privacy-boost-protocol](https://github.com/sunnyside-io/privacy-boost-protocol) at commit\n `9e3f34e1a91c`. Note that the ceremony\n coordinator compiled them with **gnark v0.15.0 and gnark-crypto v0.20.1**, as recorded in the\n build information embedded in the signed `ceremony/v0.0.x` release binaries. \n \n The public ceremony\n repository pins gnark v0.14.0 instead, which compiles to different constraint systems, so its\n `verify-public` command fails at the R1CS hash check. The script archive contains a per-circuit\n helper built against gnark v0.15.0 that recompiles each circuit's R1CS from its spec, checks it\n against the manifest, fetches and digest-checks the pinned Perpetual Powers of Tau artifact for\n the required power, recomputes the origin of the phase 2 transcript, verifies every contribution\n against its predecessor, and seals the proving and verifying keys, comparing them to the manifest\n commitments. Reading the transcript lazily keeps the peak below 10 GB per circuit.\n\n ```\n python3 run.py prepare\n python3 onchain.py\n python3 run.py run --jobs 2\n ```\n\n4. For each circuit, encode the re-derived `.vk` into the onchain layout (negate `beta`, `gamma`,\n `delta`; interleave `G1.K`) and confirm its digest equals the value read from chain. The helper\n reads all registered keys at one finalized OP Mainnet block, recomputing the storage slots from\n the circuit parameters and cross-checking them against the getters."
"verificationSteps": "The portal deposit verifier stores verification keys for 2 different batched portal deposit circuits across 2 registered batch sizes (`p1`, `p6`). The steps below reproduce both verification keys from circuit sources and trusted setup files. They require about 24 GiB RAM with two parallel workers and ~35 GiB disk space.\n\nHelper scripts implementing all of the reproduction steps are in the\n[script archive](https://trusted-setup-hosting.l2beat.com/privacy/privacy-boost/privacy_boost_vk_digest_v2.zip).\n\n1. Download the second production ceremony public bundle (about 9.8 GB, gzip-compressed despite the\n `.tar` name) and extract it. The archive used for this attestation hashes to\n `91ad38d7775259116d00e5288630aaec565fbec8ff38a76dc874c13412ae530a`. \n\n ```\n curl -LO https://file.ceremony.privacyboost.io/prod-20260902-public.tar\n shasum -a 256 prod-20260902-public.tar\n tar xzf prod-20260902-public.tar\n ```\n\n2. Check that the ceremony's circuit matrix in `public/config.snapshot.json` matches the circuit\n shapes registered on the verifier, and that the manifest's `circuitSpecJson` for each circuit\n agrees with them and with `circuit-setup/configs/production.ceremony.config.json` in\n [privacy-boost-ceremony](https://github.com/sunnyside-io/privacy-boost-ceremony) at commit `e645b68d`.\n\n3. Re-derive every key from the transcript. The circuits are the `frontend/` package of\n [privacy-boost-protocol](https://github.com/sunnyside-io/privacy-boost-protocol) at commit\n `9e3f34e1a91c`. Note that the ceremony\n coordinator compiled them with **gnark v0.15.0 and gnark-crypto v0.20.1**, as recorded in the\n build information embedded in the signed `ceremony/v0.0.x` release binaries. \n \n The public ceremony\n repository pins gnark v0.14.0 instead, which compiles to different constraint systems, so its\n `verify-public` command fails at the R1CS hash check. The script archive contains a per-circuit\n helper built against gnark v0.15.0 that recompiles each circuit's R1CS from its spec, checks it\n against the manifest, fetches and digest-checks the pinned Perpetual Powers of Tau artifact for\n the required power, recomputes the origin of the phase 2 transcript, verifies every contribution\n against its predecessor, and seals the proving and verifying keys, comparing them to the manifest\n commitments. Reading the transcript lazily keeps the peak below 10 GB per circuit.\n\n ```\n python3 run.py prepare\n python3 onchain.py\n python3 run.py run --jobs 2\n ```\n\n4. For each circuit, encode the re-derived `.vk` into the onchain layout (negate `beta`, `gamma`,\n `delta`; interleave `G1.K`) and confirm its digest equals the value read from chain. The helper\n reads all registered keys at one finalized OP Mainnet block (equivalent to the Base deployment), recomputing the storage slots from\n the circuit parameters and cross-checking them against the getters."
},
{
"hash": "Privacy Boost gift claim verifier 23.09.2026",
"name": "Privacy Boost gift claim verifier, 2 circuits",
"description": "Verifies the batched gift claim, refund and public gift exit proofs. The deployed verification keys have not yet been reproduced by L2BEAT.",
"sourceLink": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/5792c139b9529ed80643262d75b5489055be11b0/frontend/gift_claim_circuit.go",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670"
"address": "base:0x8f394a08A7544daf39aF38FEA5B2E348180bDC05"
}
],
"verificationStatus": "notVerified"
}
]
}
+341 -110
{
"adversaries": {
"promise": {
"protects": "linkage",
"text": "Hides everything inside the ledger, including which deposits fund a withdrawal. Deposits and withdrawals are public."
},
"adversaries": [
{
"id": "publicObserver",
"label": "Public observer",
"description": "Everyone with a block explorer and some basic tools. Sees every public onchain event, but does no correlation beyond following links.",
"examples": "A curious counterparty, an employer, a journalist."
},
{
"id": "chainAnalyst",
"label": "Chain analyst",
"description": "Scrapes all public data and correlates it: timing, amounts, gas and wallet fingerprints, address clusters.",
"examples": "Chain analytics firms, ZachXBT, data brokers."
},
{
"id": "networkObserver",
"label": "Network observer",
"description": "Sits between the user and the chain and sees web2 traffic only: RPC providers, relayers and broadcasters, indexers, ISPs. Learns IP addresses, timing, browser fingerprints, ciphertext and what becomes public. Assumes Tor to send transactions and, where the client has an RPC setting, an own node to read the blockchain.",
"examples": "Infura or Alchemy, a Tornado relayer, a wallet vendor selling telemetry, Google captcha or analytics in the dapp frontend."
},
{
"id": "privilegedInsider",
"label": "Privileged insider",
"description": "Holds a protocol operator role or receives keys or plaintext by design: upgrade admin, sequencer, decryption or view key holder, TEE vendor, association set provider, hosted prover, note registry.",
"examples": "A compliance backdoor key, a DAO with an upgrade key, a KMS committee, an ASP operator."
},
{
"id": "futureAdversary",
"label": "Future adversary",
"description": "Harvest now, decrypt later. Holds every byte ever written onchain plus any retained logs, and future cryptanalysis such as a large quantum computer that breaks elliptic-curve key exchange and pairings, but not hashes, symmetric ciphers or lattices.",
"examples": "First well-funded insiders, then everyone in a potential post-quantum future."
}
],
"fields": [
{
"id": "sender",
"label": "Sender",
"subject": "Sender",
"promiseLabel": "Sender privacy",
"description": "The Ethereum address that funds entered from, or that initiated a transfer."
},
{
"id": "recipient",
"label": "Recipient",
"subject": "Recipient",
"promiseLabel": "Recipient privacy",
"description": "The Ethereum address that funds exit to, or that receives a transfer."
},
{
"id": "amount",
"label": "Amount",
"subject": "Amounts",
"promiseLabel": "Amount privacy",
"description": "The value moved."
},
{
"id": "asset",
"label": "Asset",
"subject": "Asset",
"promiseLabel": "Asset privacy",
"description": "Which token is moved."
},
{
"id": "linkage",
"label": "Link",
"subject": "Link",
"promiseLabel": "Link privacy",
"description": "Whether the entry and exit of the same funds, or sender and recipient of the same transfer, can be tied together."
}
],
"cells": {
"publicObserver": {
"sentiment": "good",
"exposure": "Transfers inside publish only encrypted notes. Deposits and withdrawals show address, token and amount. Each epoch's calldata pairs every exit with the nullifiers and the input/output shape of the transfer that funded it.",
"advice": "Exit through the operator's relay; a forced exit reveals your account and the notes you spend. A public gift exit names the destination.",
"interior": {
"sender": "private",
"recipient": "private",
"amount": {
"verdict": "private",
"note": "Leaked for gateway DeFi legs."
},
"asset": {
"verdict": "private",
"note": "Leaked for gateway DeFi legs."
},
"linkage": {
"verdict": "private",
"note": "Epoch calldata ties each exit to the nullifiers and shape of one transfer."
}
},
"sources": [
{
"contract": "PrivacyBoost"
},
{
"title": "Epoch calldata: withdrawals, nullifiers and transfer shapes",
"url": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/23907eeebf0e50cd18da42a287671189e61ecb0f/contracts/src/interfaces/IPrivacyBoost.sol#L828-L852"
},
{
"title": "Forced withdrawal publishes account, destination and notes",
"url": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/23907eeebf0e50cd18da42a287671189e61ecb0f/contracts/src/interfaces/IPrivacyBoost.sol#L582-L592"
},
{
"title": "Gift claim and refund are indistinguishable",
"url": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/23907eeebf0e50cd18da42a287671189e61ecb0f/contracts/src/interfaces/IPrivacyBoost.sol#L694-L707"
}
],
"id": "publicObserver",
"value": "Link private",
"alsoExposed": []
},
"chainAnalyst": {
"sentiment": "bad",
"exposure": "The anonymity set is small, so most withdrawals can be linked to their funding deposits by amount and timing.",
"advice": "There is currently no crowd to hide in. Keep funds inside and transfer often, withdraw amounts that match no deposit, and never exit to an address that has deposited.",
"interior": {
"sender": "atRisk",
"recipient": "atRisk",
"amount": {
"verdict": "atRisk",
"note": "Bounded by the public deposit and exit amounts."
},
"asset": "atRisk",
"linkage": {
"verdict": "atRisk",
"note": "The anonymity set is too small for care to hide the link."
}
},
"sources": [
{
"title": "Operator heartbeat address",
"url": "https://optimistic.etherscan.io/address/0x1b10c04536c01a51cb5d20cf3ac717047303d89c"
"url": "https://basescan.org/address/0xf977237b7d978dde922ee4909619740c73d8a49b"
},
{
"contract": "PrivacyBoost",
"title": "Withdrawal fee in basis points"
}
],
"id": "chainAnalyst",
"value": "Link exposed",
"alsoExposed": [
{
"field": "sender",
"exposure": "atRisk"
},
{
"field": "recipient",
"exposure": "atRisk"
},
{
"field": "amount",
"exposure": "atRisk"
},
{
"field": "asset",
"exposure": "atRisk"
}
]
},
"networkObserver": {
"sentiment": "good",
"exposure": "All shielded actions go to the operator's server as an encrypted envelope, and note keys stay in a local vault. Only the operator's relay submits epochs onchain, so nothing of yours reaches a public node.",
"interior": {
"sender": "private",
"recipient": "private",
"amount": "private",
"asset": "private",
"linkage": "private"
},
"sources": [
{
"title": "SDK package, closed Rust core",
"url": "https://www.npmjs.com/package/@sunnyside-io/privacy-boost"
},
{
"title": "Server info endpoint",
"url": "https://optimism.privacyboost.io/api/v1/info"
"url": "https://base.privacyboost.io/api/v1/info"
},
{
"contract": "PrivacyBoost",
"title": "Single permitted relay"
}
],
"id": "networkObserver",
"value": "Link private",
"alsoExposed": []
},
"privilegedInsider": {
"sentiment": "bad",
"exposure": "The operator runs the enclave that holds every transfer in plaintext and the key to every onchain note. The client fetches that key from the operator's web endpoint and the published SDK checks no enclave attestation, so a substituted key would read every note unnoticed. Appointed auditors can pull any account's history without consent, and the audit log is written by the operator's own unpublished code.",
"advice": "Treat everything in the pool as visible to the operator. A forced exit is the only path that does not need it, and it is public.",
"interior": {
"sender": "exposed",
"recipient": "exposed",
"amount": "exposed",
"asset": "exposed",
"linkage": "exposed"
},
"sources": [
{
"contract": "AuditGateway"
},
{
"section": "permissions",
"title": "Admin and operator multisigs"
},
{
"title": "TEE key is fetched from the operator endpoint",
"url": "https://www.npmjs.com/package/@sunnyside-io/privacy-boost"
},
{
"title": "Notes wrap an ephemeral key for the TEE alongside the receiver",
"url": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/23907eeebf0e50cd18da42a287671189e61ecb0f/contracts/src/interfaces/IStructs.sol#L36-L56"
}
],
"id": "privilegedInsider",
"value": "Link exposed",
"alsoExposed": [
{
"field": "sender",
"exposure": "exposed"
},
{
"field": "recipient",
"exposure": "exposed"
},
{
"field": "amount",
"exposure": "exposed"
},
{
"field": "asset",
"exposure": "exposed"
}
]
},
"futureAdversary": {
"sentiment": "bad",
"exposure": "Every note wraps its key to the enclave's long-lived elliptic-curve public key as well as the receiver's. A quantum computer, or a leak of that one key, decrypts the entire history.",
"interior": {
"sender": "exposed",
"recipient": "exposed",
"amount": "exposed",
"asset": "exposed",
"linkage": "exposed"
},
"sources": [
{
"contract": "PrivacyBoost",
"title": "Ciphertext layout"
},
{
"title": "Every output and deposit ciphertext carries a TEE-wrapped key",
"url": "https://github.com/sunnyside-io/privacy-boost-protocol/blob/23907eeebf0e50cd18da42a287671189e61ecb0f/contracts/src/interfaces/IStructs.sol#L36-L125"
}
],
"id": "futureAdversary",
"value": "Link exposed",
"alsoExposed": [
{
"field": "sender",
"exposure": "exposed"
},
{
"field": "recipient",
"exposure": "exposed"
},
{
"field": "amount",
"exposure": "exposed"
},
{
"field": "asset",
"exposure": "exposed"
}
]
}
}
},
"attributes": [
{
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "tee",
"label": "TEE",
"description": "Privacy assumptions of this project are secured by trusted hardware."
},
{
"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."
}
],
"category": {
"id": "shieldedLedger",
"label": "Shielded ledger",
"description": "A pool with transfers or DeFi inside. Hides who pays whom and which deposit funds which withdrawal."
},
"exitWindow": {
"value": "None",
"sentiment": "bad",
"orderHint": 0,
"description": "The pool and both registries sit behind transparent proxies whose ProxyAdmins are owned by the admin multisig, which can upgrade them with no delay. Users get no window to exit before a change takes effect.",
"walkawayTest": {
"passed": false,
"reason": "If the TEE operators disappear, no new deposits or private transfers can be processed and the system enters exit-only mode."
}
},
"reproducibility": {
"value": "Partially reproducible",
"sentiment": "warning",
"description": "ZK circuits guaranteeing user fund security are published, but the epoch, forced withdrawal and gift claim verification keys deployed in September 2026 have not yet been reproduced by L2BEAT. The TEE sources guaranteeing privacy are not yet published. TEE logic could not be verified for correctness."
},
"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 admin multisig deploys a malicious [upgrade](#upgrades-and-governance) or registers a malicious verifying key.\n
\n## Funds can be lost if\n1. a user loses their note secrets, or loses access to both the account-owner wallet and any usable authorization keys.\n
\n## Privacy can be lost if\n1. the TEE is compromised.\n2. a registered auditor fetches the user's balance and transaction history through the Audit API.\n3. a user exits through a forced withdrawal, which publicly links the spent notes and the withdrawal address to the account that registered the approval key.",
"tokens": [
{
"token": {
"address": "0x4200000000000000000000000000000000000006",
"iconUrl": "https://coin-images.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"symbol": "WETH",
"decimals": 18,
"priceId": "weth",
"sinceTimestamp": 1776188243
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-WETH",
"type": "pool",
"label": "WETH",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x4200000000000000000000000000000000000042",
"iconUrl": "/images/custom-tokens/optimism.png",
"symbol": "OP",
"decimals": 18,
"priceId": "optimism",
"sinceTimestamp": 1776188243
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-OP",
"id": "privacy-boost-USDC",
"type": "pool",
"label": "OP",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "USDC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
"iconUrl": "https://coin-images.coingecko.com/coins/images/35001/large/logo.png?1706959346",
"address": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
"iconUrl": "https://coin-images.coingecko.com/coins/images/40143/large/cbbtc.webp?1726136727",
"symbol": "cbBTC",
"decimals": 8,
"priceId": "coinbase-wrapped-btc",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-cbBTC",
"type": "pool",
"label": "cbBTC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
"iconUrl": "https://coin-images.coingecko.com/coins/images/26045/large/euro.png?1696525125",
"symbol": "EURC",
"decimals": 6,
"priceId": "euro-coin",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-EURC",
"type": "pool",
"label": "EURC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82",
"iconUrl": "https://coin-images.coingecko.com/coins/images/4128/large/solana.png?1718769756",
"symbol": "SOL",
"decimals": 9,
"priceId": "solana",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-SOL",
"type": "pool",
"label": "SOL",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
"iconUrl": "https://coin-images.coingecko.com/coins/images/39963/large/usdt.png?1724952731",
"symbol": "USDT",
"decimals": 6,
"priceId": "bridged-usdt",
"sinceTimestamp": 1776188243
"priceId": "l2-standard-bridged-usdt-base",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-USDT",
"type": "pool",
"label": "USDT",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1776188243
"address": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
"iconUrl": "https://assets.coingecko.com/coins/images/31745/large/token.png?1696530564",
"symbol": "AERO",
"decimals": 18,
"priceId": "aerodrome-finance",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-USDC",
"id": "privacy-boost-AERO",
"type": "pool",
"label": "USDC",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "AERO",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x68f180fcCe6836688e9084f035309E29Bf0A2095",
"iconUrl": "https://coin-images.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857",
"symbol": "wBTC",
"decimals": 8,
"priceId": "wrapped-bitcoin",
"sinceTimestamp": 1776188243
"address": "0xB2000000000000000000004c27f6523082f41D01",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102175780/large/zi54rndmdx59nblfgry3d1pyckch.?1787558766",
"symbol": "Basecat",
"decimals": 18,
"priceId": "basecat",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-wBTC",
"id": "privacy-boost-Basecat",
"type": "pool",
"label": "wBTC",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "Basecat",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",
"address": "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
"iconUrl": "https://coin-images.coingecko.com/coins/images/18834/large/wstETH.png?1696518295",
"symbol": "wstETH",
"decimals": 18,
"priceId": "wrapped-steth",
"sinceTimestamp": 1776188243
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-wstETH",
"type": "pool",
"label": "wstETH",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db",
"iconUrl": "https://assets.coingecko.com/coins/images/25783/large/velo.png?1696524870",
"symbol": "VELO",
"decimals": 18,
"priceId": "velodrome-finance",
"sinceTimestamp": 1776188243
"address": "0xb200000000000000000000C2e324d24d7eEcd1fb",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102175597/large/aapl_200x200.png?1787068801",
"symbol": "AAPLc",
"decimals": 8,
"priceId": "apple-coinbase-tokenized-stock",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-VELO",
"id": "privacy-boost-AAPLc",
"type": "pool",
"label": "VELO",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "AAPLc",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xDCB612005417Dc906fF72c87DF732e5a90D49e11",
"iconUrl": "https://coin-images.coingecko.com/coins/images/26045/large/EURC.png?1769615705",
"symbol": "EURC",
"address": "0xcb585250f852C6c6bf90434AB21A00f02833a4af",
"iconUrl": "https://coin-images.coingecko.com/coins/images/66267/large/Coinbase_Wrapped_XPR_%28cbXRP%29.png?1749023398",
"symbol": "cbXRP",
"decimals": 6,
"priceId": "euro-coin",
"sinceTimestamp": 1776188243
"priceId": "coinbase-wrapped-xrp",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-EURC",
"id": "privacy-boost-cbXRP",
"type": "pool",
"label": "EURC",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "cbXRP",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",
"iconUrl": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
"symbol": "DAI",
"address": "0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
"iconUrl": "https://assets.coingecko.com/coins/images/31126/large/2023-08-11_13.21.24.png?1697025145",
"symbol": "TOSHI",
"decimals": 18,
"priceId": "dai",
"sinceTimestamp": 1776188243
"priceId": "toshi",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-DAI",
"id": "privacy-boost-TOSHI",
"type": "pool",
"label": "DAI",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "TOSHI",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xC30ce6A5758786e0F640cC5f881Dd96e9a1C5C59",
"address": "0x532f27101965dd16442E59d40670FaF5eBB142E4",
"iconUrl": "https://assets.coingecko.com/coins/images/35529/large/1000050750.png?1709031995",
"symbol": "BRETT",
"decimals": 18,
"priceId": "based-brett",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-BRETT",
"type": "pool",
"label": "BRETT",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"symbol": "gtusdcp",
"symbol": "bbqUSDC",
"decimals": 18,
"priceId": "usd-coin",
"sinceTimestamp": 1776188243
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-gtusdcp",
"id": "privacy-boost-bbqUSDC",
"type": "pool",
"label": "gtusdcp",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "bbqUSDC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x3d63934715b6D4c4DFbBC1a00Fe2A2145079DD76",
"address": "0x1deEfABEe758AAbdC29a542B24ca3b75aFD56765",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"symbol": "gtusdcf",
"decimals": 18,
"priceId": "usd-coin",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-gtusdcf",
"type": "pool",
"label": "gtusdcf",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0xFeFeC33668E22677c4762d0853d56245a800ff08",
"iconUrl": "https://coin-images.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"symbol": "Re7WETH",
"symbol": "gtwethb",
"decimals": 18,
"priceId": "weth",
"sinceTimestamp": 1776188243
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-Re7WETH",
"id": "privacy-boost-gtwethb",
"type": "pool",
"label": "Re7WETH",
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"sinceTimestamp": 1776188243,
"label": "gtwethb",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0xca689828854a422CF1f778be03CA80549408F620"
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0xca689828854a422CF1f778be03CA80549408F620"
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x1D3b1Cd0a0f242d598834b3F2d126dC6bd774657",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"symbol": "CSUSDC",
"decimals": 18,
"priceId": "usd-coin",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-CSUSDC",
"type": "pool",
"label": "CSUSDC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
},
{
"token": {
"address": "0x5435BC53f2C61298167cdB11Cdf0Db2BFa259ca0",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"symbol": "edgeUSDC",
"decimals": 18,
"priceId": "usd-coin",
"sinceTimestamp": 1788377831
},
"buckets": [
{
"id": "privacy-boost-edgeUSDC",
"type": "pool",
"label": "edgeUSDC",
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"sinceTimestamp": 1788377831,
"deposit": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"to": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
},
"withdrawal": {
"event": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"extractor": "erc20Transfer",
"params": {
"from": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
}
}
}
]
}
],
"trackedOn": [
"optimism"
"base"
],
"upgradesAndGovernance": {
"content": "Privacy Boost is controlled by the 3/4 admin multisig, which can upgrade the pool, registries and AuditGateway without delay. It can replace all five proof verifiers and register or replace their verification keys, set withdrawal and portal sweep fees up to 10% each, configure portal minimum sweeps, and change the treasury, operator and gateway route manager.\n\nThe external-call gateway owner manages target/selector policies, selects its guardian, and can pause or unpause execution. The guardian can pause and remove policies. Stranded gateway tokens can only be swept back to the pool while paused."
}
}
+195 -58
[
{
"mode": "auto",
"id": "privacy-boost-EURC",
"priceId": "euro-coin",
"symbol": "EURC",
"name": "EURC",
"iconUrl": "https://coin-images.coingecko.com/coins/images/26045/large/EURC.png?1769615705",
"id": "privacy-boost-AAPLc",
"priceId": "apple-coinbase-tokenized-stock",
"symbol": "AAPLc",
"name": "Apple Inc.",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102175597/large/aapl_200x200.png?1787068801",
"amount": {
"type": "balanceOfEscrow",
"chain": "optimism",
"sinceTimestamp": 1776188243,
"address": "0xDCB612005417Dc906fF72c87DF732e5a90D49e11",
"decimals": 6,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0xb200000000000000000000C2e324d24d7eEcd1fb",
"decimals": 8,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776188243,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "euro-coin"
"priceId": "apple-coinbase-tokenized-stock"
},
"category": "stablecoin",
"category": "rwaPublic",
"source": "canonical",
"isAssociated": false,
"bridgedUsing": {
"bridges": [
{
"name": "Layer Zero v2 OFT",
"slug": "layerzerov2oft"
}
]
}
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-gtusdcp",
"id": "privacy-boost-bbqUSDC",
"priceId": "usd-coin",
"symbol": "gtusdcp",
"name": "Gauntlet USDC Prime",
"symbol": "bbqUSDC",
"name": "Steakhouse High Yield USDC",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"amount": {
"type": "balanceOfEscrow",
"chain": "optimism",
"sinceTimestamp": 1776188243,
"address": "0xC30ce6A5758786e0F640cC5f881Dd96e9a1C5C59",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100",
"decimals": 18,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776188243,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "usd-coin"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-OP",
"priceId": "optimism",
"symbol": "OP",
"name": "Optimism",
"iconUrl": "/images/custom-tokens/optimism.png",
"id": "privacy-boost-BRETT",
"priceId": "based-brett",
"symbol": "BRETT",
"name": "Brett",
"iconUrl": "https://assets.coingecko.com/coins/images/35529/large/1000050750.png?1709031995",
"amount": {
"type": "balanceOfEscrow",
"chain": "optimism",
"sinceTimestamp": 1776188243,
"address": "0x4200000000000000000000000000000000000042",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x532f27101965dd16442E59d40670FaF5eBB142E4",
"decimals": 18,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776188243,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "optimism"
"priceId": "based-brett"
},
"category": "other",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-Re7WETH",
"id": "privacy-boost-CSUSDC",
"priceId": "usd-coin",
"symbol": "CSUSDC",
"name": "Clearstar USDC Reactor",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"amount": {
"type": "balanceOfEscrow",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x1D3b1Cd0a0f242d598834b3F2d126dC6bd774657",
"decimals": 18,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "usd-coin"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-edgeUSDC",
"priceId": "usd-coin",
"symbol": "edgeUSDC",
"name": "UltraYield USDC",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"amount": {
"type": "balanceOfEscrow",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x5435BC53f2C61298167cdB11Cdf0Db2BFa259ca0",
"decimals": 18,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "usd-coin"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-gtusdcf",
"priceId": "usd-coin",
"symbol": "gtusdcf",
"name": "Gauntlet USDC Frontier",
"iconUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
"amount": {
"type": "balanceOfEscrow",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x1deEfABEe758AAbdC29a542B24ca3b75aFD56765",
"decimals": 18,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "usd-coin"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-gtwethb",
"priceId": "weth",
"symbol": "Re7WETH",
"name": "Re7 WETH",
"symbol": "gtwethb",
"name": "Gauntlet WETH Balanced",
"iconUrl": "https://coin-images.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"amount": {
"type": "balanceOfEscrow",
"chain": "optimism",
"sinceTimestamp": 1776731785,
"address": "0x3d63934715b6D4c4DFbBC1a00Fe2A2145079DD76",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0xFeFeC33668E22677c4762d0853d56245a800ff08",
"decimals": 18,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776731785,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "weth"
},
"category": "ether",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-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": "optimism",
"sinceTimestamp": 1776188243,
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776188243,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "usd-coin"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false,
"bridgedUsing": {
"bridges": [
{
"name": "Circle CCTP"
}
]
}
},
{
"mode": "auto",
"id": "privacy-boost-USDT",
"priceId": "l2-standard-bridged-usdt-base",
"symbol": "USDT",
"name": "Tether USD",
"iconUrl": "https://coin-images.coingecko.com/coins/images/39963/large/usdt.png?1724952731",
"amount": {
"type": "balanceOfEscrow",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
"decimals": 6,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "l2-standard-bridged-usdt-base"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-WETH",
"priceId": "weth",
"symbol": "WETH",
"name": "Wrapped Ether",
"iconUrl": "https://coin-images.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"amount": {
"type": "balanceOfEscrow",
"chain": "optimism",
"sinceTimestamp": 1776188243,
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0x4200000000000000000000000000000000000006",
"decimals": 18,
"escrowAddress": "0xca689828854a422CF1f778be03CA80549408F620"
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1776188243,
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "weth"
},
"category": "ether",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "privacy-boost-wstETH",
"priceId": "wrapped-steth",
"symbol": "wstETH",
"name": "Wrapped liquid staked Ether 2.0",
"iconUrl": "https://coin-images.coingecko.com/coins/images/18834/large/wstETH.png?1696518295",
"amount": {
"type": "balanceOfEscrow",
"chain": "base",
"sinceTimestamp": 1788377831,
"address": "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
"decimals": 18,
"escrowAddress": "0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1788377831,
"value": "0",
"decimals": 0
},
"priceId": "wrapped-steth"
},
"category": "ether",
"source": "canonical",
"isAssociated": false
}
]
+52 -52
{
"optimism": {
"base": {
"roles": [],
"actors": [
{
"id": "AdminMultisig",
"name": "AdminMultisig",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * AuthRegistry [via: AuthRegistryProxyAdmin]\n * TokenRegistry [via: TokenRegistryProxyAdmin]\n * AuditGateway [via: AuditGatewayProxyAdmin]\n * PrivacyBoost [via: PrivacyBoostProxyAdmin]\n* Can interact with Groth16DepositVerifier\n * register and replace the Groth16 verification keys used to validate deposit epoch proofs \n* Can interact with Groth16GiftClaimVerifier\n * register and replace the Groth16 verification keys used to validate gift settlement and public gift exit proofs \n* Can interact with ExternalCallGateway\n * set the guardian, install or remove external call policies, pause or unpause the gateway, and sweep stranded tokens back to the pool while paused \n* Can interact with AuthRegistry\n * set the operator address of the AuthRegistry \n* Can interact with Groth16PortalDepositVerifier\n * register and replace the Groth16 verification keys used to validate portal deposit epoch proofs \n* Can interact with TokenRegistry\n * register new ERC-20 tokens to be accepted by the PrivacyBoost pool \n* Can interact with Groth16ForcedVerifier\n * register and replace the Groth16 verification keys used to validate forced withdrawal proofs \n* Can interact with Groth16EpochVerifier\n * register and replace the Groth16 verification keys used to validate epoch proofs \n* Can interact with AuditGateway\n * manage the list of registered auditors and set the auditLogger address of the AuditGateway \n* Can interact with PrivacyBoost\n * replace all five proof verifiers, set withdrawal and portal sweep fees (each up to 10%), set token-specific portal minimum sweeps, and change the treasury, operator and gateway route manager ",
"id": "OperatorMultisig",
"name": "OperatorMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with ExternalCallGateway\n * pause the gateway and remove external call policies \n* Can interact with AuthRegistry\n * manage the allowlist of relays that can submit key operations to the AuthRegistry on behalf of users \n* Can interact with PrivacyBoost\n * approve or revoke external gateway routes used by proof-authorized withdrawals \n * manage the allowlist of relays that submit epochs to the pool ",
"accounts": [
{
"address": "oeth:0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC",
"address": "base:0x420A8a682892bae85cba7fb0e5Cd806807C5Bf95",
"type": "Contract",
"isVerified": true,
"name": "0x6476…A0dC",
"url": "https://optimistic.etherscan.io/address/0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC"
"name": "0x420A…Bf95",
"url": "https://basescan.org/address/0x420A8a682892bae85cba7fb0e5Cd806807C5Bf95"
}
],
"chain": "optimism",
"chain": "base",
"references": [],
"participants": [
{
"address": "oeth:0xcf01AB4fa0C5796811Ad939daB8dEd833cf90683",
"address": "base:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"type": "EOA",
"isVerified": true,
"name": "0xcf01…0683",
"url": "https://optimistic.etherscan.io/address/0xcf01AB4fa0C5796811Ad939daB8dEd833cf90683"
},
{
"address": "oeth:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"type": "EOA",
"isVerified": true,
"name": "0x769e…AF1E",
"url": "https://optimistic.etherscan.io/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
"url": "https://basescan.org/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
},
{
"address": "oeth:0xB30347E816B525453468cC95C17231Ab04a0C0A9",
"address": "base:0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244",
"type": "EOA",
"isVerified": true,
"name": "0xB303…C0A9",
"url": "https://optimistic.etherscan.io/address/0xB30347E816B525453468cC95C17231Ab04a0C0A9"
"name": "0x90d3…4244",
"url": "https://basescan.org/address/0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244"
},
{
"address": "oeth:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"address": "base:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"type": "EOA",
"isVerified": true,
"name": "0xfEa8…0237",
"url": "https://optimistic.etherscan.io/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
"url": "https://basescan.org/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
}
],
"discoveryDrivenData": true
},
{
"id": "OperatorMultisig",
"name": "OperatorMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with ExternalCallGateway\n * pause the gateway and remove external call policies \n* Can interact with AuthRegistry\n * manage the allowlist of relays that can submit key operations to the AuthRegistry on behalf of users \n* Can interact with PrivacyBoost\n * approve or revoke external gateway routes used by proof-authorized withdrawals \n * manage the allowlist of relays that submit epochs to the pool ",
"id": "AdminMultisig",
"name": "AdminMultisig",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * TokenRegistry [via: TokenRegistryProxyAdmin]\n * AuthRegistry [via: AuthRegistryProxyAdmin]\n * PrivacyBoost [via: PrivacyBoostProxyAdmin]\n * AuditGateway [via: AuditGatewayProxyAdmin]\n* Can interact with ExternalCallGateway\n * set the guardian, install or remove external call policies, pause or unpause the gateway, and sweep stranded tokens back to the pool while paused \n* Can interact with Groth16PortalDepositVerifier\n * register and replace the Groth16 verification keys used to validate portal deposit epoch proofs \n* Can interact with TokenRegistry\n * register new ERC-20 tokens to be accepted by the PrivacyBoost pool \n* Can interact with Groth16ForcedVerifier\n * register and replace the Groth16 verification keys used to validate forced withdrawal proofs \n* Can interact with AuthRegistry\n * set the operator address of the AuthRegistry \n* Can interact with PrivacyBoost\n * replace all five proof verifiers, set withdrawal and portal sweep fees (each up to 10%), set token-specific portal minimum sweeps, and change the treasury, operator and gateway route manager \n* Can interact with AuditGateway\n * manage the list of registered auditors and set the auditLogger address of the AuditGateway \n* Can interact with Groth16GiftClaimVerifier\n * register and replace the Groth16 verification keys used to validate gift settlement and public gift exit proofs \n* Can interact with Groth16DepositVerifier\n * register and replace the Groth16 verification keys used to validate deposit epoch proofs \n* Can interact with Groth16EpochVerifier\n * register and replace the Groth16 verification keys used to validate epoch proofs ",
"accounts": [
{
"address": "oeth:0x78a927114A20Fb34b9d8d9c6a9A75E65f918D52B",
"address": "base:0x78DFf7F33E3d5edD68D13D6d1fE23078062866f7",
"type": "Contract",
"isVerified": true,
"name": "0x78a9…D52B",
"url": "https://optimistic.etherscan.io/address/0x78a927114A20Fb34b9d8d9c6a9A75E65f918D52B"
"name": "0x78DF…66f7",
"url": "https://basescan.org/address/0x78DFf7F33E3d5edD68D13D6d1fE23078062866f7"
}
],
"chain": "optimism",
"chain": "base",
"references": [],
"participants": [
{
"address": "oeth:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"address": "base:0xcf01AB4fa0C5796811Ad939daB8dEd833cf90683",
"type": "EOA",
"isVerified": true,
"name": "0xcf01…0683",
"url": "https://basescan.org/address/0xcf01AB4fa0C5796811Ad939daB8dEd833cf90683"
},
{
"address": "base:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"type": "EOA",
"isVerified": true,
"name": "0x769e…AF1E",
"url": "https://optimistic.etherscan.io/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
"url": "https://basescan.org/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
},
{
"address": "oeth:0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244",
"address": "base:0xB30347E816B525453468cC95C17231Ab04a0C0A9",
"type": "EOA",
"isVerified": true,
"name": "0x90d3…4244",
"url": "https://optimistic.etherscan.io/address/0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244"
"name": "0xB303…C0A9",
"url": "https://basescan.org/address/0xB30347E816B525453468cC95C17231Ab04a0C0A9"
},
{
"address": "oeth:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"address": "base:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"type": "EOA",
"isVerified": true,
"name": "0xfEa8…0237",
"url": "https://optimistic.etherscan.io/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
"url": "https://basescan.org/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
}
],
"discoveryDrivenData": true
},
{
"id": "TreasuryMultisig",
"name": "TreasuryMultisig",
"description": "A Multisig with 2/3 threshold. ",
"accounts": [
{
"address": "oeth:0xc82018cbC82A50064e3DdEF79EAdC319710Ffc5e",
"address": "base:0x04484B6065A43fa286e05E9C28a6c4Db77d917f8",
"type": "Contract",
"isVerified": true,
"name": "0xc820…fc5e",
"url": "https://optimistic.etherscan.io/address/0xc82018cbC82A50064e3DdEF79EAdC319710Ffc5e"
"name": "0x0448…17f8",
"url": "https://basescan.org/address/0x04484B6065A43fa286e05E9C28a6c4Db77d917f8"
}
],
"chain": "optimism",
"chain": "base",
"references": [],
"participants": [
{
"address": "oeth:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"address": "base:0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E",
"type": "EOA",
"isVerified": true,
"name": "0x769e…AF1E",
"url": "https://optimistic.etherscan.io/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
"url": "https://basescan.org/address/0x769ef261964f1eDe0a554b74e9bB900d3Fb4AF1E"
},
{
"address": "oeth:0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244",
"address": "base:0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244",
"type": "EOA",
"isVerified": true,
"name": "0x90d3…4244",
"url": "https://optimistic.etherscan.io/address/0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244"
"url": "https://basescan.org/address/0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244"
},
{
"address": "oeth:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"address": "base:0xfEa8d7D07365a1A429319EF7A7a265CB4F530237",
"type": "EOA",
"isVerified": true,
"name": "0xfEa8…0237",
"url": "https://optimistic.etherscan.io/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
"url": "https://basescan.org/address/0xfEa8d7D07365a1A429319EF7A7a265CB4F530237"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "oeth:0x6Bd37032571F47e50f312542ae05D548B69DC9B0",
"address": "base:0x6Bd37032571F47e50f312542ae05D548B69DC9B0",
"type": "EOA",
"isVerified": true,
"name": "0x6Bd3…C9B0",
"url": "https://optimistic.etherscan.io/address/0x6Bd37032571F47e50f312542ae05D548B69DC9B0",
"url": "https://basescan.org/address/0x6Bd37032571F47e50f312542ae05D548B69DC9B0",
"displayName": "EOA 1"
}
],
"chain": "optimism",
"chain": "base",
"description": "* Can interact with AuthRegistry\n * submit account key registrations, rotations and revocations with valid owner signatures \n* Can interact with PrivacyBoost\n * submit private transfer, withdrawal, deposit, portal deposit and gift settlement epochs with validity proofs, and simulate gateway withdrawals ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "oeth:0xE7F9E649b5406bf0751EA242CAc712151e1c73eB",
"address": "base:0xE7F9E649b5406bf0751EA242CAc712151e1c73eB",
"type": "EOA",
"isVerified": true,
"name": "0xE7F9…73eB",
"url": "https://optimistic.etherscan.io/address/0xE7F9E649b5406bf0751EA242CAc712151e1c73eB",
"url": "https://basescan.org/address/0xE7F9E649b5406bf0751EA242CAc712151e1c73eB",
"displayName": "EOA 2"
}
],
"chain": "optimism",
"chain": "base",
"description": "* Can interact with AuditGateway\n * log audit queries performed by registered auditors on the AuditGateway ",
"discoveryDrivenData": true
}
]
}
}
+148 -183
{
"addresses": {
"optimism": [
"base": [
{
"name": "AuthPoseidon",
"name": "ExternalCallGateway",
"isVerified": true,
"address": "oeth:0x09257a2B24C27586c2Db2C18c4b53bE459c7e870",
"address": "base:0x02Eb6E5779f5780A5ABB354341962d9312b7ABe6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Poseidon2 hashing helper used by AuthRegistry to compute account IDs, authorization leaves, spend approval commitments and Merkle tree nodes.\n",
"chain": "base",
"description": "Gateway executing pool-authorized external calls against an allowlist of target addresses and function selectors, with optional input/output token constraints. Enforces proof-bound settlement receipts and redeposits returned funds into the pool.\n* Roles:\n * **guardian**: OperatorMultisig\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x09257a2B24C27586c2Db2C18c4b53bE459c7e870#code"
"url": "https://basescan.org/address/0x02Eb6E5779f5780A5ABB354341962d9312b7ABe6#code"
},
{
"name": "TokenRegistryProxyAdmin",
"name": "Groth16PortalDepositVerifier",
"isVerified": true,
"address": "oeth:0x11B75DE42f6107AE4D5C50e4e34af6E34F63C0dd",
"address": "base:0x0c8bb018a3d8DF4c5fC86518ca57F8E1445BCF63",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Admin contract of the TokenRegistry proxy.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Groth16 verifier for PrivacyBoost portal deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x11B75DE42f6107AE4D5C50e4e34af6E34F63C0dd#code"
"url": "https://basescan.org/address/0x0c8bb018a3d8DF4c5fC86518ca57F8E1445BCF63#code"
},
{
"name": "Groth16DepositVerifier",
"name": "AuthRegistryProxyAdmin",
"isVerified": true,
"address": "oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5",
"address": "base:0x321e0edAb1b628aEF03DBe19CC9C7dAB844f84bc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Admin contract of the AuthRegistry proxy.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x16e1dE876dEB1C3251A1E923A206605D084F25C5#code"
"url": "https://basescan.org/address/0x321e0edAb1b628aEF03DBe19CC9C7dAB844f84bc#code"
},
{
"name": "Groth16GiftClaimVerifier",
"name": "TokenRegistryProxyAdmin",
"isVerified": true,
"address": "oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670",
"address": "base:0x32b0998c86d33b1b6898F486dC78D80FaA27095f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Admin contract of the TokenRegistry proxy.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x3C0028300aA32e5B0069fc4731D367E40BCF4670#code"
"url": "https://basescan.org/address/0x32b0998c86d33b1b6898F486dC78D80FaA27095f#code"
},
{
"name": "ExternalCallGateway",
"name": "TokenRegistry",
"isVerified": true,
"address": "oeth:0x54B576782d3CE325CAc9861E17bB5d7926e41955",
"address": "base:0x3A0bea3a715881793cFD698dDEBcF03784f0bE03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x32b0998c86d33b1b6898F486dC78D80FaA27095f"
],
"implementations": [
"base:0x2D90FB53C5194E2Dd9a3dc4D4Cf71253799e555E"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1788377057,
"transactionHash": "0x9a59d1b1a8f3dadc2f78b3741ac3b477bc00f039fd22c45a1da9ce0e1488b2a1",
"implementations": [
"base:0x2D90FB53C5194E2Dd9a3dc4D4Cf71253799e555E"
]
}
],
"description": "Registry mapping compact token IDs to the ERC-20 tokens accepted by the PrivacyBoost pool.\n* Roles:\n * **admin**: TokenRegistryProxyAdmin; ultimately AdminMultisig\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"name": "AdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3A0bea3a715881793cFD698dDEBcF03784f0bE03#code"
},
{
"name": "Groth16ForcedVerifier",
"isVerified": true,
"address": "base:0x40e93d3357A5A3d249437717Da936f6141ba85cE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Gateway executing pool-authorized external calls against an allowlist of target addresses and function selectors, with optional input/output token constraints. Enforces proof-bound settlement receipts and redeposits returned funds into the pool.\n* Roles:\n * **guardian**: OperatorMultisig\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x54B576782d3CE325CAc9861E17bB5d7926e41955#code"
"url": "https://basescan.org/address/0x40e93d3357A5A3d249437717Da936f6141ba85cE#code"
},
{
"name": "AuthRegistry",
"isVerified": true,
"address": "oeth:0x54e87D7D0E420B24B9FdFE9cFcAe88162093A48f",
"address": "base:0x4daC7dA2c8cA097B3e0FF42aBFCebd2833196eB3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0xfB66dfD80B9a96c2BF2bcfDC5E6715C48916eD6C"
"base:0x321e0edAb1b628aEF03DBe19CC9C7dAB844f84bc"
],
"implementations": [
"oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a"
"base:0xECBB712DC58156228187587783286B0662Bc06da"
]
},
"chain": "optimism",
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1776186491,
"transactionHash": "0x641f9c6a837b145e5a8a9f7d6cb35e080bd128eaaec7827c1665c090a22535d5",
"timestamp": 1788377061,
"transactionHash": "0xbc1b2d84d7c1c8379f51ad1b4dfb79891b544ab497bae54485badd192dd7b7a7",
"implementations": [
"oeth:0x2b32CD80464bE013007Ff35bBEEA29478194eA56"
"base:0xECBB712DC58156228187587783286B0662Bc06da"
]
},
}
],
"description": "Registry of PrivacyBoost account authorization keys and onchain spend approvals. Supports BabyJubJub keys authorized by account-owner signatures, approval-only accounts and revocable batches of spend approvals. Tracks current and recently superseded auth roots; forced withdrawals validate live auth records directly.\n* Roles:\n * **admin**: AuthRegistryProxyAdmin; ultimately AdminMultisig\n * **allowedRelays**: EOA 1\n * **operator**: OperatorMultisig\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"timestamp": 1779816339,
"transactionHash": "0xb9fbb085beef52c1c553f428b94180fc54ebdf3a50a3616b0efbae4756b572c3",
"name": "AdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4daC7dA2c8cA097B3e0FF42aBFCebd2833196eB3#code"
},
{
"name": "PrivacyBoost",
"isVerified": true,
"address": "base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xd4C0599a5d9A2CcA46Ee05a03405B3ad3407b15e"
],
"implementations": [
"base:0x508798455053B0b8BF892454a2A73d88891d9fFd"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1788377831,
"transactionHash": "0xb57d5d9d8b938eb5567222a01bbddfba9b327ffe0b5219fdb7a410f1f4c006fd",
"implementations": [
"oeth:0xcCdF755866c708A4a8D0002DC3f1a574226DF38b"
"base:0x2944dB0B9500c3F82Af6b231ff83cf4c5B8f5037"
]
},
{
"timestamp": 1788402805,
"transactionHash": "0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c",
"timestamp": 1790202293,
"transactionHash": "0x016cebde28f09c82a06bdf92d6bbb4631e39767d8ec96c337f1e1eb478324af6",
"implementations": [
"oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a"
"base:0x508798455053B0b8BF892454a2A73d88891d9fFd"
]
}
],
"description": "Registry of PrivacyBoost account authorization keys and onchain spend approvals. Supports BabyJubJub keys authorized by account-owner signatures, approval-only accounts and revocable batches of spend approvals. Tracks current and recently superseded auth roots; forced withdrawals validate live auth records directly.\n* Roles:\n * **admin**: AuthRegistryProxyAdmin; ultimately AdminMultisig\n * **allowedRelays**: EOA 1\n * **operator**: OperatorMultisig\n * **owner**: AdminMultisig",
"description": "Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\n* Roles:\n * **admin**: PrivacyBoostProxyAdmin; ultimately AdminMultisig\n * **allowedRelays**: EOA 1\n * **gatewayRouteManager**: OperatorMultisig\n * **operator**: OperatorMultisig\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"name": "AdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x54e87D7D0E420B24B9FdFE9cFcAe88162093A48f#code"
"url": "https://basescan.org/address/0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40#code"
},
{
"name": "Groth16PortalDepositVerifier",
"name": "AuditGateway",
"isVerified": true,
"address": "oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6",
"address": "base:0x7Bb891f7D7c78A8d6770cb273aBC603A148824b6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Groth16 verifier for PrivacyBoost portal deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x6806eA551C3c8350Ab156eC5001D28705dCda2B6#code"
},
{
"name": "TokenRegistry",
"isVerified": true,
"address": "oeth:0x867872f80b1e22D30C4b06FcB474aC10B9DAA2f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x11B75DE42f6107AE4D5C50e4e34af6E34F63C0dd"
"base:0xB32ef2884794999e1E260a3f68368A24CEF25b35"
],
"implementations": [
"oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19"
"base:0x27776Ed100A4D1C6e1479319BE6eB2e262F7CEc4"
]
},
"chain": "optimism",
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1776186485,
"transactionHash": "0x969857c177e78cddd77fb7d52805242d5af5b357e33e3ba282e67aa416457f9e",
"timestamp": 1788377839,
"transactionHash": "0xcd03e41021bbf07f85cf52f45650313df42320ba0e64e9b439d8ba5a7b5b514a",
"implementations": [
"oeth:0x238e6ec4968c9b00b16293139951c23815Ca1134"
"base:0x27776Ed100A4D1C6e1479319BE6eB2e262F7CEc4"
]
},
{
"timestamp": 1788402805,
"transactionHash": "0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c",
"implementations": [
"oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19"
]
}
],
"description": "Registry mapping compact token IDs to the ERC-20 tokens accepted by the PrivacyBoost pool.\n* Roles:\n * **admin**: TokenRegistryProxyAdmin; ultimately AdminMultisig\n * **owner**: AdminMultisig",
"description": "Manages the list of auditors authorized to query private user data through the Audit API of the TEE, and stores an onchain log of every audit access so that users can publicly verify whether and when their private data was disclosed.\n* Roles:\n * **admin**: AuditGatewayProxyAdmin; ultimately AdminMultisig\n * **auditLogger**: EOA 2\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"name": "AdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x867872f80b1e22D30C4b06FcB474aC10B9DAA2f6#code"
"url": "https://basescan.org/address/0x7Bb891f7D7c78A8d6770cb273aBC603A148824b6#code"
},
{
"name": "AuditGatewayProxyAdmin",
"name": "AuthPoseidon",
"isVerified": true,
"address": "oeth:0x96f3E5551E1330f31974597217019812667544c8",
"address": "base:0x8b72188D4A15661E0a3D232ACecCA7A26757C42D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Admin contract of the AuditGateway proxy.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Poseidon2 hashing helper used by AuthRegistry to compute account IDs, authorization leaves, spend approval commitments and Merkle tree nodes.\n",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x96f3E5551E1330f31974597217019812667544c8#code"
"url": "https://basescan.org/address/0x8b72188D4A15661E0a3D232ACecCA7A26757C42D#code"
},
{
"name": "PrivacyBoostProxyAdmin",
"name": "Groth16GiftClaimVerifier",
"isVerified": true,
"address": "oeth:0x9d3F3CcD3c7a084eE73C4584CE33e77CEdaEc7E2",
"address": "base:0x8f394a08A7544daf39aF38FEA5B2E348180bDC05",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Admin contract of the PrivacyBoost proxy.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x9d3F3CcD3c7a084eE73C4584CE33e77CEdaEc7E2#code"
"url": "https://basescan.org/address/0x8f394a08A7544daf39aF38FEA5B2E348180bDC05#code"
},
{
"name": "Groth16ForcedVerifier",
"name": "Groth16DepositVerifier",
"isVerified": true,
"address": "oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE",
"address": "base:0xac60252EF8dbC139e0da63cE7F2a13D25a5B627d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE#code"
"url": "https://basescan.org/address/0xac60252EF8dbC139e0da63cE7F2a13D25a5B627d#code"
},
{
"name": "Groth16EpochVerifier",
"isVerified": true,
"address": "oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B",
"address": "base:0xB144eb785E2CCe17681395Cd475093C01AEeb11e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"chain": "base",
"description": "Groth16 verifier for PrivacyBoost private transfer and withdrawal epochs. Keys are indexed by (max transfers, inputs per transfer, outputs per transfer). The nested key registry is not enumerable and emits no registration events; discovery monitors the reviewed production circuit configurations.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B#code"
"url": "https://basescan.org/address/0xB144eb785E2CCe17681395Cd475093C01AEeb11e#code"
},
{
"name": "AuditGateway",
"name": "AuditGatewayProxyAdmin",
"isVerified": true,
"address": "oeth:0xb328535aB3bCe578996AE9af5A7f44f175721118",
"address": "base:0xB32ef2884794999e1E260a3f68368A24CEF25b35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x96f3E5551E1330f31974597217019812667544c8"
],
"implementations": [
"oeth:0x384D1460107D88b1a21CA202825583c19cb6A808"
]
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1776188259,
"transactionHash": "0x28dd62c9d8f9ca9dfc48db609c540d5269aaa33a4b4067a401ddec3ea65f2909",
"implementations": [
"oeth:0xfEfb6bD314680BDbc1B00FE2eA5A038655Bb4478"
]
},
{
"timestamp": 1788402805,
"transactionHash": "0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c",
"implementations": [
"oeth:0x384D1460107D88b1a21CA202825583c19cb6A808"
]
}
],
"description": "Manages the list of auditors authorized to query private user data through the Audit API of the TEE, and stores an onchain log of every audit access so that users can publicly verify whether and when their private data was disclosed.\n* Roles:\n * **admin**: AuditGatewayProxyAdmin; ultimately AdminMultisig\n * **auditLogger**: EOA 2\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"name": "AdminMultisig",
"delay": "no"
}
],
"chain": "base",
"description": "Admin contract of the AuditGateway proxy.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0xb328535aB3bCe578996AE9af5A7f44f175721118#code"
"url": "https://basescan.org/address/0xB32ef2884794999e1E260a3f68368A24CEF25b35#code"
},
{
"name": "PrivacyBoost",
"name": "PrivacyBoostProxyAdmin",
"isVerified": true,
"address": "oeth:0xca689828854a422CF1f778be03CA80549408F620",
"address": "base:0xd4C0599a5d9A2CcA46Ee05a03405B3ad3407b15e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x9d3F3CcD3c7a084eE73C4584CE33e77CEdaEc7E2"
],
"implementations": [
"oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1776188243,
"transactionHash": "0xdcf02ee332e61ef9468f869e0f309ec445008906b5419c660a5fab69e2424b8d",
"implementations": [
"oeth:0x0b9B98d3B95D74487C481e7830ab440896aE62E5"
]
},
{
"timestamp": 1788402805,
"transactionHash": "0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c",
"implementations": [
"oeth:0x9CB144D35748932EC44950d0837248fcF8747828"
]
},
{
"timestamp": 1790202273,
"transactionHash": "0x5bca65b825c2f2679d0fbe2d3e0285218e9c988e3f0d6484a6baaa879b52ac0f",
"implementations": [
"oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002"
]
}
],
"description": "Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\n* Roles:\n * **admin**: PrivacyBoostProxyAdmin; ultimately AdminMultisig\n * **allowedRelays**: EOA 1\n * **gatewayRouteManager**: OperatorMultisig\n * **operator**: OperatorMultisig\n * **owner**: AdminMultisig",
"upgradableBy": [
{
"name": "AdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0xca689828854a422CF1f778be03CA80549408F620#code"
},
{
"name": "AuthRegistryProxyAdmin",
"isVerified": true,
"address": "oeth:0xfB66dfD80B9a96c2BF2bcfDC5E6715C48916eD6C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Admin contract of the AuthRegistry proxy.\n* Roles:\n * **owner**: AdminMultisig",
"chain": "base",
"description": "Admin contract of the PrivacyBoost proxy.\n* Roles:\n * **owner**: AdminMultisig",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0xfB66dfD80B9a96c2BF2bcfDC5E6715C48916eD6C#code"
"url": "https://basescan.org/address/0xd4C0599a5d9A2CcA46Ee05a03405B3ad3407b15e#code"
}
]
},
"risks": [],
"zkVerifiers": [
"oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5",
"oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B",
"oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE",
"oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6",
"oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670"
"base:0xac60252EF8dbC139e0da63cE7F2a13D25a5B627d",
"base:0xB144eb785E2CCe17681395Cd475093C01AEeb11e",
"base:0x40e93d3357A5A3d249437717Da936f6141ba85cE",
"base:0x0c8bb018a3d8DF4c5fC86518ca57F8E1445BCF63",
"base:0x8f394a08A7544daf39aF38FEA5B2E348180bDC05"
]
}
+1 -1
{
"baseTimestamp": 1790604001,
"baseTimestamp": 1790852159,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+14 -0
[
{
"id": "4a45e933",
"date": "Thu, 01 Oct 2026 10:59:52 GMT",
"timestamp": 1790852159,
"description": "Switched privacy boost discovery to base from op mainnet.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract ExternalCallGateway (base:0x02Eb6E5779f5780A5ABB354341962d9312b7ABe6) [privacy-boost/ExternalCallGateway]\n +++ description: Gateway executing pool-authorized external calls against an allowlist of target addresses and function selectors, with optional input/output token constraints. Enforces proof-bound settlement receipts and redeposits returned funds into the pool.\n```\n\n```diff\n+ Status: CREATED\n contract TreasuryMultisig (base:0x04484B6065A43fa286e05E9C28a6c4Db77d917f8) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Groth16PortalDepositVerifier (base:0x0c8bb018a3d8DF4c5fC86518ca57F8E1445BCF63) [privacy-boost/Groth16PortalDepositVerifier]\n +++ description: Groth16 verifier for PrivacyBoost portal deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract AuthRegistryProxyAdmin (base:0x321e0edAb1b628aEF03DBe19CC9C7dAB844f84bc) [global/ProxyAdmin]\n +++ description: Admin contract of the AuthRegistry proxy.\n```\n\n```diff\n+ Status: CREATED\n contract TokenRegistryProxyAdmin (base:0x32b0998c86d33b1b6898F486dC78D80FaA27095f) [global/ProxyAdmin]\n +++ description: Admin contract of the TokenRegistry proxy.\n```\n\n```diff\n+ Status: CREATED\n contract TokenRegistry (base:0x3A0bea3a715881793cFD698dDEBcF03784f0bE03) [privacy-boost/TokenRegistry]\n +++ description: Registry mapping compact token IDs to the ERC-20 tokens accepted by the PrivacyBoost pool.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16ForcedVerifier (base:0x40e93d3357A5A3d249437717Da936f6141ba85cE) [privacy-boost/Groth16ForcedVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorMultisig (base:0x420A8a682892bae85cba7fb0e5Cd806807C5Bf95) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AuthRegistry (base:0x4daC7dA2c8cA097B3e0FF42aBFCebd2833196eB3) [privacy-boost/AuthRegistry_v2]\n +++ description: Registry of PrivacyBoost account authorization keys and onchain spend approvals. Supports BabyJubJub keys authorized by account-owner signatures, approval-only accounts and revocable batches of spend approvals. Tracks current and recently superseded auth roots; forced withdrawals validate live auth records directly.\n```\n\n```diff\n+ Status: CREATED\n contract PrivacyBoost (base:0x71A0fD3C76E3E937d8275A3cb6a467b70123bD40) [privacy-boost/PrivacyBoost_v2]\n +++ description: Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\n```\n\n```diff\n+ Status: CREATED\n contract AdminMultisig (base:0x78DFf7F33E3d5edD68D13D6d1fE23078062866f7) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AuditGateway (base:0x7Bb891f7D7c78A8d6770cb273aBC603A148824b6) [privacy-boost/AuditGateway]\n +++ description: Manages the list of auditors authorized to query private user data through the Audit API of the TEE, and stores an onchain log of every audit access so that users can publicly verify whether and when their private data was disclosed.\n```\n\n```diff\n+ Status: CREATED\n contract AuthPoseidon (base:0x8b72188D4A15661E0a3D232ACecCA7A26757C42D) [privacy-boost/AuthPoseidon]\n +++ description: Poseidon2 hashing helper used by AuthRegistry to compute account IDs, authorization leaves, spend approval commitments and Merkle tree nodes.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16GiftClaimVerifier (base:0x8f394a08A7544daf39aF38FEA5B2E348180bDC05) [privacy-boost/Groth16GiftClaimVerifier]\n +++ description: Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16DepositVerifier (base:0xac60252EF8dbC139e0da63cE7F2a13D25a5B627d) [privacy-boost/Groth16DepositVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16EpochVerifier (base:0xB144eb785E2CCe17681395Cd475093C01AEeb11e) [privacy-boost/Groth16EpochVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost private transfer and withdrawal epochs. Keys are indexed by (max transfers, inputs per transfer, outputs per transfer). The nested key registry is not enumerable and emits no registration events; discovery monitors the reviewed production circuit configurations.\n```\n\n```diff\n+ Status: CREATED\n contract AuditGatewayProxyAdmin (base:0xB32ef2884794999e1E260a3f68368A24CEF25b35) [global/ProxyAdmin]\n +++ description: Admin contract of the AuditGateway proxy.\n```\n\n```diff\n+ Status: CREATED\n contract PrivacyBoostProxyAdmin (base:0xd4C0599a5d9A2CcA46Ee05a03405B3ad3407b15e) [global/ProxyAdmin]\n +++ description: Admin contract of the PrivacyBoost proxy.\n```"
}
]
},
{
"id": "7e3ac8d8",
"date": "Mon, 28 Sep 2026 14:01:06 GMT",
"timestamp": 1790604001,
"description": "Redeployed identical PrivacyBoost implementation (https://disco.l2beat.com/diff/oeth:0x9CB144D35748932EC44950d0837248fcF8747828/oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002) together with redeploying three verifiers (Groth16EpochVerifier, Groth16ForcedVerifier and Groth16GiftClaimVerifier).\n\nThese three verifiers have different verification keys because forced withdrawal and gift claim circuits were recompiled with gnark v0.16.3 after the EdDSA signature check was rewritten to a double-base scalar multiplication ([PR #10](https://github.com/sunnyside-io/privacy-boost-protocol/pull/10)) and some circuit shapes are no longer supported. New circuits also introduce a new trusted setup.\n\nTrusted setup artifacts are not yet published so the verification keys could not be regenerated.",
"isHighSeverity": true,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract Groth16GiftClaimVerifier (oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4) [privacy-boost/Groth16GiftClaimVerifier]\n +++ description: Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n contract AdminMultisig (oeth:0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1.from:\n- \"oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4\"\n+ \"oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670\"\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641\",\"description\":\"register and replace the Groth16 verification keys used to validate forced withdrawal proofs.\",\"role\":\".owner\"}\n receivedPermissions.6:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE\",\"description\":\"register and replace the Groth16 verification keys used to validate forced withdrawal proofs.\",\"role\":\".owner\"}\n receivedPermissions.7.from:\n- \"oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6\"\n+ \"oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Groth16ForcedVerifier (oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641) [privacy-boost/Groth16ForcedVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n- Status: DELETED\n contract Groth16EpochVerifier (oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6) [privacy-boost/Groth16EpochVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost private transfer and withdrawal epochs. Keys are indexed by (max transfers, inputs per transfer, outputs per transfer). The nested key registry is not enumerable and emits no registration events; discovery monitors the reviewed production circuit configurations.\n```\n\n```diff\n contract PrivacyBoost (oeth:0xca689828854a422CF1f778be03CA80549408F620) [privacy-boost/PrivacyBoost_v2] {\n +++ description: Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\n values.$implementation:\n- \"oeth:0x9CB144D35748932EC44950d0837248fcF8747828\"\n+ \"oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002\"\n values.$pastUpgrades.2:\n+ [\"2026-09-23T22:24:33.000Z\",\"0x5bca65b825c2f2679d0fbe2d3e0285218e9c988e3f0d6484a6baaa879b52ac0f\",[\"oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ description: Groth16 verifier used for private transfer / withdrawal epoch proofs.\n+++ severity: HIGH\n values.epochVerifier:\n- \"oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6\"\n+ \"oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B\"\n+++ description: Groth16 verifier used for forced withdrawal proofs.\n+++ severity: HIGH\n values.forcedVerifier:\n- \"oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641\"\n+ \"oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE\"\n+++ description: Groth16 verifier for private gift settlement and public gift exit proofs.\n+++ severity: HIGH\n values.giftClaimVerifier:\n- \"oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4\"\n+ \"oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670\"\n implementationNames.oeth:0x9CB144D35748932EC44950d0837248fcF8747828:\n- \"PrivacyBoost\"\n implementationNames.oeth:0x319785d27Bd9889248804FA803FAC3e58D9ca002:\n+ \"PrivacyBoost\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Groth16GiftClaimVerifier (oeth:0x3C0028300aA32e5B0069fc4731D367E40BCF4670) [privacy-boost/Groth16GiftClaimVerifier]\n +++ description: Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16ForcedVerifier (oeth:0xA307E5d45Dee6F1EF1F7ef67619a0aFE8DcdacFE) [privacy-boost/Groth16ForcedVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16EpochVerifier (oeth:0xac23C35cBA4a6C60EccBef31bC59Eacc2868663B) [privacy-boost/Groth16EpochVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost private transfer and withdrawal epochs. Keys are indexed by (max transfers, inputs per transfer, outputs per transfer). The nested key registry is not enumerable and emits no registration events; discovery monitors the reviewed production circuit configurations.\n```"
}
]
},
{
"id": "b6c9f26f",
"date": "Tue, 15 Sep 2026 09:32:35 GMT",
"timestamp": 1789464689,
"description": "Added a new member to the admin ms: 2/3 -> 3/4.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AdminMultisig (oeth:0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"oeth:0xcf01AB4fa0C5796811Ad939daB8dEd833cf90683\"\n values.$members.1:\n- \"oeth:0x90d3EbF1bbE3075F41772bB6f0A54e6038C84244\"\n+ \"oeth:0xB30347E816B525453468cC95C17231Ab04a0C0A9\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "19595947",
"date": "Mon, 07 Sep 2026 13:24:41 GMT",
"timestamp": 1788787273,
"description": "Feature upgrade: replaces PrivacyBoost/AuthRegistry logic and all three verifiers, adds portal and gift features + verifiers, an external-call gateway, and expands the token registry to 11 assets. Auth snapshots are **removed**. New keys remain unverified because the trusted setup records are not yet published.\n\nexternal call gateway: whitelisted defi interactions\n\nportal: reusable recipient addresses\n\ngift: claim to a custom address (private or public) using a 'gift note'\n\nAuthRegistry: https://disco.l2beat.com/diff/oeth:0xcCdF755866c708A4a8D0002DC3f1a574226DF38b/oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a\n\nTokenRegistry: https://disco.l2beat.com/diff/oeth:0x238e6ec4968c9b00b16293139951c23815Ca1134/oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19\n\nAuditGateway: https://disco.l2beat.com/diff/oeth:0xfEfb6bD314680BDbc1B00FE2eA5A038655Bb4478/oeth:0x384D1460107D88b1a21CA202825583c19cb6A808\n\nPrivacyBoost: https://disco.l2beat.com/diff/oeth:0x0b9B98d3B95D74487C481e7830ab440896aE62E5/oeth:0x9CB144D35748932EC44950d0837248fcF8747828",
"isHighSeverity": true,
"changeCount": 100,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AuthRegistry (oeth:0x54e87D7D0E420B24B9FdFE9cFcAe88162093A48f) [privacy-boost/AuthRegistry_v2] {\n +++ description: Registry of PrivacyBoost account authorization keys and onchain spend approvals. Supports BabyJubJub keys authorized by account-owner signatures, approval-only accounts and revocable batches of spend approvals. Tracks current and recently superseded auth roots; forced withdrawals validate live auth records directly.\n template:\n- \"privacy-boost/AuthRegistry\"\n+ \"privacy-boost/AuthRegistry_v2\"\n sourceHashes.1:\n- \"0x6428f3cd5084b5378b6215a3d5732d338b7579e92f92b364ee6f1db1cd9c9f16\"\n+ \"0x53a840fbb8f7f80637b9be2a5f960b7901c110d9a8e08d65befb06d6532b110a\"\n description:\n- \"Registry of account authorization keys for the PrivacyBoost pool. Accounts register BabyJubJub approval public keys into Merkle trees with EIP-712 owner signatures (submitted directly or through allowed relays), and can rotate or revoke them. PrivacyBoost snapshots the tree roots and epoch proofs validate spend authorization against them.\"\n+ \"Registry of PrivacyBoost account authorization keys and onchain spend approvals. Supports BabyJubJub keys authorized by account-owner signatures, approval-only accounts and revocable batches of spend approvals. Tracks current and recently superseded auth roots; forced withdrawals validate live auth records directly.\"\n values.$implementation:\n- \"oeth:0xcCdF755866c708A4a8D0002DC3f1a574226DF38b\"\n+ \"oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a\"\n values.$pastUpgrades.2:\n+ [\"2026-09-03T02:33:25.000Z\",\"0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c\",[\"oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.AUTH_ROOT_HISTORY_SIZE:\n- 64\n+++ description: External Poseidon2 helper for account IDs, authorization leaves and auth Merkle tree hashing.\n+++ severity: HIGH\n values.authPoseidon:\n+ \"oeth:0x09257a2B24C27586c2Db2C18c4b53bE459c7e870\"\n+++ description: Maximum lifetime of an onchain spend approval, in seconds.\n+++ severity: HIGH\n values.MAX_APPROVAL_LIFETIME:\n+ 2592000\n fieldMeta.authPoseidon:\n+ {\"severity\":\"HIGH\",\"description\":\"External Poseidon2 helper for account IDs, authorization leaves and auth Merkle tree hashing.\"}\n fieldMeta.MAX_APPROVAL_LIFETIME:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum lifetime of an onchain spend approval, in seconds.\"}\n implementationNames.oeth:0xcCdF755866c708A4a8D0002DC3f1a574226DF38b:\n- \"AuthRegistry\"\n implementationNames.oeth:0xA2072F7B4b261F997035f9522648c7c5bAF9370a:\n+ \"AuthRegistry\"\n }\n```\n\n```diff\n contract AdminMultisig (oeth:0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5\",\"description\":\"register and replace the Groth16 verification keys used to validate deposit epoch proofs.\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4\",\"description\":\"register and replace the Groth16 verification keys used to validate gift settlement and public gift exit proofs.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0x54B576782d3CE325CAc9861E17bB5d7926e41955\",\"description\":\"set the guardian, install or remove external call policies, pause or unpause the gateway, and sweep stranded tokens back to the pool while paused.\",\"role\":\".owner\"}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6\",\"description\":\"register and replace the Groth16 verification keys used to validate portal deposit epoch proofs.\",\"role\":\".owner\"}\n receivedPermissions.1.description:\n- \"register and replace the Groth16 verification keys used to validate epoch proofs.\"\n+ \"register and replace the Groth16 verification keys used to validate forced withdrawal proofs.\"\n receivedPermissions.1.from:\n- \"oeth:0x67b1bD839203223870fBF51e4CDf2104E3Ca966b\"\n+ \"oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641\"\n receivedPermissions.7:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6\",\"description\":\"register and replace the Groth16 verification keys used to validate epoch proofs.\",\"role\":\".owner\"}\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"oeth:0xC829061276e95D11aF92E678DE2B767AcFB4e924\",\"description\":\"register and replace the Groth16 verification keys used to validate deposit proofs.\",\"role\":\".owner\"}\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"oeth:0xca689828854a422CF1f778be03CA80549408F620\",\"description\":\"replace the epoch, deposit and forced withdrawal proof verifiers, set the withdrawal fee (up to 10%), and set the treasury and operator addresses.\",\"role\":\".owner\"}\n receivedPermissions.6.description:\n- \"register and replace the Groth16 verification keys used to validate forced withdrawal proofs.\"\n+ \"replace all five proof verifiers, set withdrawal and portal sweep fees (each up to 10%), set token-specific portal minimum sweeps, and change the treasury, operator and gateway route manager.\"\n receivedPermissions.6.from:\n- \"oeth:0xF023c61C5c745Be40fd30B0d48C0929839Ec3C67\"\n+ \"oeth:0xca689828854a422CF1f778be03CA80549408F620\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Groth16EpochVerifier (oeth:0x67b1bD839203223870fBF51e4CDf2104E3Ca966b) [privacy-boost/Groth16EpochVerifier]\n +++ description: Groth16 verifier for PrivacyBoost private transfer / withdrawal epoch proofs. Verification keys are stored in SSTORE2 data contracts, keyed by circuit configuration (max transfers, inputs and outputs per transfer). Registered epoch keys are not enumerable on-chain.\n```\n\n```diff\n EOA (oeth:0x6Bd37032571F47e50f312542ae05D548B69DC9B0) {\n +++ description: None\n receivedPermissions.1.description:\n- \"submit epochs of private transfers, withdrawals and deposits with validity proofs, and snapshot auth tree roots.\"\n+ \"submit private transfer, withdrawal, deposit, portal deposit and gift settlement epochs with validity proofs, and simulate gateway withdrawals.\"\n }\n```\n\n```diff\n contract OperatorMultisig (oeth:0x78a927114A20Fb34b9d8d9c6a9A75E65f918D52B) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0x54B576782d3CE325CAc9861E17bB5d7926e41955\",\"description\":\"pause the gateway and remove external call policies.\",\"role\":\".guardian\"}\n receivedPermissions.2:\n+ {\"permission\":\"interact\",\"from\":\"oeth:0xca689828854a422CF1f778be03CA80549408F620\",\"description\":\"approve or revoke external gateway routes used by proof-authorized withdrawals.\",\"role\":\".gatewayRouteManager\"}\n receivedPermissions.1.description:\n- \"manage the relay allowlist and schedule changes of the auth snapshot interval.\"\n+ \"manage the allowlist of relays that submit epochs to the pool.\"\n }\n```\n\n```diff\n contract TokenRegistry (oeth:0x867872f80b1e22D30C4b06FcB474aC10B9DAA2f6) [privacy-boost/TokenRegistry] {\n +++ description: Registry mapping compact token IDs to the ERC-20 tokens accepted by the PrivacyBoost pool.\n values.$implementation:\n- \"oeth:0x238e6ec4968c9b00b16293139951c23815Ca1134\"\n+ \"oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19\"\n values.$pastUpgrades.1:\n+ [\"2026-09-03T02:33:25.000Z\",\"0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c\",[\"oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: Latest token ID assigned; tokens are registered with IDs 1..nextId.\n values.nextId:\n- 4\n+ 11\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.4:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0x68f180fcCe6836688e9084f035309E29Bf0A2095\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.5:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.6:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.7:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0xDCB612005417Dc906fF72c87DF732e5a90D49e11\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.8:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.9:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0xC30ce6A5758786e0F640cC5f881Dd96e9a1C5C59\",\"tokenSubId\":0}\n+++ description: Registered tokens (token type, token address, sub-id) by token ID.\n values.tokens.10:\n+ {\"tokenType\":0,\"tokenAddress\":\"oeth:0x3d63934715b6D4c4DFbBC1a00Fe2A2145079DD76\",\"tokenSubId\":0}\n implementationNames.oeth:0x238e6ec4968c9b00b16293139951c23815Ca1134:\n- \"TokenRegistry\"\n implementationNames.oeth:0x86A891632594Ae26834275925Eb4Fde37F1eBb19:\n+ \"TokenRegistry\"\n }\n```\n\n```diff\n contract AuditGateway (oeth:0xb328535aB3bCe578996AE9af5A7f44f175721118) [privacy-boost/AuditGateway] {\n +++ description: Manages the list of auditors authorized to query private user data through the Audit API of the TEE, and stores an onchain log of every audit access so that users can publicly verify whether and when their private data was disclosed.\n values.$implementation:\n- \"oeth:0xfEfb6bD314680BDbc1B00FE2eA5A038655Bb4478\"\n+ \"oeth:0x384D1460107D88b1a21CA202825583c19cb6A808\"\n values.$pastUpgrades.1:\n+ [\"2026-09-03T02:33:25.000Z\",\"0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c\",[\"oeth:0x384D1460107D88b1a21CA202825583c19cb6A808\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.oeth:0xfEfb6bD314680BDbc1B00FE2eA5A038655Bb4478:\n- \"AuditGateway\"\n implementationNames.oeth:0x384D1460107D88b1a21CA202825583c19cb6A808:\n+ \"AuditGateway\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Groth16DepositVerifier (oeth:0xC829061276e95D11aF92E678DE2B767AcFB4e924) [privacy-boost/Groth16DepositVerifier]\n +++ description: Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts, registered per supported batch size.\n```\n\n```diff\n contract PrivacyBoost (oeth:0xca689828854a422CF1f778be03CA80549408F620) [privacy-boost/PrivacyBoost_v2] {\n +++ description: Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\n template:\n- \"privacy-boost/PrivacyBoost\"\n+ \"privacy-boost/PrivacyBoost_v2\"\n sourceHashes.1:\n- \"0x0969b8ba50a27e47a32264c554c7bb5f41f38b4371347f61b08d4d8ac55ce613\"\n+ \"0xa93601acbe9c964bab9c061132f2a8b35338b4dfbacee9bf924163d745e04405\"\n description:\n- \"Main contract of the PrivacyBoost private transfer pool. It escrows registered ERC-20 tokens deposited against note commitments, and lets allowed relays batch private transfers and withdrawals into epochs that are verified with Groth16 proofs against a note Merkle tree. Users can exit without relay cooperation via a delayed forced withdrawal with their own proof.\"\n+ \"Main contract of the PrivacyBoost pool. Escrows ERC-20 tokens and verifies relay-submitted private transfer, withdrawal, deposit, portal deposit and gift settlement proofs. Supports approved external gateway calls and permissionless exits through delayed forced withdrawals or public gift exits.\"\n values.$implementation:\n- \"oeth:0x0b9B98d3B95D74487C481e7830ab440896aE62E5\"\n+ \"oeth:0x9CB144D35748932EC44950d0837248fcF8747828\"\n values.$pastUpgrades.1:\n+ [\"2026-09-03T02:33:25.000Z\",\"0xdb489f72d2b3e0cdab34535d416d81f14c6ca3d74d30c68e7f02cb2017fc035c\",[\"oeth:0x9CB144D35748932EC44950d0837248fcF8747828\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.authSnapshotInterval:\n- 30\n values.authSnapshotScheduleVersion:\n- 0\n values.authSnapshotStartBlock:\n- 0\n values.authSnapshotStartRound:\n- 0\n values.currentAuthSnapshotInterval:\n- 30\n+++ description: Groth16 verifier used for deposit epoch proofs.\n+++ severity: HIGH\n values.depositVerifier:\n- \"oeth:0xC829061276e95D11aF92E678DE2B767AcFB4e924\"\n+ \"oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5\"\n+++ description: Groth16 verifier used for private transfer / withdrawal epoch proofs.\n+++ severity: HIGH\n values.epochVerifier:\n- \"oeth:0x67b1bD839203223870fBF51e4CDf2104E3Ca966b\"\n+ \"oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6\"\n+++ description: Groth16 verifier used for forced withdrawal proofs.\n+++ severity: HIGH\n values.forcedVerifier:\n- \"oeth:0xF023c61C5c745Be40fd30B0d48C0929839Ec3C67\"\n+ \"oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641\"\n values.latestSnapshotRound:\n- 5195055\n values.maxForcedInputs:\n- 8\n+ 13\n values.maxOutputsPerTransfer:\n- 11\n+ 201\n values.pendingAuthSnapshotEffectiveBlock:\n- 0\n values.pendingAuthSnapshotInterval:\n- 0\n values.pendingAuthSnapshotStartRound:\n- 0\n values.gatewayRouteManager:\n+ \"oeth:0x78a927114A20Fb34b9d8d9c6a9A75E65f918D52B\"\n+++ description: Approved synchronous gateway routes for proof-authorized external calls.\n+++ severity: HIGH\n values.gateways:\n+ [\"oeth:0x54B576782d3CE325CAc9861E17bB5d7926e41955\"]\n+++ description: Groth16 verifier for private gift settlement and public gift exit proofs.\n+++ severity: HIGH\n values.giftClaimVerifier:\n+ \"oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4\"\n+++ description: Maximum age in blocks of a superseded auth root accepted for epoch and private gift settlement proofs.\n+++ severity: HIGH\n values.maxEpochAuthStalenessBlocks:\n+ 300\n+++ description: Maximum age in blocks of a superseded auth root accepted for public gift exits. Despite its legacy name, this does not govern forced withdrawals, which check the live auth record at request time.\n+++ severity: HIGH\n values.maxForcedWithdrawalAuthStalenessBlocks:\n+ 500\n+++ description: Groth16 verifier for portal deposit proofs.\n+++ severity: HIGH\n values.portalDepositVerifier:\n+ \"oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6\"\n+++ description: Minimum gross amount per token ID required for a portal sweep, in token base units; defaults to zero.\n values.portalMinimumSweeps:\n+ {\"1\":200000000000000,\"2\":\"5000000000000000000\",\"3\":500000,\"4\":500000,\"5\":650,\"6\":170000000000000,\"7\":\"25000000000000000000\",\"8\":400000,\"9\":\"500000000000000000\"}\n+++ description: Portal sweep fee in basis points, paid to the sweeper and snapshotted when the deposit is requested.\n values.portalSweepFeeBps:\n+ 0\n fieldMeta.operator:\n- {\"severity\":\"HIGH\"}\n fieldMeta.allowedRelays.severity:\n- \"HIGH\"\n fieldMeta.authRegistry.description:\n- \"Registry of account authorization keys whose tree roots are snapshotted and used to validate spend authorization in epoch proofs.\"\n+ \"Registry of account authorization keys and spend approvals used to validate spend authorization.\"\n fieldMeta.treasury.severity:\n- \"HIGH\"\n fieldMeta.cancelDelay.severity:\n+ \"HIGH\"\n fieldMeta.forcedWithdrawalDelay.severity:\n+ \"HIGH\"\n fieldMeta.authSnapshotInterval:\n- {\"description\":\"Block interval between snapshots of auth tree roots.\"}\n fieldMeta.gateways:\n+ {\"severity\":\"HIGH\",\"description\":\"Approved synchronous gateway routes for proof-authorized external calls.\"}\n fieldMeta.portalMinimumSweeps:\n+ {\"description\":\"Minimum gross amount per token ID required for a portal sweep, in token base units; defaults to zero.\"}\n fieldMeta.portalDepositVerifier:\n+ {\"severity\":\"HIGH\",\"description\":\"Groth16 verifier for portal deposit proofs.\"}\n fieldMeta.giftClaimVerifier:\n+ {\"severity\":\"HIGH\",\"description\":\"Groth16 verifier for private gift settlement and public gift exit proofs.\"}\n fieldMeta.maxEpochAuthStalenessBlocks:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum age in blocks of a superseded auth root accepted for epoch and private gift settlement proofs.\"}\n fieldMeta.maxForcedWithdrawalAuthStalenessBlocks:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum age in blocks of a superseded auth root accepted for public gift exits. Despite its legacy name, this does not govern forced withdrawals, which check the live auth record at request time.\"}\n fieldMeta.portalSweepFeeBps:\n+ {\"description\":\"Portal sweep fee in basis points, paid to the sweeper and snapshotted when the deposit is requested.\"}\n implementationNames.oeth:0x0b9B98d3B95D74487C481e7830ab440896aE62E5:\n- \"PrivacyBoost\"\n implementationNames.oeth:0x9CB144D35748932EC44950d0837248fcF8747828:\n+ \"PrivacyBoost\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Groth16ForcedVerifier (oeth:0xF023c61C5c745Be40fd30B0d48C0929839Ec3C67) [privacy-boost/Groth16ForcedVerifier]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs, used by the permissionless exit path. Verification keys are stored in SSTORE2 data contracts, registered per supported input count.\n```\n\n```diff\n+ Status: CREATED\n contract AuthPoseidon (oeth:0x09257a2B24C27586c2Db2C18c4b53bE459c7e870) [privacy-boost/AuthPoseidon]\n +++ description: Poseidon2 hashing helper used by AuthRegistry to compute account IDs, authorization leaves, spend approval commitments and Merkle tree nodes.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16DepositVerifier (oeth:0x16e1dE876dEB1C3251A1E923A206605D084F25C5) [privacy-boost/Groth16DepositVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16GiftClaimVerifier (oeth:0x249ae8887E15e3728187dd4E341a66cb0221B1B4) [privacy-boost/Groth16GiftClaimVerifier]\n +++ description: Groth16 verifier for PrivacyBoost gift settlement and public gift exit proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract ExternalCallGateway (oeth:0x54B576782d3CE325CAc9861E17bB5d7926e41955) [privacy-boost/ExternalCallGateway]\n +++ description: Gateway executing pool-authorized external calls against an allowlist of target addresses and function selectors, with optional input/output token constraints. Enforces proof-bound settlement receipts and redeposits returned funds into the pool.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16PortalDepositVerifier (oeth:0x6806eA551C3c8350Ab156eC5001D28705dCda2B6) [privacy-boost/Groth16PortalDepositVerifier]\n +++ description: Groth16 verifier for PrivacyBoost portal deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16ForcedVerifier (oeth:0x78ff16aD4D38e560B81A7B33ae06607fe69D6641) [privacy-boost/Groth16ForcedVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs. Verification keys are stored in SSTORE2 data contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16EpochVerifier (oeth:0xab52453B02ca68cfbe7B264d3C4bBa566198C6B6) [privacy-boost/Groth16EpochVerifier_v2]\n +++ description: Groth16 verifier for PrivacyBoost private transfer and withdrawal epochs. Keys are indexed by (max transfers, inputs per transfer, outputs per transfer). The nested key registry is not enumerable and emits no registration events; discovery monitors the reviewed production circuit configurations.\n```"
}
]
},
{
"id": "16a592bd",
"date": "Fri, 21 Aug 2026 08:54:45 GMT",
"timestamp": 1787302421,
"description": "Initial discovery of privacy boost.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract TokenRegistryProxyAdmin (oeth:0x11B75DE42f6107AE4D5C50e4e34af6E34F63C0dd) [global/ProxyAdmin]\n +++ description: Admin contract of the TokenRegistry proxy.\n```\n\n```diff\n+ Status: CREATED\n contract AuthRegistry (oeth:0x54e87D7D0E420B24B9FdFE9cFcAe88162093A48f) [privacy-boost/AuthRegistry]\n +++ description: Registry of account authorization keys for the PrivacyBoost pool. Accounts register BabyJubJub approval public keys into Merkle trees with EIP-712 owner signatures (submitted directly or through allowed relays), and can rotate or revoke them. PrivacyBoost snapshots the tree roots and epoch proofs validate spend authorization against them.\n```\n\n```diff\n+ Status: CREATED\n contract AdminMultisig (oeth:0x6476cBeBbce2673aeDAa464a4b9f31FD284aA0dC) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Groth16EpochVerifier (oeth:0x67b1bD839203223870fBF51e4CDf2104E3Ca966b) [privacy-boost/Groth16EpochVerifier]\n +++ description: Groth16 verifier for PrivacyBoost private transfer / withdrawal epoch proofs. Verification keys are stored in SSTORE2 data contracts, keyed by circuit configuration (max transfers, inputs and outputs per transfer). Registered epoch keys are not enumerable on-chain.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorMultisig (oeth:0x78a927114A20Fb34b9d8d9c6a9A75E65f918D52B) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TokenRegistry (oeth:0x867872f80b1e22D30C4b06FcB474aC10B9DAA2f6) [privacy-boost/TokenRegistry]\n +++ description: Registry mapping compact token IDs to the ERC-20 tokens accepted by the PrivacyBoost pool.\n```\n\n```diff\n+ Status: CREATED\n contract AuditGatewayProxyAdmin (oeth:0x96f3E5551E1330f31974597217019812667544c8) [global/ProxyAdmin]\n +++ description: Admin contract of the AuditGateway proxy.\n```\n\n```diff\n+ Status: CREATED\n contract PrivacyBoostProxyAdmin (oeth:0x9d3F3CcD3c7a084eE73C4584CE33e77CEdaEc7E2) [global/ProxyAdmin]\n +++ description: Admin contract of the PrivacyBoost proxy.\n```\n\n```diff\n+ Status: CREATED\n contract AuditGateway (oeth:0xb328535aB3bCe578996AE9af5A7f44f175721118) [privacy-boost/AuditGateway]\n +++ description: Manages the list of auditors authorized to query private user data through the Audit API of the TEE, and stores an onchain log of every audit access so that users can publicly verify whether and when their private data was disclosed.\n```\n\n```diff\n+ Status: CREATED\n contract TreasuryMultisig (oeth:0xc82018cbC82A50064e3DdEF79EAdC319710Ffc5e) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Groth16DepositVerifier (oeth:0xC829061276e95D11aF92E678DE2B767AcFB4e924) [privacy-boost/Groth16DepositVerifier]\n +++ description: Groth16 verifier for PrivacyBoost deposit epoch proofs. Verification keys are stored in SSTORE2 data contracts, registered per supported batch size.\n```\n\n```diff\n+ Status: CREATED\n contract PrivacyBoost (oeth:0xca689828854a422CF1f778be03CA80549408F620) [privacy-boost/PrivacyBoost]\n +++ description: Main contract of the PrivacyBoost private transfer pool. It escrows registered ERC-20 tokens deposited against note commitments, and lets allowed relays batch private transfers and withdrawals into epochs that are verified with Groth16 proofs against a note Merkle tree. Users can exit without relay cooperation via a delayed forced withdrawal with their own proof.\n```\n\n```diff\n+ Status: CREATED\n contract Groth16ForcedVerifier (oeth:0xF023c61C5c745Be40fd30B0d48C0929839Ec3C67) [privacy-boost/Groth16ForcedVerifier]\n +++ description: Groth16 verifier for PrivacyBoost forced withdrawal proofs, used by the permissionless exit path. Verification keys are stored in SSTORE2 data contracts, registered per supported input count.\n```\n\n```diff\n+ Status: CREATED\n contract AuthRegistryProxyAdmin (oeth:0xfB66dfD80B9a96c2BF2bcfDC5E6715C48916eD6C) [global/ProxyAdmin]\n +++ description: Admin contract of the AuthRegistry proxy.\n```"
}
]
}
]
+3 -3
+3 -3
{
"clusteredEventCount": 10,
"contracts": [
{
"name": "PrivacyPoolsEntrypoint",
"address": "eth:0x6818809EefCe719E480a7526D76bD3e561526b46",
"isVerified": true,
"ossifyingSince": 1770833867,
"codeChangeCount": 1,
"stateChangeCount": 10
},
{
"name": "PrivacyPoolBOLD",
"address": "eth:0xb4b5Fd38Fd4788071d7287e3cB52948e0d10b23E",
"isVerified": true,
"ossifyingSince": 1770806867,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolFxUSD",
"address": "eth:0xD14F4B36E1D1D98c218db782c49149876042BC56",
"isVerified": true,
"ossifyingSince": 1765446455,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWOETH",
"address": "eth:0x7d2959bCFb936a84531518e8391DdBa844e03ebE",
"isVerified": true,
"ossifyingSince": 1756377743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolFrxUSD",
"address": "eth:0xC6C769fac7AABEadd31a03fAe5Ca0Ec5B4C50f84",
"isVerified": true,
"ossifyingSince": 1754583623,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSD1",
"address": "eth:0xc0A8Bc0F4F982b4d4f1fFae8F4FCCb58c9B29c98",
"isVerified": true,
"ossifyingSince": 1754583179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDe",
"address": "eth:0xe6D36B33b00A7C0cB0C2a8d39D07e7dB0c526Abc",
"isVerified": true,
"ossifyingSince": 1754583083,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWBTC",
"address": "eth:0xF973f4B180A568157Cd7A0E6006449139E6Bfc32",
"isVerified": true,
"ossifyingSince": 1753975703,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWstETH",
"address": "eth:0x1A604E9DFa0EFDC7FFda378AF16Cb81243b61633",
"isVerified": true,
"ossifyingSince": 1753975583,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDC",
"address": "eth:0xb419c2867aB3CBc78921660cB95150d95A94ce86",
"isVerified": true,
"ossifyingSince": 1753353035,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDT",
"address": "eth:0xe859C0bD25f260BaEE534Fb52e307D3b64D24572",
"isVerified": true,
"ossifyingSince": 1753352915,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolDAI",
"address": "eth:0x1c31C03B8CB2EE674D0F11De77135536db828257",
"isVerified": true,
"ossifyingSince": 1752848471,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolSUSDS",
"address": "eth:0xBBdA2173CDFEA1c3bD7F2908798F1265301d750c",
"isVerified": true,
"ossifyingSince": 1752782999,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDS",
"address": "eth:0x05e4DBD71B56861eeD2Aaa12d00A797F04B5D3c0",
"isVerified": true,
"ossifyingSince": 1752503003,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolETH",
"address": "eth:0xF241d57C6DebAe225c0F2e6eA1529373C9A9C9fB",
"isVerified": true,
"ossifyingSince": 1743265259,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RagequitVerifier",
"address": "eth:0xa45ACa8604a73D80C551fAad6355A5c3A5565eC6",
"isVerified": true,
"ossifyingSince": 1743265211,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "WithdrawalVerifier",
"address": "eth:0x022891F938Ae7fDC8Ab9Ead0FBf50aBA8C897D6d",
"isVerified": true,
"ossifyingSince": 1743265199,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Privacy Pools Multisig",
"address": "eth:0xAd7f9A19E2598b6eFE0A25C84FB1c87F81eB7159",
"isVerified": true,
"ossifyingSince": 1742919851,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 6.578994307592768,
"criticalChangesPerYear": 6.578993484092755,
"criticalUpdates": [],
"lastCriticalChange": 1770833867,
"maturity": 0.7506361846252876,
"maturity": 0.7506361928123598,
"perimeterResets": [
1742919851,
1743265199,
1747945823,
1752503003,
1752600335,
1752782999,
1753352915,
1753975583,
1754583083,
1756377743,
1765446455,
1765812563,
1770806867
],
"projectClockStart": 1770833867,
"score": 75,
"windowSeconds": 47934378
"windowSeconds": 47934384
}
+1 -1
+1 -1
{
"clusteredEventCount": 2,
"contracts": [
{
"name": "RailgunSmartWallet",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"isVerified": true,
"ossifyingSince": 1786715435,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "Delegator",
"address": "eth:0xB6d513f6222Ee92Fff975E901bd792E2513fB53B",
"isVerified": true,
"ossifyingSince": 1753717703,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "VerificationKeySetter_64DA",
"address": "eth:0x64DA0892E8E24fECa6Eb5E3D8cbf2D9b6Fbe7598",
"isVerified": true,
"ossifyingSince": 1752516023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "VerificationKeySetter_9086",
"address": "eth:0x9086aFC6FC88667d4031Cabd556AfDD0E3903B46",
"isVerified": true,
"ossifyingSince": 1677376967,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Voting",
"address": "eth:0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC",
"isVerified": true,
"ossifyingSince": 1662770918,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8",
"isVerified": true,
"ossifyingSince": 1625961245,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Staking",
"address": "eth:0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20",
"isVerified": true,
"ossifyingSince": 1625670240,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Rail Token",
"address": "eth:0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D",
"isVerified": true,
"ossifyingSince": 1625318205,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 0.6666666666666666,
"criticalUpdates": [],
"lastCriticalChange": 1786715435,
"maturity": 0.5388812329213432,
"maturity": 0.5388812828787171,
"perimeterResets": [
1625318205,
1625670240,
1625810239,
1625961245,
1628326800,
1652034772,
1662770918,
1665068219,
1669738223,
1677376967,
1678360187,
1752516023,
1753717703,
1786715435
],
"projectClockStart": 1786715435,
"score": 54,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 7,
"contracts": [
{
"name": "AddressManager",
"address": "eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1StandardBridge",
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A",
"isVerified": true,
"ossifyingSince": 1788777107,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"isVerified": true,
"ossifyingSince": 1782901175,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "SuperchainConfig",
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"isVerified": true,
"ossifyingSince": 1780988555,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "RoninConduitOwner",
"address": "eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607",
"isVerified": true,
"ossifyingSince": 1779285407,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1ERC721Bridge",
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34",
"isVerified": true,
"ossifyingSince": 1771964591,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 18.01282370872479,
"criticalChangesPerYear": 18.01281488991475,
"criticalUpdates": [
{
"id": "3f3ba4f2",
"type": "state"
},
{
"id": "8d0ae0ed",
"type": "state"
},
{
"id": "f6059a61",
"type": "state"
},
{
"id": "8c7d17d4",
"type": "state"
}
],
"lastCriticalChange": 1789973519,
"maturity": 0.3185158987807469,
"maturity": 0.3185163436418779,
"perimeterResets": [
1680797639,
1718237363,
1740762647,
1751494331,
1755283775,
1756842743,
1762212215,
1766424179,
1771964591,
1778240927,
1779285407,
1779399734,
1780027571,
1780988555,
1782901175,
1788777107,
1789973519
],
"projectClockStart": 1789973519,
"score": 32,
"windowSeconds": 12255269
"windowSeconds": 12255275
}
+3 -3
+3 -3
{
"clusteredEventCount": 26,
"contracts": [
{
"name": "MultipleVersionRollupVerifier",
"address": "eth:0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F",
"isVerified": true,
"ossifyingSince": 1790041547,
"codeChangeCount": 0,
"stateChangeCount": 10
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0x7966FE0De13e3B81533470640Ac489223476B254",
"isVerified": true,
"ossifyingSince": 1789438643,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierOpenVMv2",
"address": "eth:0x0d2A59fd7060460F07c30C2817b4E79576da01C6",
"isVerified": true,
"ossifyingSince": 1789438487,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 3",
"address": "scr:0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe",
"isVerified": true,
"ossifyingSince": 1779270521,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Scroll Multisig 3",
"address": "eth:0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe",
"isVerified": true,
"ossifyingSince": 1779270407,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "ScrollAdminMultisig",
"address": "scr:0xcca54B0916Cee2186b47E9709BEdcb7041A8F761",
"isVerified": true,
"ossifyingSince": 1774419711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollAdminMultisig",
"address": "eth:0xcca54B0916Cee2186b47E9709BEdcb7041A8F761",
"isVerified": true,
"ossifyingSince": 1774419707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1GatewayRouter",
"address": "eth:0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6",
"isVerified": true,
"ossifyingSince": 1770602759,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5",
"isVerified": true,
"ossifyingSince": 1764678203,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierGalileo",
"address": "eth:0x749fC77A1a131632a8b88e8703E489557660C75e",
"isVerified": true,
"ossifyingSince": 1764678143,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AgoraGovernor",
"address": "scr:0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0",
"isVerified": true,
"ossifyingSince": 1764490172,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "L1MessageQueueV2",
"address": "eth:0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1ScrollMessenger",
"address": "eth:0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1WETHGateway",
"address": "eth:0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1ETHGateway",
"address": "eth:0x7F2b8C31F88B6006c382775eea88297Ec1e3E905",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "ScrollChain",
"address": "eth:0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 7,
"stateChangeCount": 1
},
{
"name": "L1CustomERC20Gateway",
"address": "eth:0xb2b10a289A229415a124EFDeF310C10cb004B6ff",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1StandardERC20Gateway",
"address": "eth:0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierPostEuclid-2",
"address": "eth:0xc084a6De8b0F2742396572d6f110eC87ca9329bA",
"isVerified": true,
"ossifyingSince": 1754694995,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0xa8d4702Aa5c09AF5dD1323E1842a43789021F485",
"isVerified": true,
"ossifyingSince": 1753339811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierPostEuclid-2",
"address": "eth:0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4",
"isVerified": true,
"ossifyingSince": 1753339799,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2PauseController",
"address": "scr:0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd",
"isVerified": true,
"ossifyingSince": 1753067278,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PauseController",
"address": "eth:0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b",
"isVerified": true,
"ossifyingSince": 1753067003,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EnforcedTxGateway",
"address": "eth:0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d",
"isVerified": true,
"ossifyingSince": 1745301695,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "TimelockEmergency",
"address": "scr:0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f",
"isVerified": true,
"ossifyingSince": 1730295517,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCEmergencyScroll",
"address": "scr:0x1f807E2E8ab2e61230a0A9C271F90242831278b4",
"isVerified": true,
"ossifyingSince": 1730295071,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCEmergency",
"address": "eth:0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44",
"isVerified": true,
"ossifyingSince": 1730294447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockEmergency",
"address": "eth:0x826714adD4dDA2b8750794A467C892c0Cd49216b",
"isVerified": true,
"ossifyingSince": 1730294447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCSlow",
"address": "eth:0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd",
"isVerified": true,
"ossifyingSince": 1729781135,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCSlow",
"address": "scr:0x79D83D1518e2eAA64cdc0631df01b06e2762CC14",
"isVerified": true,
"ossifyingSince": 1725377342,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81",
"isVerified": true,
"ossifyingSince": 1725377322,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProposalTypesConfigurator",
"address": "scr:0xfDa7cF1D9C51b3fab41E2e4093374DD8715D640E",
"isVerified": true,
"ossifyingSince": 1725377313,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SCRToken",
"address": "scr:0xd29687c813D741E2F938F4aC377128810E217b1b",
"isVerified": true,
"ossifyingSince": 1725336741,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e",
"isVerified": true,
"ossifyingSince": 1725336741,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1USDCGateway",
"address": "eth:0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B",
"isVerified": true,
"ossifyingSince": 1708590023,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2USDCGateway",
"address": "scr:0x33B60d5Dd260d453cAC3782b0bDC01ce84672142",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2CustomERC20Gateway",
"address": "scr:0x64CCBE37c9A82D85A1F2E74649b7A42923067988",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ETHGateway",
"address": "scr:0x6EA73e05AdC79974B931123675ea8F78FfdacDF0",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2WETHGateway",
"address": "scr:0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ScrollMessenger",
"address": "scr:0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "scr:0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 2",
"address": "scr:0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc",
"isVerified": true,
"ossifyingSince": 1696921130,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DaiEscrow",
"address": "eth:0x67260A8B73C5B77B55c1805218A42A7A6F98F515",
"isVerified": true,
"ossifyingSince": 1696920095,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MasterMinter",
"address": "scr:0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE",
"isVerified": true,
"ossifyingSince": 1696919091,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll USDC",
"address": "scr:0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
"isVerified": true,
"ossifyingSince": 1696919085,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockFast",
"address": "scr:0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376",
"isVerified": true,
"ossifyingSince": 1696918064,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollOwner",
"address": "scr:0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B",
"isVerified": true,
"ossifyingSince": 1696918061,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollStandardERC20Factory",
"address": "scr:0x66e5312EDeEAef6e80759A0F789e7914Fb401484",
"isVerified": true,
"ossifyingSince": 1696917920,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollStandardERC20",
"address": "scr:0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69",
"isVerified": true,
"ossifyingSince": 1696917920,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "scr:0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79",
"isVerified": true,
"ossifyingSince": 1696917917,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026",
"isVerified": true,
"ossifyingSince": 1696917917,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2MessageQueue",
"address": "scr:0x5300000000000000000000000000000000000000",
"isVerified": true,
"ossifyingSince": 1696917614,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockFast",
"address": "eth:0x0e58939204eEDa84F796FBc86840A50af10eC4F4",
"isVerified": true,
"ossifyingSince": 1696782479,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollOwner",
"address": "eth:0x798576400F7D662961BA15C6b3F3d813447a26a6",
"isVerified": true,
"ossifyingSince": 1696782479,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072",
"isVerified": true,
"ossifyingSince": 1696782311,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 2",
"address": "eth:0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc",
"isVerified": true,
"ossifyingSince": 1696661411,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 8.728607878828608,
"criticalChangesPerYear": 8.728607321307603,
"criticalUpdates": [
{
"id": "54877ab0",
"type": "code"
},
{
"id": "ca551251",
"type": "code"
},
{
"id": "64f1e977",
"type": "state"
},
{
"id": "583fc831",
"type": "state"
},
{
"id": "3595ea64",
"type": "state"
},
{
"id": "2193d319",
"type": "state"
},
{
"id": "5133e1b1",
"type": "state"
},
{
"id": "19d658d4",
"type": "state"
},
{
"id": "b135acb2",
"type": "state"
},
{
"id": "9807e3db",
"type": "state"
},
{
"id": "6ed7fbd2",
"type": "state"
},
{
"id": "a0ae31ea",
"type": "state"
},
{
"id": "8d34a425",
"type": "state"
},
{
"id": "dd400141",
"type": "state"
},
{
"id": "316f6807",
"type": "state"
},
{
"id": "5986410f",
"type": "state"
},
{
"id": "3d076cfd",
"type": "state"
},
{
"id": "82e0b905",
"type": "state"
},
{
"id": "bc8d7ec1",
"type": "state"
},
{
"id": "555a0d79",
"type": "state"
}
],
"lastCriticalChange": 1790041547,
"maturity": 0.31240868373925446,
"maturity": 0.3124091301825745,
"perimeterResets": [
1696660175,
1696782311,
1696917614,
1697113349,
1708589325,
1708689890,
1714341995,
1719915047,
1722833675,
1724196995,
1724412314,
1725336741,
1729119781,
1729781135,
1730294447,
1732607939,
1742476115,
1744728443,
1745301695,
1745564819,
1745836741,
1748243099,
1750248225,
1752663515,
1753067003,
1753339799,
1754391250,
1754694995,
1755485183,
1756488827,
1764490172,
1764678143,
1765784711,
1770602759,
1771825979,
1774419707,
1779270407,
1780317383,
1782371087,
1782469580,
1789438487,
1790041547
],
"projectClockStart": 1790041547,
"score": 31,
"windowSeconds": 93936629
"windowSeconds": 93936635
}
+1 -1
+1 -1
{
"clusteredEventCount": 35,
"contracts": [
{
"name": "SHARPVerifierCallProxy",
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"isVerified": true,
"ossifyingSince": 1788425939,
"codeChangeCount": 13,
"stateChangeCount": 10
},
{
"name": "Starknet",
"address": "eth:0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4",
"isVerified": true,
"ossifyingSince": 1783559567,
"codeChangeCount": 10,
"stateChangeCount": 12
},
{
"name": "SHARPVerifier",
"address": "eth:0x4956bda1d23F75B988644329c5B06BD1494a72b6",
"isVerified": true,
"ossifyingSince": 1782997607,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CairoBootloaderProgram",
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"isVerified": true,
"ossifyingSince": 1768486895,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x7ca0201319f98b5494d90d0f8dA9427C64AF135e",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierRecursiveLargeOutput_2026_13",
"address": "eth:0xbe0F8F150Fd10798524B4de80eD75751658CAEF3",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey1Column",
"address": "eth:0xECc282Dc2571E43696d3259490faFa3b98790e20",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey0Column",
"address": "eth:0x21578B24F86AdF6f59C406f641F693745C31Ea8F",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x2c9726B081305F314A74D570F0FED8dd9fab01A1",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey2Column",
"address": "eth:0x4576bA889ddCb27738c4D3b8dF2FF2616650BA0b",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey0Column",
"address": "eth:0x5318edCfEcAF84EB5A3A4D364C2dCFF06083953E",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey2Column",
"address": "eth:0x69833933e59269aB062eAfDe074C059ce5DC7755",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierDexWithBitwise_2026_13",
"address": "eth:0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierStarknet_2026_13",
"address": "eth:0x71574057D12541ccDa98643aC56441838353A26D",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x9Ddb8A6E3B23B33CE685e6d9f89f0ca25510AE6F",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xa40115c39Dc257E5aAE39e2F311AF6a0247bb766",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey0Column",
"address": "eth:0xb45b87Ba49C64F79df0EF81043a57999af5Ea7A0",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey1Column",
"address": "eth:0xc1Cd710bB0d8A07A46Cc884a552091d1ED433Ccc",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xC716C4E3f68ad6785524f65Df129fC090339dBD8",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xd67C6798df68b98f1ef10BEeF0f35De788014fAA",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey0Column",
"address": "eth:0xdf10757de64811df030cf88bB700B8CC63bAB090",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey1Column",
"address": "eth:0xe58327a05F21ab12AB33A4408003A87e571f810D",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey1Column",
"address": "eth:0xE5AC9312f30623EB20D435533A4205790aF68Fd0",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierAllSolidity_2026_13",
"address": "eth:0x015381651F240Ed6C44122dCba6Cf807c9442CD6",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierDex_2026_13",
"address": "eth:0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x1BdE14B50e7dAeD71eE14F7e8defaa3d8A7D4420",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierRecursive_2026_13",
"address": "eth:0x2867A4509B0969531641A42a3D4A9B0A07109B6B",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x35e9F63Efc97E008f3f9097eA3293b540483e7Cb",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x3E727f44Fd2c92bd960AAb86DaAcD1A831B16eba",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x8f3af16cF4eB89f256cDebeaDd46e1b982dC4775",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x99480b7c32C4F8965fF1929a368Dd586C6DC3595",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xE4937AC1Da4211c6E48cf41A7B298b74edA9B103",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierPerpetual_2026_13",
"address": "eth:0xFFC7974cd74b95f631f454cd787AAc28F0476b44",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xaE325CE505AA13EDC30d48187B05c24A3BaC2707",
"isVerified": true,
"ossifyingSince": 1759907603,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierSmall_2026_13",
"address": "eth:0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x9A62fa46D88697bBbEFAf5F9Ef1234E6502d31a9",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EcdsaPointsXColumn",
"address": "eth:0xa3da166aef05dBa08d67EA5b442dD9574274b9Ce",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xa4D0Bb20c708262155378C9D14A5A6A863E15Dd4",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PedersenHashPointsYColumn",
"address": "eth:0xA55C0F91945958C40f7fa41EB650340245F4B6c2",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EcdsaPointsYColumn",
"address": "eth:0xCaea5002758D5B977680Fe65164B7fE6a062C771",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xd8e47340bdC4fB06D37056b1725c653836Cc81E5",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PedersenHashPointsXColumn",
"address": "eth:0xDc596B881bD9e33d3A56AE86031417645d1d9E70",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ETHBridge",
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"isVerified": true,
"ossifyingSince": 1746967799,
"codeChangeCount": 7,
"stateChangeCount": 1
},
{
"name": "STRKBridge",
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"isVerified": true,
"ossifyingSince": 1746967799,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "DelayedExecutor",
"address": "eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"isVerified": true,
"ossifyingSince": 1739989031,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Starkware Multisig 4",
"address": "eth:0x77Dd0cf03e1cCbDC750c9E5FDc34b8A3671f88c5",
"isVerified": true,
"ossifyingSince": 1739799179,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Starkware Security Council",
"address": "eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361",
"isVerified": true,
"ossifyingSince": 1738762427,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Starkware SCMinority Multisig",
"address": "eth:0xF6b0B3e8f57396CecFD788D60499DB49Ee6AbC6B",
"isVerified": true,
"ossifyingSince": 1738599755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FriStatementContract",
"address": "eth:0x30EfaAA99f8eFe310D9FdC83072e2a04c093d400",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MerkleStatementContract",
"address": "eth:0x32a91Ff604AB2aDCd832e91D68b2f3f25358FdAd",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MemoryPageFactRegistry",
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Starkware Multisig 1",
"address": "eth:0x83C0A700114101D1283D1405E2c8f21D3F03e988",
"isVerified": true,
"ossifyingSince": 1672699319,
"codeChangeCount": 0,
"stateChangeCount": 1
}
],
"criticalChangesPerYear": 11.666666666666666,
"criticalUpdates": [
{
"id": "e399b73a",
"type": "state"
},
{
"id": "0fcca41a",
"type": "state"
},
{
"id": "b1da51ab",
"type": "state"
},
{
"id": "a1687a92",
"type": "state"
},
{
"id": "136742c7",
"type": "state"
},
{
"id": "403be4bd",
"type": "state"
},
{
"id": "bcac9b64",
"type": "state"
},
{
"id": "769dfe3d",
"type": "state"
},
{
"id": "5c0c724a",
"type": "state"
},
{
"id": "fb997882",
"type": "state"
},
{
"id": "71a58712",
"type": "state"
},
{
"id": "79f54597",
"type": "state"
},
{
"id": "c8776771",
"type": "state"
},
{
"id": "b57bb0df",
"type": "state"
},
{
"id": "2d6b1be9",
"type": "state"
},
{
"id": "df508c6c",
"type": "state"
},
{
"id": "10e44fc3",
"type": "state"
},
{
"id": "dfb011c3",
"type": "state"
},
{
"id": "f7adf9c0",
"type": "state"
},
{
"id": "83d55362",
"type": "state"
},
{
"id": "cee2be16",
"type": "state"
},
{
"id": "9d5a75e1",
"type": "state"
},
{
"id": "1ec6e472",
"type": "state"
},
{
"id": "770edbe2",
"type": "state"
}
],
"lastCriticalChange": 1788425939,
"maturity": 0.4490111004272815,
"maturity": 0.44901138724149975,
"perimeterResets": [
1635080785,
1636979180,
1643193921,
1647853574,
1649596101,
1651510161,
1655284858,
1659869409,
1662879548,
1668953231,
1672587635,
1672699319,
1678106063,
1680016103,
1684906283,
1702910664,
1703000047,
1704907283,
1705239263,
1707387203,
1707738959,
1708939523,
1709727321,
1710252923,
1710411335,
1710753100,
1713709115,
1721828687,
1722161267,
1722600046,
1724855579,
1727171111,
1727697611,
1728835151,
1732790039,
1738588637,
1738755371,
1739105903,
1739799179,
1739989031,
1742836319,
1743157821,
1746449747,
1746967799,
1747066175,
1756750079,
1759907591,
1760862467,
1765192091,
1765378643,
1768486895,
1769954759,
1776686015,
1777465247,
1782033359,
1782997607,
1783559567,
1783857227,
1788425939
],
"projectClockStart": 1788425939,
"score": 45,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 69,
"contracts": [
{
"name": "TaikoRisc0Verifier",
"address": "eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 6
},
{
"name": "AutomataDcapV3Attestation",
"address": "eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 7
},
{
"name": "TaikoSP1Verifier",
"address": "eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "AutomataDcapV3Attestation",
"address": "eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 11
},
{
"name": "SignerList (Security Council)",
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "EmergencyMultisig",
"address": "eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Multisig",
"address": "eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "MainnetInbox",
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"isVerified": true,
"ossifyingSince": 1785761183,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ZkRequiredVerifier",
"address": "eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec",
"isVerified": true,
"ossifyingSince": 1783672091,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "QuotaManager",
"address": "eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC",
"isVerified": true,
"ossifyingSince": 1783141271,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "MainnetERC20Vault",
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "SignalService",
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 9,
"stateChangeCount": 3
},
{
"name": "MainnetBridge",
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 10,
"stateChangeCount": 1
},
{
"name": "SecureSgxVerifier",
"address": "eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee",
"isVerified": true,
"ossifyingSince": 1782357335,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecureSgxVerifier",
"address": "eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8",
"isVerified": true,
"ossifyingSince": 1782357335,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SignalService",
"address": "taiko:0x1670000000000000000000000000000000000005",
"isVerified": true,
"ossifyingSince": 1777563432,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "Anchor",
"address": "taiko:0x1670000000000000000000000000000000010001",
"isVerified": true,
"ossifyingSince": 1777563432,
"codeChangeCount": 6,
"stateChangeCount": 2
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreconfWhitelist",
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"isVerified": true,
"ossifyingSince": 1774964687,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ProverWhitelist",
"address": "eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae",
"isVerified": true,
"ossifyingSince": 1772641607,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"isVerified": true,
"ossifyingSince": 1756842755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroSetVerifier",
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"isVerified": true,
"ossifyingSince": 1756842743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"isVerified": true,
"ossifyingSince": 1755283787,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"isVerified": true,
"ossifyingSince": 1755283775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"isVerified": true,
"ossifyingSince": 1751494343,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"isVerified": true,
"ossifyingSince": 1751494331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelegateController",
"address": "taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C",
"isVerified": true,
"ossifyingSince": 1748151239,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TaikoDAOController",
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"isVerified": true,
"ossifyingSince": 1748146475,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Taiko Token",
"address": "eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800",
"isVerified": true,
"ossifyingSince": 1747285931,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "DefaultResolver",
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"isVerified": true,
"ossifyingSince": 1747268711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimisticTokenVotingPlugin",
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"isVerified": true,
"ossifyingSince": 1746111707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DAO",
"address": "eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261",
"isVerified": true,
"ossifyingSince": 1746111707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Bridge",
"address": "taiko:0x1670000000000000000000000000000000000001",
"isVerified": true,
"ossifyingSince": 1730452979,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "ERC20Vault",
"address": "taiko:0x1670000000000000000000000000000000000002",
"isVerified": true,
"ossifyingSince": 1730452979,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierRouter",
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"isVerified": true,
"ossifyingSince": 1718237375,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"isVerified": true,
"ossifyingSince": 1718237363,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2AddressManager",
"address": "taiko:0x1670000000000000000000000000000000000006",
"isVerified": true,
"ossifyingSince": 1716620627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PEMCertChainLib",
"address": "eth:0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169",
"isVerified": true,
"ossifyingSince": 1714550639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SigVerifyLib",
"address": "eth:0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9",
"isVerified": true,
"ossifyingSince": 1714550639,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 29.31265547373008,
"criticalChangesPerYear": 29.312653104507596,
"criticalUpdates": [
{
"id": "b287d48e",
"type": "code"
},
{
"id": "167b8dff",
"type": "code"
},
{
"id": "e2633393",
"type": "code"
},
{
"id": "1ede5389",
"type": "code"
},
{
"id": "6e2c88a0",
"type": "code"
},
{
"id": "d5817b5e",
"type": "code"
},
{
"id": "bf28d6a1",
"type": "code"
},
{
"id": "46dff8f0",
"type": "code"
},
{
"id": "a96fdad5",
"type": "code"
},
{
"id": "38328c2f",
"type": "code"
},
{
"id": "a83164a8",
"type": "code"
},
{
"id": "9326eb49",
"type": "code"
},
{
"id": "a66aba2e",
"type": "code"
},
{
"id": "2d84825c",
"type": "code"
},
{
"id": "4f615b6f",
"type": "code"
},
{
"id": "e32a44c7",
"type": "code"
},
{
"id": "136d39c0",
"type": "code"
},
{
"id": "e8c7b9d2",
"type": "code"
},
{
"id": "82d57b03",
"type": "state"
},
{
"id": "9c15da27",
"type": "code"
},
{
"id": "ca91bdf8",
"type": "code"
},
{
"id": "709bc2e7",
"type": "code"
},
{
"id": "c64c6e2d",
"type": "code"
},
{
"id": "c074de1f",
"type": "code"
},
{
"id": "6defe874",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "af40d70c",
"type": "state"
},
{
"id": "3bedf566",
"type": "code"
},
{
"id": "613479a6",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "0b48d893",
"type": "state"
},
{
"id": "e91cf682",
"type": "state"
},
{
"id": "423dca4a",
"type": "state"
},
{
"id": "83beb47d",
"type": "state"
},
{
"id": "ebe21a45",
"type": "state"
},
{
"id": "1c35c2f8",
"type": "state"
}
],
"lastCriticalChange": 1789952579,
"maturity": 0.32353141055029655,
"maturity": 0.3235334803587254,
"perimeterResets": [
1714033799,
1714550603,
1715408795,
1715746175,
1716300911,
1716620627,
1716722231,
1716827831,
1716958835,
1717148087,
1717481351,
1717663871,
1717750463,
1718023547,
1718237363,
1719502583,
1719806771,
1719903815,
1720099223,
1720874075,
1721133959,
1721270315,
1721356979,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729065323,
1729728863,
1730452835,
1730549099,
1731025967,
1731216107,
1734921911,
1735049951,
1735951931,
1736970023,
1739429867,
1740626843,
1746111707,
1747097243,
1747268711,
1747362983,
1747578311,
1748146475,
1748432039,
1748550023,
1748997623,
1749700235,
1749804049,
1750785371,
1751494331,
1752076931,
1752542435,
1753275179,
1754913371,
1755136523,
1755283775,
1756244927,
1756842743,
1764720995,
1764814439,
1768829555,
1770777907,
1771084331,
1771445567,
1772638115,
1774964687,
1775138543,
1776172415,
1776370439,
1777562051,
1780627823,
1782120275,
1782357335,
1782568835,
1782739115,
1783141271,
1783672091,
1785761183,
1789654379,
1789952579
],
"projectClockStart": 1789952579,
"score": 32,
"windowSeconds": 74233602
"windowSeconds": 74233608
}
+1 -1
+1 -1
{
"clusteredEventCount": 0,
"contracts": [
{
"name": "Pool_50K_cDAI",
"address": "eth:0x03893a7c7463AE47D46bc7f091665f1893656003",
"isVerified": true,
"ossifyingSince": 1616155055,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_500K_cDAI",
"address": "eth:0x2717c5e28cf931547B621a5dddb772Ab6A35B701",
"isVerified": true,
"ossifyingSince": 1616135923,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_10_WBTC",
"address": "eth:0xbB93e510BbCD0B7beb5A853875f9eC60275CF498",
"isVerified": true,
"ossifyingSince": 1616135758,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_0.1_WBTC",
"address": "eth:0x178169B423a011fff22B9e3F3abeA13414dDD0F1",
"isVerified": true,
"ossifyingSince": 1616134868,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_1_WBTC",
"address": "eth:0x610B717796ad172B316836AC95a2ffad065CeaB4",
"isVerified": true,
"ossifyingSince": 1616123193,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_5M_cDAI",
"address": "eth:0xD21be7248e0197Ee08E0c20D4a96DEBdaC3D20Af",
"isVerified": true,
"ossifyingSince": 1616115450,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_100K_DAI",
"address": "eth:0x23773E65ed146A459791799d01336DB287f25334",
"isVerified": true,
"ossifyingSince": 1616115387,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_10K_DAI",
"address": "eth:0x07687e702b410Fa43f4cB4Af7FA097918ffD2730",
"isVerified": true,
"ossifyingSince": 1616114822,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_1000_DAI",
"address": "eth:0xFD8610d20aA15b7B2E3Be39B396a1bC3516c7144",
"isVerified": true,
"ossifyingSince": 1589828193,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_DAI",
"address": "eth:0xD4B88Df4D29F5CedD6857912842cff3b20C8Cfa3",
"isVerified": true,
"ossifyingSince": 1589828187,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_0.1_ETH",
"address": "eth:0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc",
"isVerified": true,
"ossifyingSince": 1589828161,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "Pool_100_ETH",
"address": "eth:0xA160cdAB225685dA1d56aa342Ad8841c3b53f291",
"isVerified": true,
"ossifyingSince": 1589828114,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_10_ETH",
"address": "eth:0x910Cbd523D972eb0a6f4cAe4618aD62622b39DbF",
"isVerified": true,
"ossifyingSince": 1589828075,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1_ETH",
"address": "eth:0x47CE0C6eD5B0Ce3d3A51fdb1C52DC66a7c3c2936",
"isVerified": true,
"ossifyingSince": 1589828030,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1000_USDT",
"address": "eth:0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f",
"isVerified": true,
"ossifyingSince": 1589828002,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_USDT",
"address": "eth:0x169AD27A470D064DEDE56a2D3ff727986b15D52B",
"isVerified": true,
"ossifyingSince": 1589827991,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1000_USDC",
"address": "eth:0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D",
"isVerified": true,
"ossifyingSince": 1589827970,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_USDC",
"address": "eth:0xd96f2B1c14Db8458374d9Aca76E26c3D18364307",
"isVerified": true,
"ossifyingSince": 1589827926,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_5K_cDAI",
"address": "eth:0x22aaA7720ddd5388A3c0A3333430953C68f1849b",
"isVerified": true,
"ossifyingSince": 1589827905,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Verifier",
"address": "eth:0xce172ce1F20EC0B3728c9965470eaf994A03557A",
"isVerified": true,
"ossifyingSince": 1589278208,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MiMCHasher",
"address": "eth:0x83584f83f26aF4eDDA9CBe8C730bc87C364b28fe",
"isVerified": true,
"ossifyingSince": 1576523275,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 0,
"criticalUpdates": [],
"lastCriticalChange": 1589828193,
"maturity": 0.9886832845618421,
"maturity": 0.9886832851220598,
"perimeterResets": [
1576523275,
1577296976,
1589278208,
1589827905,
1616114822
],
"projectClockStart": 1616155055,
"score": 99,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 20,
"contracts": [
{
"name": "DisputeGameFactory",
"address": "eth:0x2F12d621a16e2d3285929C9996f478508951dFe4",
"isVerified": true,
"ossifyingSince": 1783362755,
"codeChangeCount": 5,
"stateChangeCount": 9
},
{
"name": "L1StandardBridge",
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"isVerified": true,
"ossifyingSince": 1783362755,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 6,
"stateChangeCount": 2
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "OpFoundationUpgradeSafe",
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c",
"isVerified": true,
"ossifyingSince": 1759437959,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"isVerified": true,
"ossifyingSince": 1759437959,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Guardian Multisig",
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"isVerified": true,
"ossifyingSince": 1753465706,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "ETHLockbox",
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"isVerified": true,
"ossifyingSince": 1753380731,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Unichain Multisig 2",
"address": "eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1",
"isVerified": true,
"ossifyingSince": 1738953155,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "L2CrossDomainMessenger",
"address": "unichain:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1730748360,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "unichain:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1730748360,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "unichain:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1730748360,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "unichain:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1730748360,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4",
"isVerified": true,
"ossifyingSince": 1730748179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x8098F676033A377b9Defe302e9fE6877cD63D575",
"isVerified": true,
"ossifyingSince": 1730748167,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2",
"isVerified": true,
"ossifyingSince": 1730141711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6",
"isVerified": true,
"ossifyingSince": 1730141663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdminOwner",
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"isVerified": true,
"ossifyingSince": 1707420875,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Security Council",
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"isVerified": true,
"ossifyingSince": 1707420419,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 10.493484247046087,
"criticalChangesPerYear": 10.493483199546082,
"criticalUpdates": [
{
"id": "f5d3d3f4",
"type": "code"
},
{
"id": "290b6c6d",
"type": "code"
},
{
"id": "2a2d7a74",
"type": "state"
},
{
"id": "ababb0b2",
"type": "code"
},
{
"id": "cbee75ee",
"type": "code"
},
{
"id": "7ac95a79",
"type": "code"
},
{
"id": "86db7e3e",
"type": "code"
},
{
"id": "58eb42e4",
"type": "state"
},
{
"id": "8f84154a",
"type": "state"
}
],
"lastCriticalChange": 1783362755,
"maturity": 0.6178104164981125,
"maturity": 0.6178104767408655,
"perimeterResets": [
1685377355,
1705954799,
1707420419,
1716902219,
1717149791,
1729728743,
1730141663,
1730748167,
1734645071,
1737130811,
1737658703,
1738943723,
1740762647,
1742397851,
1743612623,
1744485539,
1744615652,
1745543531,
1746698728,
1748963099,
1753378247,
1753465706,
1759437959,
1762212215,
1764092795,
1764596735,
1765898063,
1766424179,
1769109083,
1770744623,
1782428747,
1783362755
],
"projectClockStart": 1783362755,
"score": 62,
"windowSeconds": 60105870
"windowSeconds": 60105876
}
+1 -1
+1 -1
{
"clusteredEventCount": 3,
"contracts": [
{
"name": "UniswapV3Factory",
"address": "eth:0x1F98431c8aD98523631AE4a59f267346ea31F984",
"isVerified": true,
"ossifyingSince": 1772781599,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "V3OpenFeeAdapter",
"address": "eth:0xf2371551Fe3937Db7c750f4DfABe5c2fFFdcBf5A",
"isVerified": true,
"ossifyingSince": 1771859579,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UniswapV3Pool_USDC_WETH_005",
"address": "eth:0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
"isVerified": true,
"ossifyingSince": 1766868719,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "UniswapV3Pool_WBTC_WETH_03",
"address": "eth:0xCBCdF9626bC03E24f779434178A73a0B4bad62eD",
"isVerified": true,
"ossifyingSince": 1766867915,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "GovernorBravo",
"address": "eth:0x408ED6354d4973f66138C91495F2f2FCbd8724C3",
"isVerified": true,
"ossifyingSince": 1706556011,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Timelock",
"address": "eth:0x1a9C8182C09F50C8318d769245beA52c32BE35BC",
"isVerified": true,
"ossifyingSince": 1630165176,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "NonfungiblePositionManager",
"address": "eth:0xC36442b4a4522E871399CD717aBDD847Ab11FE88",
"isVerified": true,
"ossifyingSince": 1620156913,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UNIToken",
"address": "eth:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
"isVerified": true,
"ossifyingSince": 1600107086,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 1,
"criticalUpdates": [],
"lastCriticalChange": 1772781599,
"maturity": 0.735906856253059,
"maturity": 0.7359068754122051,
"perimeterResets": [
1600107086,
1620156420,
1620250931,
1623463819,
1629421922,
1630165176,
1706556011,
1766867591,
1771859579,
1772781599
],
"projectClockStart": 1772781599,
"score": 74,
"windowSeconds": 94608000
}
+1 -1
+1 -1
{
"clusteredEventCount": 46,
"contracts": [
{
"name": "Diamond",
"address": "eth:0x32400084C286CF3E17e7B677ea9583e60a000324",
"isVerified": true,
"ossifyingSince": 1786873007,
"codeChangeCount": 27,
"stateChangeCount": 26
},
{
"name": "EraDualVerifier",
"address": "eth:0xCeF0218c0C6dB0768e48debeE26E41B8DAdE7081",
"isVerified": true,
"ossifyingSince": 1786713431,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraVerifierPlonk",
"address": "eth:0x0DAAB2B7b38ab48712996E760152c569FA356DbF",
"isVerified": true,
"ossifyingSince": 1786713407,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraVerifierFflonk",
"address": "eth:0x8470d6B3fd71B5fE3906B4ea04498d18F721eDe9",
"isVerified": true,
"ossifyingSince": 1786713395,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProtocolUpgradeHandler",
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"isVerified": true,
"ossifyingSince": 1779262271,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "EraMultisigValidator",
"address": "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d",
"isVerified": true,
"ossifyingSince": 1777553063,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "EmergencyUpgradeBoard",
"address": "eth:0xF73a7dCfa68E52030ec39E41a23DCA51F3aAa111",
"isVerified": true,
"ossifyingSince": 1776678563,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecurityCouncil",
"address": "eth:0x59195219d1176E42f8e607e9AC114926D47f9035",
"isVerified": true,
"ossifyingSince": 1776678539,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0D8d1be440f997bDB9CA44C0140fD12551f99BBB",
"isVerified": true,
"ossifyingSince": 1775666447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenGovernor",
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"isVerified": true,
"ossifyingSince": 1765211471,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkToken",
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"isVerified": true,
"ossifyingSince": 1765195612,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "RollupDAManager",
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"isVerified": true,
"ossifyingSince": 1760604460,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L1ERC20Bridge",
"address": "eth:0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 10,
"stateChangeCount": 0
},
{
"name": "BridgeHub",
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 6
},
{
"name": "MessageRoot",
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1AssetRouter",
"address": "eth:0x8829AD80E425C646DAB305381ff105169FeEcE56",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "L1NativeTokenVault",
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ChainTypeManager",
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 5
},
{
"name": "L1Nullifier",
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 3
},
{
"name": "ValidatorTimelock",
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"isVerified": true,
"ossifyingSince": 1758289595,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ChainAssetHandler",
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"isVerified": true,
"ossifyingSince": 1758286391,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkProtocolGovernor",
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"isVerified": true,
"ossifyingSince": 1740742654,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "RollupL1DAValidator",
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"isVerified": true,
"ossifyingSince": 1739108915,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenTimelockController",
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"isVerified": true,
"ossifyingSince": 1739000122,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Guardians",
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"isVerified": true,
"ossifyingSince": 1738855979,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"isVerified": true,
"ossifyingSince": 1738855967,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProtocolTimelockController",
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"isVerified": true,
"ossifyingSince": 1738853604,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraChainAdminProxy",
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"isVerified": true,
"ossifyingSince": 1722434735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"isVerified": true,
"ossifyingSince": 1717520627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenProxyAdmin",
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"isVerified": true,
"ossifyingSince": 1716317321,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChangesPerYear": 15.333333333333334,
"criticalUpdates": [
{
"id": "0d60433d",
"type": "state"
},
{
"id": "8c1eeeb8",
"type": "state"
},
{
"id": "469b08ac",
"type": "state"
},
{
"id": "81da15da",
"type": "state"
},
{
"id": "77994965",
"type": "state"
},
{
"id": "cdbb5dce",
"type": "state"
},
{
"id": "54f097de",
"type": "state"
},
{
"id": "2f064657",
"type": "state"
},
{
"id": "e467f488",
"type": "state"
},
{
"id": "9dbc9655",
"type": "state"
},
{
"id": "ec59e2ee",
"type": "state"
},
{
"id": "6a5eae28",
"type": "state"
},
{
"id": "2ed0a950",
"type": "state"
},
{
"id": "3347bf90",
"type": "state"
},
{
"id": "88d8f58d",
"type": "state"
},
{
"id": "59f451bc",
"type": "state"
},
{
"id": "d7262d25",
"type": "state"
},
{
"id": "0819e8b8",
"type": "state"
},
{
"id": "42eff026",
"type": "state"
},
{
"id": "5a8ad8b1",
"type": "state"
},
{
"id": "6fa1ad76",
"type": "state"
},
{
"id": "0dff75a3",
"type": "state"
},
{
"id": "bff2a528",
"type": "state"
},
{
"id": "73803b6d",
"type": "state"
},
{
"id": "e4053ebe",
"type": "state"
},
{
"id": "702e5f55",
"type": "state"
},
{
"id": "8cabc948",
"type": "state"
},
{
"id": "70c29b00",
"type": "state"
},
{
"id": "5531704d",
"type": "state"
},
{
"id": "b0d171bf",
"type": "state"
},
{
"id": "7fc79d40",
"type": "state"
},
{
"id": "591f6152",
"type": "state"
},
{
"id": "35e6a989",
"type": "state"
},
{
"id": "fdc9ffaa",
"type": "state"
},
{
"id": "af5012ae",
"type": "state"
},
{
"id": "ee77660f",
"type": "state"
},
{
"id": "98f55b94",
"type": "state"
},
{
"id": "ded67cd2",
"type": "state"
},
{
"id": "61cc8b2a",
"type": "state"
}
],
"lastCriticalChange": 1786873007,
"maturity": 0.5375692523687496,
"maturity": 0.5375693023261235,
"perimeterResets": [
1676315375,
1679594519,
1682366591,
1692180911,
1693297691,
1694083991,
1695403367,
1695724036,
1697818535,
1698402394,
1698856895,
1701721751,
1702029961,
1703159495,
1704797043,
1707143447,
1707380016,
1710167531,
1710285383,
1716317321,
1717520627,
1717674923,
1718011538,
1722434735,
1722934619,
1723144920,
1724658671,
1725887363,
1726227640,
1736352035,
1736520959,
1738853604,
1739000122,
1739108879,
1740742654,
1741679757,
1741779799,
1743408047,
1744806793,
1745001594,
1745588211,
1745843591,
1746028164,
1746446579,
1749803535,
1750343219,
1750722695,
1753709927,
1754091731,
1758286391,
1760519351,
1761146555,
1765195612,
1769183903,
1769897051,
1770391415,
1770639008,
1775666447,
1776678539,
1777553063,
1779262271,
1784915471,
1785170172,
1786208627,
1786353960,
1786713395,
1786873007
],
"projectClockStart": 1786873007,
"score": 54,
"windowSeconds": 94608000
}