aa1c2790 (main)
and
2821d8a7 (PR)
+15 -8
+15 -8
{
"addresses": {
"ethereum": [
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0x1390f521A79BaBE99b69B37154D63D431da27A07",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x303775491494a08b07365938787274F742a81F63"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657453406,
"transactionHash": "0xbb2c1a2af8cd1610e653c265b6e395bbea1bcea66006673a094a3d7e966a190c",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662045475,
"transactionHash": "0x0ba3606ba4b0ec058a8fe2dfe68bd4f35a321771db1494d350192b5e3025dfb8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1\n * **operators**: EOA 3\n * **tokenAdmins**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1390f521A79BaBE99b69B37154D63D431da27A07#code"
},
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x4F8B2dd49D958b6ac3e5f4705Bf1a9aDA5Bc4446",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F8B2dd49D958b6ac3e5f4705Bf1a9aDA5Bc4446#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x5339AB7557b3152b91A57D10B0Caf5da88Db5143",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`16830627573509542901909952446321116535677491650708854009406762893086223513`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5339AB7557b3152b91A57D10B0Caf5da88Db5143#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x806d435a82B0381bD884540c2235147c13B97fe6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x806d435a82B0381bD884540c2235147c13B97fe6#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0x1390f521A79BaBE99b69B37154D63D431da27A07",
"sinceTimestamp": 1657453320,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x1390f521A79BaBE99b69B37154D63D431da27A07",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x303775491494a08b07365938787274F742a81F63"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657453406,
"transactionHash": "0xbb2c1a2af8cd1610e653c265b6e395bbea1bcea66006673a094a3d7e966a190c",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662045475,
"transactionHash": "0x0ba3606ba4b0ec058a8fe2dfe68bd4f35a321771db1494d350192b5e3025dfb8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Main entry point for users' deposits.",
"url": "https://etherscan.io/address/0x1390f521A79BaBE99b69B37154D63D431da27A07#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.5",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "16830627573509542901909952446321116535677491650708854009406762893086223513"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+15 -8
+15 -8
{
"addresses": {
"ethereum": [
{
"name": "StarkPerpetual",
"isVerified": true,
"address": "eth:0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x57814cC6e075f517781cB7c3B42897B3Bb2C54d8"
],
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720435943,
"transactionHash": "0xb4a37a973c29b0213d2622a6ab1faac67ac73ca271c14664818b3f9604cb7eaf",
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: Safe\n * **operators**: EOA 2\n * **tokenAdmins**: EOA 1",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfAaE2946e846133af314d1Df13684c89fA7d83DD#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "AggregationRouterV5",
"isVerified": true,
"address": "eth:0x1111111254EEB25477B68fb85Ed929f73A960582",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "1inch DEX aggregator supporting RFQ fills, limit-order fills and direct DEX swaps.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1111111254EEB25477B68fb85Ed929f73A960582#code"
},
{
"name": "FinalizableCommittee",
"isVerified": true,
"address": "eth:0x23bf3dcc14680162b7f5355aAbb56D31823c946e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAC with admin funtions to manage members. Admins are not discoverable and thus not shown here.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23bf3dcc14680162b7f5355aAbb56D31823c946e#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x4abBc1826389aC0FEaA49E70c30a041b665e8562",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`2530337539466159944237001094809327283009177793361359619481044346150483328860`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4abBc1826389aC0FEaA49E70c30a041b665e8562#code"
},
{
"name": "PerpetualEscapeVerifier",
"isVerified": true,
"address": "eth:0xaadFdB9CAc145c65f2284fBe24600d07fb37F7BD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Special verifier for the escape() function.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaadFdB9CAc145c65f2284fBe24600d07fb37F7BD#code"
},
{
"name": "EdgeXDepositor",
"isVerified": true,
"address": "eth:0xC0a1a1e4AF873E9A37a0caC37F3aB81152432Cc5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A deposit wrapper that allows users to deposit arbitrary tokens to EdgeX. Tokens are swapped to USDT via 1inch and deposited to edgeX. This deposit wrapper also has fast withdrawal support using liquidity providers, but it seems deprecated in practice. Standard direct deposits and withdrawals of USDT at the StarkPerpetual contract are fully supported.\n* Roles:\n * **signers**: EOA 3, EOA 4, EOA 5",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC0a1a1e4AF873E9A37a0caC37F3aB81152432Cc5#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"sinceTimestamp": 1720435859,
"tokens": [
"USDT"
],
"contract": {
"isVerified": true,
"address": "eth:0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x57814cC6e075f517781cB7c3B42897B3Bb2C54d8"
],
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720435943,
"transactionHash": "0xb4a37a973c29b0213d2622a6ab1faac67ac73ca271c14664818b3f9604cb7eaf",
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
]
}
],
"url": "https://etherscan.io/address/0xfAaE2946e846133af314d1Df13684c89fA7d83DD#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program ApeX and EdgeX",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "2530337539466159944237001094809327283009177793361359619481044346150483328860"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+15 -8
+15 -8
{
"addresses": {
"ethereum": [
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x1e601435E181423e7A8430813d7500012a6169cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e601435E181423e7A8430813d7500012a6169cB#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0xc49Ec6Bb817E17a9Ca5B738ca330db403cc74245"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659542611,
"transactionHash": "0x2e4c35995431d1de222814e766a3eb776fa77066848149094160572235bcba55",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662036445,
"transactionHash": "0xe47b5e4556898d3425bf25bde5aed3073ed121e3d3fb5f0deb6a8924e2ad2845",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1679392715,
"transactionHash": "0xef968f08903be797a0aca5d870844606dcbeccdfc6dc2048760a3d2893df109b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1\n * **operators**: EOA 3\n * **tokenAdmins**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "14d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x5339AB7557b3152b91A57D10B0Caf5da88Db5143",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`16830627573509542901909952446321116535677491650708854009406762893086223513`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5339AB7557b3152b91A57D10B0Caf5da88Db5143#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x806d435a82B0381bD884540c2235147c13B97fe6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x806d435a82B0381bD884540c2235147c13B97fe6#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"sinceTimestamp": 1659542607,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0xc49Ec6Bb817E17a9Ca5B738ca330db403cc74245"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659542611,
"transactionHash": "0x2e4c35995431d1de222814e766a3eb776fa77066848149094160572235bcba55",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662036445,
"transactionHash": "0xe47b5e4556898d3425bf25bde5aed3073ed121e3d3fb5f0deb6a8924e2ad2845",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1679392715,
"transactionHash": "0xef968f08903be797a0aca5d870844606dcbeccdfc6dc2048760a3d2893df109b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.5",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "16830627573509542901909952446321116535677491650708854009406762893086223513"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 8d delay on code upgrades."
}
],
"zkVerifiers": [
"eth:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+15 -8
+15 -8
{
"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 rollup contract. Receives (verified) state roots from the Sequencer, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: Paradex Multisig, Paradex Multisig 2\n * **operators**: EOA 1",
"upgradableBy": [
{
"name": "Paradex Multisig",
"delay": "no"
},
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#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",
"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, Paradex Multisig 2",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#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": "\n1. 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.\n ",
"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": "\n1. 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.\n ",
"hash": "2571508110958925737463010241874806654058743535666147712534445437599630018294"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934"
]
}
+15 -8
+15 -8
{
"addresses": {
"ethereum": [
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x879cD57975d596004863D30c59d579ef78BBbe32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x879cD57975d596004863D30c59d579ef78BBbe32#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1777376531,
"transactionHash": "0x8133c660c29139f3afcfa0d694829a8e16d5473e74704be6b0aa06869cf329d8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1780222979,
"transactionHash": "0xfd3455fd60677c360679dc601a13283ad26f7f618c9c67db9a52b9d7d42d5014",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1, SorareAdminMultisig\n * **operators**: EOA 2, EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SorareAdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`3174901404014912024702042974619036870715605532092680335571201877913899936957`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xF5C9F957705bea56a7e806943f98F7777B995826",
"sinceTimestamp": 1626352527,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1777376531,
"transactionHash": "0x8133c660c29139f3afcfa0d694829a8e16d5473e74704be6b0aa06869cf329d8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1780222979,
"transactionHash": "0xfd3455fd60677c360679dc601a13283ad26f7f618c9c67db9a52b9d7d42d5014",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.0",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "3174901404014912024702042974619036870715605532092680335571201877913899936957"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+17 -17
+2 -9
{
"downgradePending": {
"expiresAt": 1786968000,
"reasons": [
"Not all program sources are public or not all program hashes can be independently regenerated."
],
"toStage": "Stage 0"
},
"missing": {
"nextStage": "Stage 2",
"requirements": [
"Upgrades unrelated to onchain provable bugs provide less than 30d to exit.",
"The Security Council's actions are not confined to onchain provable bugs."
]
},
"stage": "Stage 1",
"stage1PrincipleDescription": "While Starknet is considered Stage 1, the Security Council minority is employed to enforce censorship resistance in case the permissioned operator fails to include transactions. The process through which a censored user can contact the Security Council is not defined and currently unclear.",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
},
{
"satisfied": true,
"description": "The project calls itself a rollup."
},
{
"satisfied": true,
"description": "State roots are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "Inputs for the state transition function are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/eqlabs/pathfinder)"
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": true,
"description": "Users are able to exit without the help of the permissioned operators."
},
{
"satisfied": true,
"description": "In case of an unwanted upgrade by actors more centralized than a Security Council, users have at least 7d to exit."
},
{
"satisfied": true,
"description": "The Security Council is properly set up [(List of members)](https://governance.starknet.io/learn/security_council)."
},
{
"satisfied": true,
"description": "The proof system meets the minimum trusted setup requirements defined in the L2BEAT [trusted setup assessment framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381).",
"upcoming": true
},
{
"satisfied": true,
"description": "Prover source code is published.",
"upcoming": true
},
{
"satisfied": true,
"description": "Onchain verifiers' smart contracts can be independently regenerated from the verifier source code.",
"upcoming": true
},
{
"satisfied": false,
"description": "Not all program sources are public or not all program hashes can be independently regenerated.",
"satisfied": true,
"description": "The sources of all programs used are public and program hashes can be independently regenerated.",
"upcoming": true
}
],
"principle": {
"satisfied": true,
"description": "Compromising ≥75% of the Security Council is the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"satisfied": false,
"description": "Upgrades unrelated to onchain provable bugs provide less than 30d to exit."
},
{
"satisfied": false,
"description": "The Security Council's actions are not confined to onchain provable bugs."
}
]
}
]
}
+15 -8
{
"addresses": {
"ethereum": [
{
"name": "Starknet",
"isVerified": true,
"address": "eth:0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361",
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c"
],
"implementations": [
"eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1636979180,
"transactionHash": "0xccde4b2c417c0361ca34b8896ff8ee8a471aeab423613db8175463d903d4c2fe",
"implementations": [
"eth:0xD8Cd77206fCb239BdDaaDDdA8C87CBFe7d67Ca2b"
]
},
{
"timestamp": 1643193921,
"transactionHash": "0xf928abd9eb81afac14d1e8f76a52de80f9c38cbe0e72d2f1ec922caf7bf1cad0",
"implementations": [
"eth:0x944960b90381d76368aecE61F269bD99FFfd627e"
]
},
{
"timestamp": 1647853574,
"transactionHash": "0x4e551f471810ea806502b1e24f9ef6793f0a0b68f24c3cdec44df444921d7689",
"implementations": [
"eth:0xDC109C4a1A3084Ed15A97692FBEF3e1FB32A6955"
]
},
{
"timestamp": 1655284858,
"transactionHash": "0x65e31a14e45c3f909c1f90e67b3bb9a54e256d28cb8a27432f73268a19ebab84",
"implementations": [
"eth:0x2B3B750f1f10c85c8A6D476Fc209A8DC7E4Ca3F8"
]
},
{
"timestamp": 1662879548,
"transactionHash": "0x6f7ff0be4f155165290702052683f0a87b5e660812949c6e10eac6602c6aa5e7",
"implementations": [
"eth:0xE267213B0749Bb94c575F6170812c887330d9cE3"
]
},
{
"timestamp": 1680085307,
"transactionHash": "0x861257880dfe325f603d4371a10888daa8fb0a16c205bb43647e8c5547298e36",
"implementations": [
"eth:0x739A654271c565839F0408546706bBea2F1FfE42"
]
},
{
"timestamp": 1684906283,
"transactionHash": "0x640cb38b6ffa91068da7cc15730268402661ec3f62f084b2a58522f600d89277",
"implementations": [
"eth:0x16938E4b59297060484Fa56a12594d8D6F4177e8"
]
},
{
"timestamp": 1710252923,
"transactionHash": "0xb9cd560bbc6f0478eeb5bed042a06d988ef6ebfd1cc9bfb509b4d8202b517ecc",
"implementations": [
"eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24"
]
},
{
"timestamp": 1724855579,
"transactionHash": "0x4186d705e39a8e7cb19069c9426e4b211fad28f97cb7f641e4bd240971318e8d",
"implementations": [
"eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC"
]
},
{
"timestamp": 1742836319,
"transactionHash": "0x7e6e541652c8ed05afba0c7fd372d6a340d438d85a545666ee7ecd1a4046eb5b",
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
]
},
{
"timestamp": 1776686015,
"transactionHash": "0xb2fd817ea47d39435e0b08825964bcb0b2ae08ebc4c5a47954f9b169235ed1c1",
"implementations": [
"eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A"
]
}
],
"description": "Central rollup contract. Receives (verified) state roots from the Sequencer, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **operators**: EOA 3, Starkware SCMinority Multisig",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4#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"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "DelayedExecutor",
"isVerified": true,
"address": "eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A simple Timelock contract with an immutable delay of 8d. The owner (Starkware Multisig 1) can queue transactions.\n* Roles:\n * **owner**: Starkware Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCA112018fEB729458b628AadC8f996f9deCbCa0c#code"
},
{
"name": "ETHBridge",
"isVerified": true,
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647857960,
"transactionHash": "0x4c7952f4056367ec557d94b41d0784b7eb247d1f9de7378bdff7a5218c85314d",
"implementations": [
"eth:0x0205172F25e791975edB4dEF203f3789B01f43bb"
]
},
{
"timestamp": 1649596101,
"transactionHash": "0x9b76ede78b75c332ea2ae855b62a2363c197ee521522ab1a14aa5517f2610dd5",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0xa31315fda290a9ee1abf459ba81a8c5986c5c9da58cda4c20a144ab16e3a9ba1",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1680016103,
"transactionHash": "0x826f7e63249e192040d6b9301a68a0c7fc1130d06339ab0c758ff14799f9adfb",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707738959,
"transactionHash": "0x1f56cc90fd40bcc00a27f94c989e93cb414a884e2fe971323426f40d58c71306",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
}
],
"description": "Standard Starkware canonical bridge escrow for ETH. Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **govAdmin**: Starkware Security Council\n * **secAdmin**: Starkware SCMinority Multisig\n * **secAgent**: EOA 5, Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419#code"
},
{
"name": "LORDSBridge",
"isVerified": true,
"address": "eth:0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Custom (and immutable) entry point contract and escrow for users depositing LORDS to via StarkGate to the L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x023A2aAc5d0fa69E3243994672822BA43E34E5C9#code"
},
{
"name": "StarkgateRegistry",
"isVerified": true,
"address": "eth:0x1268cc171c54F2000402DfF20E93E60DF4c96812",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x39C3b4e670ACa8BC668e5A79680973e57a4C8CEC"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325511,
"transactionHash": "0x54e1021653aaca692f4ead2a85e5bd32648919d01953e88693a833d45c583fab",
"implementations": [
"eth:0x642F04899B6cA155c2a5eAdD4e4ed634f1B07Dd7"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0x39C3b4e670ACa8BC668e5A79680973e57a4C8CEC"
]
}
],
"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**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1268cc171c54F2000402DfF20E93E60DF4c96812#code"
},
{
"name": "WBTCBridge",
"isVerified": true,
"address": "eth:0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657138806,
"transactionHash": "0xeedccfe88453ea74a342ca57926a88b6033057eb15b43291332f0fa19c197eee",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630577,
"transactionHash": "0xc450cc918a45c46057f13a072c41a646e78f52af5e36f82b7061b478e44b7fb3",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x5bc722c79d5a4303b76638f6fc75d26c5dbfba39202c2a7ced89b96d3ead97e7",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016007,
"transactionHash": "0xb638d945b6a6feba94d6219f1618a6e279720e105d4476db19063abd4164117f",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707731699,
"transactionHash": "0x426174e7e63465569d28b3ca3e807e69859f9a2650702487260b9a45646d5f32",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1768834883,
"transactionHash": "0xdb7a4f9c3e38994d167d6943b6b7f247972ac3c7564febba428a407cf0e89e5b",
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
]
}
],
"description": "Haltable version of the Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually. Deposits for a particular token can be halted by app governor, halt must be finalized in the second transaction that also sweeps all funds into a clrearing address. There is no logic to resume bridging after the halt.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x283751A21eafBFcD52297820D27C1f1963D9b5b4#code"
},
{
"name": "FXSBridge",
"isVerified": true,
"address": "eth:0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x8a85416efb74a9a7b95f6596bbcf947bdea2e1664c1401fee191dbc35ed63b9e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66ba83ba3D3AD296424a2258145d9910E9E40B7C#code"
},
{
"name": "LBTCBridge",
"isVerified": true,
"address": "eth:0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xF689688640E88160c07C6FC5cc63039F29EDe86b"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1757941451,
"transactionHash": "0x503782544b4f41c5e38d13ba7e96e5dd4fb597abb7a595a7da2af8ddfaface58",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually.\n* Roles:\n * **admin**: EOA 6\n * **govAdmin**: EOA 6\n * **secAdmin**: EOA 6",
"upgradableBy": [
{
"id": "EOA-6",
"name": "EOA 6",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0x9F96fE0633eE838D0298E8b8980E6716bE81388d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gateway contract that is the user entrypoint to deposit DAI to a custom escrow to bridge via StarkGate.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F96fE0633eE838D0298E8b8980E6716bE81388d#code"
},
{
"name": "SolvBTCBridge",
"isVerified": true,
"address": "eth:0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750862507,
"transactionHash": "0x9529b94a823908b9a8c9097a89ef76e034740a971363e3f7913f4971eb3633e3",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768493183,
"transactionHash": "0x27532d9c2db25f9d053fe4246f83a8c719a0d0b000a9d0e9f1e7dae1e05f287a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
},
{
"timestamp": 1768493315,
"transactionHash": "0x787522b1ecf6f59d77fdd6278cf3d92f7b28cc292264e5f7ae9ef93c1344d587",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768831679,
"transactionHash": "0xa0ae9228abd03f1701caf995520b4ad4f9998bf46376e5f8cea39a24d0ee461a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
}
],
"description": "Haltable version of the Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually. Deposits for a particular token can be halted by app governor, halt must be finalized in the second transaction that also sweeps all funds into a clrearing address. There is no logic to resume bridging after the halt.\n* Roles:\n * **admin**: EOA 4\n * **govAdmin**: EOA 4\n * **secAdmin**: EOA 4",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10#code"
},
{
"name": "USDTBridge",
"isVerified": true,
"address": "eth:0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x3e25166c11d40ded7d1ae272a9e4eb416b2d35a8f4919ca0a07c55f0065de787",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x55d370d26d45d7aee7f06e7f741d5f0d37154889faa1fa4e393370cae31a0f0f",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x33fdbe5a0d1ba784eb5e2f0f34b42d57c5c2b6b0bd3562746c7ee0447f7767aa",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0xac209ae933b3ae24348f926df5f8978093617c711baaceefa21b90c08c82a0af",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732815,
"transactionHash": "0xe594bd2581f3da0e554ad8664aecc1441280850cc7827a9e42d172bbf54cac5d",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbb3400F107804DFB482565FF1Ec8D8aE66747605#code"
},
{
"name": "wstETHBridge",
"isVerified": true,
"address": "eth:0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685453471,
"transactionHash": "0xb4de1aa42c3ade894dd66e06e6125549e8004d2d6857cf456ef5bde3f583ea7c",
"implementations": [
"eth:0xEf3525a1081a4cf6f76E0B202a575195cEE083a2"
]
},
{
"timestamp": 1707416015,
"transactionHash": "0x4eb13c68776e5aa840ab59c3c4ff369372fd461bab760eee12d1ae7ccf7baa6e",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B#code"
},
{
"name": "STRKBridge",
"isVerified": true,
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704907283,
"transactionHash": "0x4ea20358347292f048a26277477a9f145add434e50e3f64c85f494469768c876",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1705239263,
"transactionHash": "0x42056631084f574f2ed5f49bef3d1aabab22008266ac97afea3e5f42649bd7c3",
"implementations": [
"eth:0x052C81F05595B5DeF4fdFEdbD7CA7b4A8a7B50C1"
]
},
{
"timestamp": 1705249823,
"transactionHash": "0xe8154cce45dafa5cfcb95d134f3da8a13c80c6546da07ca92c88d5c54286cdc3",
"implementations": [
"eth:0x7f2a18900A978D4390a3640e34739BB697777A71"
]
},
{
"timestamp": 1707751031,
"transactionHash": "0x7c5561efa149f2be36fac917f47b0b107218b43de1eac56ceb97d008257bd850",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1739105903,
"transactionHash": "0xccb802ed2caee6856e9141983a642a0d4881cd64a209436d3fdeb4776c841175",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **govAdmin**: Starkware Security Council\n * **secAdmin**: Starkware SCMinority Multisig\n * **secAgent**: EOA 5, Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4#code"
},
{
"name": "rETHBridge",
"isVerified": true,
"address": "eth:0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685882531,
"transactionHash": "0x90d66157a3812393338739b0ee7a84d0d310b72a8282946e5874824c60d30c51",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707431855,
"transactionHash": "0x5420188e3cc869219076d140de7359aa4b930c51263c00728bb81e3a68c1ba8c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2#code"
},
{
"name": "sfrxETHBridge",
"isVerified": true,
"address": "eth:0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x368efd40dcf16ad376c8f38adf1e68361874e2b5b2de52d7088cd7de6b38f02a",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8#code"
},
{
"name": "FRAXBridge",
"isVerified": true,
"address": "eth:0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x591030492947a546e11122e42c12975237d800d3d509d284b9c8aaf541dbdc79",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb#code"
},
{
"name": "LUSDBridge",
"isVerified": true,
"address": "eth:0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1688046899,
"transactionHash": "0xa67fa2a98e3b92d67fe9ea402dd53955fc2d74f6af3ee0183e20afad68ac5621",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707433079,
"transactionHash": "0x1157d4bd2b7d00a0f9833ef0832822bc331d5f904c0c3f9f14fa7942678fbf58",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835007,
"transactionHash": "0x4a1c60505d4d6d22f51b164696b7eadba1955278a577c7e712b2cd0347bee330",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: EOA 4\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5#code"
},
{
"name": "MultiBridge",
"isVerified": true,
"address": "eth:0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325571,
"transactionHash": "0x52b4a75a83546e4e463a919cf778cb9a4882d536c4bf7b80a62098698c741fd8",
"implementations": [
"eth:0x594cCaDF93F860dc42Cf9fd7bCea47Ff4d135D7A"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **manager**: StarkgateManager\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb#code"
},
{
"name": "USDCBridge",
"isVerified": true,
"address": "eth:0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x7fee1d4145372b9f1a39594bc71c9074f5982c5c546135c1aba6810c5c33cd15",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x8c5f529b4aea40150673a24be2daf67b98dfea900848e2e4bfe863b29397cb16",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x100be562b99e029f2419718dfa5e722c6d27cd99e9e5fbbd61dbda223d8872c2",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0x1c54434b6dab2c13187d16161d7da8b6286b4f71d3ff3ab580ffcc90ac387d31",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732959,
"transactionHash": "0x147393fe2175d3bd2a267730c8066afd475199c52a1895b5524100c3b2ca2c07",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816#code"
},
{
"name": "UNIBridge",
"isVerified": true,
"address": "eth:0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698061943,
"transactionHash": "0x9e8cd16d463bff3aaa9aca2f741819ccdba2148450f935446facdb498a424a1e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707432767,
"transactionHash": "0x2513dff6fab1fe6b7f95d9e436c18c8dd79965a3c7217f79c69787b2f42abc4a",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835031,
"transactionHash": "0x80c2489d99e1aa4593e1749d905120a22bc688a8c62343edce82130c4566de72",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf76e6bF9e2df09D0f854F045A3B724074dA1236B#code"
},
{
"name": "DAIBridge",
"isVerified": true,
"address": "eth:0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0437465dfb5B79726e35F08559B0cBea55bb585C#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"sinceTimestamp": 1647857148,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647857960,
"transactionHash": "0x4c7952f4056367ec557d94b41d0784b7eb247d1f9de7378bdff7a5218c85314d",
"implementations": [
"eth:0x0205172F25e791975edB4dEF203f3789B01f43bb"
]
},
{
"timestamp": 1649596101,
"transactionHash": "0x9b76ede78b75c332ea2ae855b62a2363c197ee521522ab1a14aa5517f2610dd5",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0xa31315fda290a9ee1abf459ba81a8c5986c5c9da58cda4c20a144ab16e3a9ba1",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1680016103,
"transactionHash": "0x826f7e63249e192040d6b9301a68a0c7fc1130d06339ab0c758ff14799f9adfb",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707738959,
"transactionHash": "0x1f56cc90fd40bcc00a27f94c989e93cb414a884e2fe971323426f40d58c71306",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
}
],
"description": "StarkGate bridge for ETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"sinceTimestamp": 1652101033,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAI Vault for custom DAI Gateway managed by MakerDAO. The current bridge cap is 5.00 M DAI.",
"url": "https://etherscan.io/address/0x0437465dfb5B79726e35F08559B0cBea55bb585C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"sinceTimestamp": 1657137600,
"tokens": [
"WBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657138806,
"transactionHash": "0xeedccfe88453ea74a342ca57926a88b6033057eb15b43291332f0fa19c197eee",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630577,
"transactionHash": "0xc450cc918a45c46057f13a072c41a646e78f52af5e36f82b7061b478e44b7fb3",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x5bc722c79d5a4303b76638f6fc75d26c5dbfba39202c2a7ced89b96d3ead97e7",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016007,
"transactionHash": "0xb638d945b6a6feba94d6219f1618a6e279720e105d4476db19063abd4164117f",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707731699,
"transactionHash": "0x426174e7e63465569d28b3ca3e807e69859f9a2650702487260b9a45646d5f32",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1768834883,
"transactionHash": "0xdb7a4f9c3e38994d167d6943b6b7f247972ac3c7564febba428a407cf0e89e5b",
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
]
}
],
"description": "StarkGate bridge for WBTC. The bridge is halted and WBTC migrated to external OFT bridging.",
"url": "https://etherscan.io/address/0x283751A21eafBFcD52297820D27C1f1963D9b5b4#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"untilTimestamp": 1768848455,
"chainId": 1
},
{
"address": "0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"sinceTimestamp": 1657137639,
"tokens": [],
"contract": {
"isVerified": true,
"address": "eth:0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x7fee1d4145372b9f1a39594bc71c9074f5982c5c546135c1aba6810c5c33cd15",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x8c5f529b4aea40150673a24be2daf67b98dfea900848e2e4bfe863b29397cb16",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x100be562b99e029f2419718dfa5e722c6d27cd99e9e5fbbd61dbda223d8872c2",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0x1c54434b6dab2c13187d16161d7da8b6286b4f71d3ff3ab580ffcc90ac387d31",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732959,
"transactionHash": "0x147393fe2175d3bd2a267730c8066afd475199c52a1895b5524100c3b2ca2c07",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for USDC. There is no bridge cap.",
"url": "https://etherscan.io/address/0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"sinceTimestamp": 1657137615,
"tokens": [
"USDT"
],
"contract": {
"isVerified": true,
"address": "eth:0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x3e25166c11d40ded7d1ae272a9e4eb416b2d35a8f4919ca0a07c55f0065de787",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x55d370d26d45d7aee7f06e7f741d5f0d37154889faa1fa4e393370cae31a0f0f",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x33fdbe5a0d1ba784eb5e2f0f34b42d57c5c2b6b0bd3562746c7ee0447f7767aa",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0xac209ae933b3ae24348f926df5f8978093617c711baaceefa21b90c08c82a0af",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732815,
"transactionHash": "0xe594bd2581f3da0e554ad8664aecc1441280850cc7827a9e42d172bbf54cac5d",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for USDT. There is no bridge cap.",
"url": "https://etherscan.io/address/0xbb3400F107804DFB482565FF1Ec8D8aE66747605#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"sinceTimestamp": 1657137623,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685453471,
"transactionHash": "0xb4de1aa42c3ade894dd66e06e6125549e8004d2d6857cf456ef5bde3f583ea7c",
"implementations": [
"eth:0xEf3525a1081a4cf6f76E0B202a575195cEE083a2"
]
},
{
"timestamp": 1707416015,
"transactionHash": "0x4eb13c68776e5aa840ab59c3c4ff369372fd461bab760eee12d1ae7ccf7baa6e",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for wstETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"sinceTimestamp": 1657137623,
"tokens": [
"rETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685882531,
"transactionHash": "0x90d66157a3812393338739b0ee7a84d0d310b72a8282946e5874824c60d30c51",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707431855,
"transactionHash": "0x5420188e3cc869219076d140de7359aa4b930c51263c00728bb81e3a68c1ba8c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for rETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"sinceTimestamp": 1698061847,
"tokens": [
"UNI"
],
"contract": {
"isVerified": true,
"address": "eth:0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698061943,
"transactionHash": "0x9e8cd16d463bff3aaa9aca2f741819ccdba2148450f935446facdb498a424a1e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707432767,
"transactionHash": "0x2513dff6fab1fe6b7f95d9e436c18c8dd79965a3c7217f79c69787b2f42abc4a",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835031,
"transactionHash": "0x80c2489d99e1aa4593e1749d905120a22bc688a8c62343edce82130c4566de72",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for UNI. There is no bridge cap.",
"url": "https://etherscan.io/address/0xf76e6bF9e2df09D0f854F045A3B724074dA1236B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"sinceTimestamp": 1692689255,
"tokens": [
"FRAX.legacy"
],
"contract": {
"isVerified": true,
"address": "eth:0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x591030492947a546e11122e42c12975237d800d3d509d284b9c8aaf541dbdc79",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for FRAX. There is no bridge cap.",
"url": "https://etherscan.io/address/0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"sinceTimestamp": 1692689267,
"tokens": [
"FRAX"
],
"contract": {
"isVerified": true,
"address": "eth:0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x8a85416efb74a9a7b95f6596bbcf947bdea2e1664c1401fee191dbc35ed63b9e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for FRAX (prev. FXS). There is no bridge cap.",
"url": "https://etherscan.io/address/0x66ba83ba3D3AD296424a2258145d9910E9E40B7C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"sinceTimestamp": 1692689279,
"tokens": [
"sfrxETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x368efd40dcf16ad376c8f38adf1e68361874e2b5b2de52d7088cd7de6b38f02a",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for sfrxETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"sinceTimestamp": 1688046071,
"tokens": [
"LUSD"
],
"contract": {
"isVerified": true,
"address": "eth:0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1688046899,
"transactionHash": "0xa67fa2a98e3b92d67fe9ea402dd53955fc2d74f6af3ee0183e20afad68ac5621",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707433079,
"transactionHash": "0x1157d4bd2b7d00a0f9833ef0832822bc331d5f904c0c3f9f14fa7942678fbf58",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835007,
"transactionHash": "0x4a1c60505d4d6d22f51b164696b7eadba1955278a577c7e712b2cd0347bee330",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for LUSD. There is no bridge cap.",
"url": "https://etherscan.io/address/0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"sinceTimestamp": 1687524587,
"tokens": [
"LORDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "StarkGate bridge for LORDS.",
"url": "https://etherscan.io/address/0x023A2aAc5d0fa69E3243994672822BA43E34E5C9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"sinceTimestamp": 1704905879,
"tokens": [
"STRK"
],
"contract": {
"isVerified": true,
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704907283,
"transactionHash": "0x4ea20358347292f048a26277477a9f145add434e50e3f64c85f494469768c876",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1705239263,
"transactionHash": "0x42056631084f574f2ed5f49bef3d1aabab22008266ac97afea3e5f42649bd7c3",
"implementations": [
"eth:0x052C81F05595B5DeF4fdFEdbD7CA7b4A8a7B50C1"
]
},
{
"timestamp": 1705249823,
"transactionHash": "0xe8154cce45dafa5cfcb95d134f3da8a13c80c6546da07ca92c88d5c54286cdc3",
"implementations": [
"eth:0x7f2a18900A978D4390a3640e34739BB697777A71"
]
},
{
"timestamp": 1707751031,
"transactionHash": "0x7c5561efa149f2be36fac917f47b0b107218b43de1eac56ceb97d008257bd850",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1739105903,
"transactionHash": "0xccb802ed2caee6856e9141983a642a0d4881cd64a209436d3fdeb4776c841175",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for STRK. There is no bridge cap.",
"url": "https://etherscan.io/address/0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"sinceTimestamp": 1707322643,
"tokens": [
"EKUBO",
"ZEND",
"NSTR"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325571,
"transactionHash": "0x52b4a75a83546e4e463a919cf778cb9a4882d536c4bf7b80a62098698c741fd8",
"implementations": [
"eth:0x594cCaDF93F860dc42Cf9fd7bCea47Ff4d135D7A"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "StarkGate bridge for EKUBO, ZEND, NSTR (and potentially other tokens listed via StarkgateManager).",
"url": "https://etherscan.io/address/0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"sinceTimestamp": 1750859519,
"tokens": [
"SolvBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750862507,
"transactionHash": "0x9529b94a823908b9a8c9097a89ef76e034740a971363e3f7913f4971eb3633e3",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768493183,
"transactionHash": "0x27532d9c2db25f9d053fe4246f83a8c719a0d0b000a9d0e9f1e7dae1e05f287a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
},
{
"timestamp": 1768493315,
"transactionHash": "0x787522b1ecf6f59d77fdd6278cf3d92f7b28cc292264e5f7ae9ef93c1344d587",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768831679,
"transactionHash": "0xa0ae9228abd03f1701caf995520b4ad4f9998bf46376e5f8cea39a24d0ee461a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
}
],
"description": "StarkGate bridge for SolvBTC. The bridge is halted and SolvBTC migrated to external OFT bridging.",
"url": "https://etherscan.io/address/0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10#code"
},
"chain": "ethereum",
"includeInTotal": true,
"untilTimestamp": 1768848971,
"chainId": 1
},
{
"address": "0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"sinceTimestamp": 1757941367,
"tokens": [
"LBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xF689688640E88160c07C6FC5cc63039F29EDe86b"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1757941451,
"transactionHash": "0x503782544b4f41c5e38d13ba7e96e5dd4fb597abb7a595a7da2af8ddfaface58",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "StarkGate bridge for LBTC.",
"url": "https://etherscan.io/address/0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e#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": "\n1. 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.\n ",
"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": "\n1. 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.\n ",
"hash": "2571508110958925737463010241874806654058743535666147712534445437599630018294"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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.\n ",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 56407b69f3f19f69302a8623baa8c5f71f967eed\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/56407b69f3f19f69302a8623baa8c5f71f967eed/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.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/020f846ee43d0a85f082dcfcc001f39446977272/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 020f846ee43d0a85f082dcfcc001f39446977272\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/57317a743004a608ce1aab0211c40d50083f0a65/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 57317a743004a608ce1aab0211c40d50083f0a65\n```\n\n4. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n5. 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.\n ",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe 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 v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/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.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"programHashesDescription": "Starknet state transition function could be proven with unverified ZK programs (bootloaders) on older versions of verifiers. Compliance with the rules of L2 STF can not be independently verified without the sources of these programs.",
"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:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934"
]
}