{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Paradex Multisig 2",
"name": "Paradex Multisig 2",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * StarkgateManager \n * StarkgateRegistry \n * USDC Bridge \n * Paradex \n* Can interact with USDC Bridge\n * disable the withdrawal limit and manage the security agent role that can enable it \n * enable the withdrawal limit \n * manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation \n* Can interact with Paradex\n * Permissioned to manage the Operator role, finalize the application configuration, and change the OS program hash, aggregator program hash, OS-config hash, fee collector, or message cancellation delay ",
"accounts": [
{
"address": "eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0",
"type": "Contract",
"isVerified": true,
"name": "0xFF57…61C0",
"url": "https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x721e0A5e09A6e0Bf9641193a4D82901607837Df9",
"type": "EOA",
"isVerified": true,
"name": "0x721e…7Df9",
"url": "https://etherscan.io/address/0x721e0A5e09A6e0Bf9641193a4D82901607837Df9"
},
{
"address": "eth:0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199",
"type": "EOA",
"isVerified": true,
"name": "0xdaA9…C199",
"url": "https://etherscan.io/address/0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199"
},
{
"address": "eth:0xfF206f46453A9dd8e1664532788f4987c15B937d",
"type": "EOA",
"isVerified": true,
"name": "0xfF20…937d",
"url": "https://etherscan.io/address/0xfF206f46453A9dd8e1664532788f4987c15B937d"
},
{
"address": "eth:0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512",
"type": "EOA",
"isVerified": true,
"name": "0x3552…1512",
"url": "https://etherscan.io/address/0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512"
},
{
"address": "eth:0x94d5dc7c96Eb6176783787669571970C7ba43e01",
"type": "EOA",
"isVerified": true,
"name": "0x94d5…3e01",
"url": "https://etherscan.io/address/0x94d5dc7c96Eb6176783787669571970C7ba43e01"
},
{
"address": "eth:0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950",
"type": "EOA",
"isVerified": true,
"name": "0x6f52…8950",
"url": "https://etherscan.io/address/0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950"
}
],
"discoveryDrivenData": true
},
{
"id": "SHARP Multisig",
"name": "SHARP Multisig",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with 8d delay**\n * SHARPVerifierCallProxy [via: - acting directly with 8d delay]\n* Can interact with SHARPVerifierCallProxy\n * Administer the CallProxy's `GOVERNANCE_ADMIN` and role-admin hierarchy. This AccessControl role is separate from the outer proxy governor that schedules implementation upgrades \n * Grant and revoke application roles, including the `APP_GOVERNOR` role that controls caller-specific fallback routes \n * Route fallback calls from specific callers to a still-active registry in the default verifier's reference chain. This principally determines which verifier and bootloader configuration processes their proof submissions; the proxy's explicit `isValid` entry point always queries the default target ",
"accounts": [
{
"address": "eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4",
"type": "Contract",
"isVerified": true,
"name": "0x21F9…AEc4",
"url": "https://etherscan.io/address/0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
},
{
"address": "eth:0xebc8416179fE90854fe8B3f774801165572cfD7F",
"type": "EOA",
"isVerified": true,
"name": "0xebc8…fD7F",
"url": "https://etherscan.io/address/0xebc8416179fE90854fe8B3f774801165572cfD7F"
},
{
"address": "eth:0x955B978F3ee7818dA71fA25c676062E6BC462Fec",
"type": "EOA",
"isVerified": true,
"name": "0x955B…2Fec",
"url": "https://etherscan.io/address/0x955B978F3ee7818dA71fA25c676062E6BC462Fec"
}
],
"discoveryDrivenData": true
},
{
"id": "Paradex Multisig",
"name": "Paradex Multisig",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * Paradex \n* Can interact with Paradex\n * Permissioned to manage the Operator role, finalize the application configuration, and change the OS program hash, aggregator program hash, OS-config hash, fee collector, or message cancellation delay ",
"accounts": [
{
"address": "eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93",
"type": "Contract",
"isVerified": true,
"name": "0x0a64…6B93",
"url": "https://etherscan.io/address/0x0a64d3D7747549aF6d65C225D56ac8f71e436B93"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0x64F4396bb0669C72858Cc50C779b48EB25F45770",
"type": "EOA",
"isVerified": true,
"name": "0x64F4…5770",
"url": "https://etherscan.io/address/0x64F4396bb0669C72858Cc50C779b48EB25F45770"
},
{
"address": "eth:0xCe958D997F4a5824D4d503A128216322C6C223a0",
"type": "EOA",
"isVerified": true,
"name": "0xCe95…23a0",
"url": "https://etherscan.io/address/0xCe958D997F4a5824D4d503A128216322C6C223a0"
},
{
"address": "eth:0x804d60CB1ade94511f7915A2062948685Ca8C81f",
"type": "EOA",
"isVerified": true,
"name": "0x804d…C81f",
"url": "https://etherscan.io/address/0x804d60CB1ade94511f7915A2062948685Ca8C81f"
},
{
"address": "eth:0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6",
"type": "EOA",
"isVerified": true,
"name": "0xBF6a…B4A6",
"url": "https://etherscan.io/address/0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
}
],
"discoveryDrivenData": true
},
{
"id": "StarkgateManager",
"name": "StarkgateManager",
"accounts": [
{
"address": "eth:0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE",
"type": "Contract",
"isVerified": true,
"name": "0x279b…9BAE",
"url": "https://etherscan.io/address/0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE"
}
],
"chain": "ethereum",
"description": "Acts as a central contract to manage StarkGate bridge escrows (add new ones, deactivate existing, change configs) when given the Manager role from the respective escrows.\n* Can interact with USDC Bridge\n * deactivate bridging for deposits into the escrow ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044",
"type": "EOA",
"isVerified": true,
"name": "0x09d1…7044",
"url": "https://etherscan.io/address/0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044",
"displayName": "EOA 1"
},
{
"address": "eth:0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2",
"type": "EOA",
"isVerified": true,
"name": "0xC70a…4fe2",
"url": "https://etherscan.io/address/0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2",
"displayName": "EOA 1"
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with Paradex\n * Permissioned to regularly post L2 state updates and choose an available data-availability entry point. Under the current implementation, every update still needs a fact accepted by SHARP and cannot bypass the pinned program and config hashes ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x40060493a280915e2df7b46f8A9f251156080C39",
"type": "EOA",
"isVerified": true,
"name": "0x4006…0C39",
"url": "https://etherscan.io/address/0x40060493a280915e2df7b46f8A9f251156080C39",
"displayName": "EOA 2"
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with StarkgateManager\n * enroll new tokens, deactivate existing ones (for deposits) or block tokens from being added to the Multibridge \n * manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation \n* Can interact with StarkgateRegistry\n * manage critical access control roles and the role that can upgrade the implementation ",
"discoveryDrivenData": true
},
{
"id": "EOA-3-and-EOA-4",
"name": "EOA 3 and EOA 4",
"id": "EOA-4-and-EOA-5",
"name": "EOA 4 and EOA 5",
"accounts": [
{
"address": "eth:0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D",
"type": "EOA",
"isVerified": true,
"name": "0x27aF…b17D",
"url": "https://etherscan.io/address/0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D",
"displayName": "EOA 3"
"displayName": "EOA 4"
},
{
"address": "eth:0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6",
"type": "EOA",
"isVerified": true,
"name": "0x3e87…0CB6",
"url": "https://etherscan.io/address/0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6",
"displayName": "EOA 4"
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with USDC Bridge\n * enable the withdrawal limit ",
"discoveryDrivenData": true
}
]
}
}
contracts+3-3
{
"addresses": {
"ethereum": [
{
"name": "Paradex",
"isVerified": true,
"address": "eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93",
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689851135,
"transactionHash": "0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56",
"implementations": [
"eth:0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08"
]
},
{
"timestamp": 1710346919,
"transactionHash": "0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0",
"implementations": [
"eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24"
]
},
{
"timestamp": 1725811535,
"transactionHash": "0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8",
"implementations": [
"eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC"
]
},
{
"timestamp": 1744056299,
"transactionHash": "0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53",
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
]
},
{
"timestamp": 1778419811,
"transactionHash": "0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009",
"implementations": [
"eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A"
]
}
],
"description": "Central Starknet rollup contract. For every state update it derives a SHARP fact from the state-transition output and either the Starknet OS or aggregator program hash, checks that fact through the configured SHARP call proxy, and requires the output's OS-config hash to match. It also processes L1 <-> L2 messages and stores the finalized L2 state.\n* Roles:\n * **admin**: Paradex Multisig, Paradex Multisig 2\n * **operators**: EOA 1",
"description": "Central Starknet rollup contract. For every state update it derives a SHARP fact from the state-transition output and either the Starknet OS or aggregator program hash, checks that fact through the configured SHARP call proxy, and requires the output's OS-config hash to match. It also processes L1 <-> L2 messages and stores the finalized L2 state.\n* Roles:\n * **admin**: Paradex Multisig, Paradex Multisig 2\n * **operators**: EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Paradex Multisig",
"delay": "no"
},
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code"
},
{
"name": "CpuVerifierAllSolidity_2026_13",
"isVerified": true,
"address": "eth:0x015381651F240Ed6C44122dCba6Cf807c9442CD6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x015381651F240Ed6C44122dCba6Cf807c9442CD6#code"
},
{
"name": "CpuVerifierDex_2026_13",
"isVerified": true,
"address": "eth:0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores the complete compiled Cairo outer bootloader used as the top-level program of a SHARP proof. The SHARP verifier copies these words into public memory, pinning this exact executable onchain independently of the separately committed simple, applicative, and recursive-verifier programs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "CpuVerifierRecursive_2026_13",
"isVerified": true,
"address": "eth:0x2867A4509B0969531641A42a3D4A9B0A07109B6B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2867A4509B0969531641A42a3D4A9B0A07109B6B#code"
},
{
"name": "CpuVerifierSmall_2026_13",
"isVerified": true,
"address": "eth:0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b#code"
},
{
"name": "MemoryPageFactRegistry_2023_9",
"isVerified": true,
"address": "eth:0x40864568f679c10aC9e72211500096a5130770fA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless commitment calculator and registry used by the Solidity STARK verifiers. Anyone may submit a public-memory page and interaction elements; the contract computes its hash and cumulative product and registers the fact key committing to them, which the CPU verifier must bind to the proof. It is part of the proof verifier, not an application-level program registry. A malicious or nonconforming implementation can break public-memory soundness; binding to a different honest registry generally causes a liveness failure instead.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x40864568f679c10aC9e72211500096a5130770fA#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1777465247,
"transactionHash": "0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1782033359,
"transactionHash": "0x57f323ff6c828c8fe0c65c9c89d5b242264455cd5f3a5bacd25a78efa17b0ed4",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1783857227,
"transactionHash": "0x7f1e6f9a7268ea6ce5b3b2ce055c3ce420ee776c63c41f57823a0e9cb782e254",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradeable call router through which Starknet and other applications access SHARP fact registries. It uses `call`, not `delegatecall`, so facts and immutable verifier configuration remain at each target registry. The explicit `isValid` entry point always queries the default target. Other calls handled by the fallback, principally proof submissions, can be routed per caller to a still-active registry in the default target's reference chain. The default target can be replaced by SHARP Multisig after 8d.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **appRoleAdmin**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x4956bda1d23F75B988644329c5B06BD1494a72b6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4956bda1d23F75B988644329c5B06BD1494a72b6#code"
},
{
"name": "SHARPVerifier_2026_13_1",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "CpuVerifierDexWithBitwise_2026_13",
"isVerified": true,
"address": "eth:0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11#code"
},
{
"name": "CpuVerifierStarknet_2026_13",
"isVerified": true,
"address": "eth:0x71574057D12541ccDa98643aC56441838353A26D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71574057D12541ccDa98643aC56441838353A26D#code"
},
{
"name": "SHARPVerifier_2026_13_2",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "CpuVerifierRecursiveLargeOutput_2026_13",
"isVerified": true,
"address": "eth:0xbe0F8F150Fd10798524B4de80eD75751658CAEF3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbe0F8F150Fd10798524B4de80eD75751658CAEF3#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless commitment calculator and registry used by the Solidity STARK verifiers. Anyone may submit a public-memory page and interaction elements; the contract computes its hash and cumulative product and registers the fact key committing to them, which the CPU verifier must bind to the proof. It is part of the proof verifier, not an application-level program registry. A malicious or nonconforming implementation can break public-memory soundness; binding to a different honest registry generally causes a liveness failure instead.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
},
{
"name": "SHARPVerifier_2026_13_3",
"isVerified": true,
"address": "eth:0xE67515a751291445B85b2F176c1eCdf08e86b406",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE67515a751291445B85b2F176c1eCdf08e86b406#code"
},
{
"name": "CpuVerifierPerpetual_2026_13",
"isVerified": true,
"address": "eth:0xFFC7974cd74b95f631f454cd787AAc28F0476b44",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFFC7974cd74b95f631f454cd787AAc28F0476b44#code"
},
{
"name": "StarkgateRegistry",
"isVerified": true,
"address": "eth:0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771091351,
"transactionHash": "0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510",
"implementations": [
"eth:0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3"
]
}
],
"description": "A simple registry that maps tokens to their StarkGate escrows. It also keeps a list of tokens that are blocked from being added to StarkGate.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: EOA 2",
"description": "A simple registry that maps tokens to their StarkGate escrows. It also keeps a list of tokens that are blocked from being added to StarkGate.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: EOA 3",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280#code"
},
{
"name": "USDC Bridge",
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692341231,
"transactionHash": "0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed",
"implementations": [
"eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16"
]
},
{
"timestamp": 1716894071,
"transactionHash": "0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1718445143,
"transactionHash": "0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1747418723,
"transactionHash": "0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1771682039,
"transactionHash": "0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7",
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: Paradex Multisig 2\n * **manager**: StarkgateManager\n * **secAdmin**: Paradex Multisig 2\n * **secAgent**: EOA 3, EOA 4, Paradex Multisig 2",
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: Paradex Multisig 2\n * **manager**: StarkgateManager\n * **secAdmin**: Paradex Multisig 2\n * **secAgent**: EOA 4, EOA 5, Paradex Multisig 2",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x03Fa911dfCa026D9C8Edb508851b390accF912e8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x03Fa911dfCa026D9C8Edb508851b390accF912e8#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x217750c27bE9147f9e358D9FF26a8224F8aCC214",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x217750c27bE9147f9e358D9FF26a8224F8aCC214#code"
},
{
"name": "CairoBootloaderProgram_2022_7",
"isVerified": true,
"address": "eth:0x5d07afFAfc8721Ef3dEe4D11A2D1484CBf6A9dDf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d07afFAfc8721Ef3dEe4D11A2D1484CBf6A9dDf#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x630A97901Ac29590DF83f4A64B8D490D54caf239",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x630A97901Ac29590DF83f4A64B8D490D54caf239#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x78Af2BFB12Db15d35f7dE8DD77f29C299C78c590",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78Af2BFB12Db15d35f7dE8DD77f29C299C78c590#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x8488e8f4e26eBa40faE229AB653d98E341cbE57B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8488e8f4e26eBa40faE229AB653d98E341cbE57B#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0x9E614a417f8309575fC11b175A51599661f2Bd21",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9E614a417f8309575fC11b175A51599661f2Bd21#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0xC879aF7D5eD80e4676C203FD300E640C297F31e3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC879aF7D5eD80e4676C203FD300E640C297F31e3#code"
},
{
"name": "CpuFrilessVerifier",
"isVerified": true,
"address": "eth:0xe9664D230490d5A515ef7Ef30033d8075a8D0E24",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe9664D230490d5A515ef7Ef30033d8075a8D0E24#code"
},
{
"name": "MemoryPageFactRegistry_2022_7",
"isVerified": true,
"address": "eth:0xFD14567eaf9ba941cB8c8a94eEC14831ca7fD1b4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD14567eaf9ba941cB8c8a94eEC14831ca7fD1b4#code"
}
]
},
"escrows": [
{
"address": "0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"sinceTimestamp": 1692341159,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692341231,
"transactionHash": "0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed",
"implementations": [
"eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16"
]
},
{
"timestamp": 1716894071,
"transactionHash": "0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1718445143,
"transactionHash": "0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1747418723,
"transactionHash": "0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1771682039,
"transactionHash": "0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7",
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
]
}
],
"description": "Paradex USDC Escrow. The current bridge cap is 500 M USDC.",
"upgradableBy": [
{
"name": "USDC Escrow owner",
"delay": "0s"
}
],
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Starknet OS",
"proverSystemProject": "stwo",
"description": "Proves correct state transition for a range of consecutive Starknet transactions.",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/os.cairo#L69",
"verificationStatus": "successful",
"verificationSteps": "1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"os\"` value of this file will be equivalent to dec value of the hash.",
"hash": "2733003247060056328192560178934419513655729851806095615814023997114795707702"
},
{
"title": "Aggregation program for SHARP prover",
"description": "Aggregates proofs of correct execution for several consecutive transaction ranges generated by Starknet OS.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/aggregator/main.cairo#L15",
"verificationStatus": "successful",
"verificationSteps": "1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"aggregator_with_prefix\"` value of this file will be equivalent to dec value of the hash.",
"hash": "2571508110958925737463010241874806654058743535666147712534445437599630018294"
},
{
"title": "Outer bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Top-level Cairo program executed by SHARP.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/bootloader",
"verificationStatus": "successful",
"verificationSteps": "These steps reproduce the current 1,166-felt SHARP outer bootloader on Linux. \n\nDependencies: Git, Bazelisk configured to use Bazel 7.4.1, JDK 21, GMP development headers, Python 3, and Foundry `cast`.\n\n1. Check out the exact public source revision:\n\n```bash\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\nThe Cairo compiler version at this revision is `0.15.0a0`. The entrypoint is `src/starkware/cairo/bootloaders/bootloader/bootloader.cairo`.\n\n2. Build the official proof-mode target:\n\n```bash\nUSE_BAZEL_VERSION=7.4.1 bazelisk build \\\n //src/starkware/cairo/bootloaders/bootloader:bootloader_program\n```\n\nThe destination for the compiled program will be printed by the build script, the instruction array will be in the `\"data\"` json field in hex format. The target uses `--proof_mode --debug_info_with_source`.\n\n3. Check that the compiled instruction array is identical to the one pinned by the immutable Ethereum contract at `0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47`, which could be fetched by calling:\n\n```bash\ncast call 0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47 \\\n 'getCompiledProgram()(uint256[1166])' \\\n --rpc-url \"$ETHEREUM_RPC_URL\" \\\n --json > /tmp/sharp_outer_bootloader_onchain.json\n```",
"hash": "3427958597398434235135013788958741576989752718219267963615783564775551242024"
},
{
"title": "Supported simple bootloader programs commitment StarkWare_GpsStatementVerifier_2026_13",
"description": "Pedersen commitment to the ordered list of accepted simple-bootloader executable hashes.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Runs an aggregator program, checks that its input matches the recursively unpacked task outputs, and relabels the resulting fact with the domain-separated aggregator program hash.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Supported recursive Cairo verifier programs commitment StarkWare_GpsStatementVerifier_2026_13_4",
"description": "Pedersen commitment to the ordered allowlist of Cairo programs that may recursively verify and unpack nested SHARP proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"hash": "2549868507195840500193135872505150687001846773665388230794631345999578394351"
},
{
"title": "Supported recursive Cairo verifier programs commitment StarkWare_GpsStatementVerifier_2026_13_2/3",
"description": "Pedersen commitment to the ordered allowlist of Cairo programs that may recursively verify and unpack nested SHARP proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"hash": "2344514586684536563385559840360704301482767436870016911498865422916991654732"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x4956bda1d23F75B988644329c5B06BD1494a72b6",
"eth:0xE67515a751291445B85b2F176c1eCdf08e86b406"
]
}