# Paradex Markdown version of https://ethbeat.org/layer2s/projects/paradex ## Summary **Warning:** There are impactful changes and part of the information might be outdated. **Warning:** Why is the project listed in others? There are less than 5 external actors that can attest data availability. Consequence: projects without a sufficiently decentralized data availability committee rely on few entities to safely attest data availability on Ethereum. A small set of entities can collude with the proposer to finalize an unavailable state, which can cause loss of funds. Learn more about the [recategorisation](https://medium.com/l2beat/framework-update-l2-projects-recategorisation-5d43b0d1fe50). - Total Value Secured: $19.40 M (-24.0% compared to seven days ago; canonically bridged $19.40 M, natively minted $0.00, externally bridged $0.00; 0.00% with additional trust assumptions compared to the tokens involved and the Stage assigned to the project's canonical messaging bridge) - TVS by asset: Stablecoins $19.40 M (100%) - Past day UOPS: 3.90 (+2.90% compared to seven days ago) - Gas token: ETH - Type: Other - Purposes: Universal, Exchange - Host chain: Ethereum ### Risks - Sequencer failure: No mechanism (sentiment: bad) - State validation: Validity proofs (ST) (No execution delay; sentiment: good) - Data availability: External (sentiment: bad) - Exit window: None (sentiment: bad) - Proposer failure: Cannot withdraw (sentiment: bad) ### About Paradex is a high-performance crypto-derivatives exchange offering zero fee and private perpetuals. ### Links - Website: https://paradex.trade/ - Bridge: https://app.paradex.trade, https://paradex.trade/stats - Docs: https://docs.paradex.trade/ - Explorer: https://voyager.prod.paradex.trade - Repository: https://github.com/tradeparadex - Social: https://twitter.com/paradex, https://discord.com/invite/paradex - Contracts explorer (Disco): https://disco.l2beat.com/ui/p/paradex ### Badges - CairoVM: This project uses the Cairo Virtual Machine to run its smart contracts and supports the Cairo programming language - Data Availability Committee: There is a Data Availability Committee that provides/attests to data availability - Built on the SN Stack: The project is built on the SN Stack - Uses SHARP: The project uses a shared prover contract - SHARP ## Value Secured The interactive TVS charts are shown on [the HTML page](https://ethbeat.org/layer2s/projects/paradex#tvs). Token by token: [TVS breakdown](https://ethbeat.org/layer2s/projects/paradex/tvs-breakdown). - [TVS chart (JSON)](https://ethbeat.org/api/scaling/tvs/paradex) - [TVS breakdown by token (JSON)](https://ethbeat.org/api/scaling/tvs/paradex/breakdown) ## Activity The interactive activity chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/paradex#activity). - [Activity chart (JSON)](https://ethbeat.org/api/scaling/activity/paradex) ## Data posted This section shows how much data the project publishes to Ethereum over time. It leaves out data posted to other data-availability (DA) layers. The project currently posts data to [Ethereum](https://ethbeat.org/projects/ethereum), Privacy council. The interactive data posted chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/paradex#data-posted). ### Tracked transactions #### Blob submissions - DA layer Ethereum: from block 0 to 25531490; historical; inbox: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640); sequencers: [0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2](https://etherscan.io/address/0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2) - DA layer Ethereum: from block 25531490 to now; currently used; inbox: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640); sequencers: [0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044](https://etherscan.io/address/0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044) ## Liveness This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule. No ongoing anomalies detected. The interactive liveness chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/paradex#liveness). ### Tracked transactions #### State updates - functionCall: 2023-07-20 10:57 UTC - 2024-03-14 15:04 UTC; historical; address: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640); selector: 0x77552641; signature: `function updateState(uint256[] programOutput, uint256 onchainDataHash, uint256 onchainDataSize)` - functionCall: 2024-03-13 16:21 UTC - 2024-09-08 16:05 UTC; historical; address: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640); selector: 0xb72d42a1; signature: `function updateStateKzgDA(uint256[] programOutput, bytes kzgProof)` - functionCall: 2024-09-08 16:07 UTC - now; currently used; address: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640); selector: 0x507ee528; signature: `function updateStateKzgDA(uint256[] programOutput, bytes[] kzgProofs)` ### Last 30 day anomalies All liveness anomalies detected for this project in the last 30 days, helping you review recent downtime and availability issues. - No state updates were performed for 7h 56m (from 2026-10-12 14:57 UTC until 2026-10-12 22:53 UTC). These typically occur every 15m 12s on average. ## Milestones & Incidents - 2025-12-15: [Paradex introduces privacy perps](https://x.com/paradex/status/2000680628329812320). Paradex introduces a privacy council to manage decryption keys for encrypted data availability. - 2025-11-25: [Paradex migrates to Stwo prover](https://etherscan.io/tx/0xec6c80207374c54d755f96ff0f89372425ab4fa9bb3286cbc2109b4652b00079). Paradex switches from Stone zk prover to Stwo to prove its blocks. - 2025-04-01: [Perpetual Options Launch](https://x.com/tradeparadex/status/1907041207177613610). Paradex opens perpetual options trading to all users. - 2024-11-07: [Paradex exits Open Beta](https://x.com/tradeparadex/status/1854537396714651707). Paradex launches XP Warzone Season 1 and exits Open Beta. - 2024-10-08: [Vaults Launched](https://x.com/tradeparadex/status/1843550172443512998). Paradex launches Vaults, the future of on-chain investment management. - 2024-03-26: [Paradex starts using blobs](https://twitter.com/tradeparadex/status/1768306190596153799). Paradex starts publishing data to blobs. - 2023-10-01: [Open Beta Mainnet Launch](https://twitter.com/tradeparadex). Paradex launches Open Beta on Mainnet. ## Risk summary ### Funds can be stolen if 1. a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL). ### Funds can be frozen if 2. no privacy council member discloses the decryption keys, 3. the operator censors withdrawal transaction. ### Users can be censored if 4. the operator refuses to include their transactions. ### MEV can be extracted if 5. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis ### Sequencer failure No mechanism (sentiment: bad) There is no mechanism to have transactions be included if the sequencer is down or censoring. ### State validation Validity proofs (ST) (No execution delay; sentiment: good) STARKs are zero knowledge proofs that ensure state correctness. ### Data availability External (sentiment: bad) Encrypted data is posted on Ethereum as blobs, and a privacy council of 3 members holds the decryption keys. Users are not able to independetly reconstruct the L2 state without relying on the council members. ### Exit window None (sentiment: bad) There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable. ### Proposer failure Cannot withdraw (sentiment: bad) Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. ## Data availability ### Encrypted blobs via privacy council Data is posted as encrypted blobs on Ethereum using a random symmetric key per state update. Such symmetric key is also posted, but encrypted to the privacy council members public keys. Each member can recover the symmetric key and decrypt the data. The council has 3 members and at least one is required to disclose the decryption keys to reconstruct the L2 state. Users cannot independently reconstruct the L2 state without relying on the council members. **Risks** - Funds can be frozen if no privacy council member discloses the decryption keys. **References** - [Privacy Perps - Paradex docs](https://docs.paradex.trade/trading/privacy) ## State derivation ### Node software SN stack-compatible node software can be used, please find the Paradex-specific node setup guide [in their docs](https://docs.paradex.trade/documentation/paradex-chain/node-setup).The [Juno](https://github.com/NethermindEth/juno) node software can be used to reconstruct the L2 state entirely from L1. The feature has not been released yet, but can be found in this [PR](https://github.com/NethermindEth/juno/pull/1335). ### Compression scheme Paradex uses [stateful compression since v0.13.4](https://docs.starknet.io/architecture/data-availability/#v0_13_4). ### Genesis state There is no non-empty genesis state. ### Data format The data format has been updated with different versions, and the full specification can be found [here](https://docs.starknet.io/architecture/data-availability/). ## State validation ### Validity proofs Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract. ### Prover: [Stwo](https://ethbeat.org/zk-catalog/stwo) The prover is plausibly quantum resistant. There is no publicly known quantum algorithm that efficiently breaks prover's cryptography. #### Trusted setups - Stwo (STARK): - Transparent setup, risk N/A (no trusted setup) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): No trusted setup and no additional setup-related trust assumptions. - Onchain verifiers: [SHARPVerifier](https://etherscan.io/address/0x4956bda1d23F75B988644329c5B06BD1494a72b6#code) (1 successful) - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex) - Verifiers: 1 successful ### Program Hashes #### Starknet OS Proves correct state transition for a range of consecutive Starknet transactions. - Hash: `2733003247060056328192560178934419513655729851806095615814023997114795707702` - Repository: https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/os.cairo#L69 - Verification: successful - Used in: [Paradex](https://ethbeat.org/layer2s/projects/paradex) ##### Verification steps 1. Install python and pip. 2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`. 3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`. 4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`. 5. 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. #### Aggregation program for SHARP prover Aggregates proofs of correct execution for several consecutive transaction ranges generated by Starknet OS. - Hash: `2571508110958925737463010241874806654058743535666147712534445437599630018294` - Repository: https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/aggregator/main.cairo#L15 - Verification: successful - Used in: [Paradex](https://ethbeat.org/layer2s/projects/paradex) ##### Verification steps 1. Install python and pip. 2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`. 3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`. 4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`. 5. 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. #### Outer bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13 Top-level Cairo program executed by SHARP. - Hash: `3427958597398434235135013788958741576989752718219267963615783564775551242024` - Repository: https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps These steps reproduce the current 1,166-felt SHARP outer bootloader on Linux. Dependencies: Git, Bazelisk configured to use Bazel 7.4.1, JDK 21, GMP development headers, Python 3, and Foundry `cast`. 1. Check out the exact public source revision: ```bash git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 56407b69f3f19f69302a8623baa8c5f71f967eed ``` The Cairo compiler version at this revision is `0.15.0a0`. The entrypoint is `src/starkware/cairo/bootloaders/bootloader/bootloader.cairo`. 2. Build the official proof-mode target: ```bash USE_BAZEL_VERSION=7.4.1 bazelisk build \ //src/starkware/cairo/bootloaders/bootloader:bootloader_program ``` The destination for the compiled program will be printed by the build script, the instruction array will be in the `"data"` json field in hex format. The target uses `--proof_mode --debug_info_with_source`. 3. Check that the compiled instruction array is identical to the one pinned by the immutable Ethereum contract at `0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47`, which could be fetched by calling: ```bash cast call 0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47 \ 'getCompiledProgram()(uint256[1166])' \ --rpc-url "$ETHEREUM_RPC_URL" \ --json > /tmp/sharp_outer_bootloader_onchain.json ``` #### Supported simple bootloader programs commitment StarkWare_GpsStatementVerifier_2026_13 Pedersen commitment to the ordered list of accepted simple-bootloader executable hashes. - Hash: `3442855748187296636739564186904728563385971901122957091055928358173521721079` - Repository: https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location. 1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh): ``` brew install bazelisk USE_BAZEL_VERSION=7.4.1 bazelisk version brew install gmp # or sudo apt-get install libgmp-dev ``` 2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`. 3. Check out the correct commit of repo: ``` git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab ``` 4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](https://ethbeat.org/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end. 5. Copy [this hash_bootloaders.py script](https://ethbeat.org/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`. 6. 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. #### Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13 Runs an aggregator program, checks that its input matches the recursively unpacked task outputs, and relabels the resulting fact with the domain-separated aggregator program hash. - Hash: `2358844945297786488640123814540854423585455959362109345448922524567546993330` - Repository: https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location. 1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh): ``` brew install bazelisk USE_BAZEL_VERSION=7.4.1 bazelisk version brew install gmp # or sudo apt-get install libgmp-dev ``` 2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`. 3. Check out the correct commit of repo: ``` git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab ``` 4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](https://ethbeat.org/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end. 5. Copy [this hash_bootloaders.py script](https://ethbeat.org/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`. 6. 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. #### Supported recursive Cairo verifier programs commitment StarkWare_GpsStatementVerifier_2026_13_4 Pedersen commitment to the ordered allowlist of Cairo programs that may recursively verify and unpack nested SHARP proofs. - Hash: `2549868507195840500193135872505150687001846773665388230794631345999578394351` - Repository: https://github.com/starkware-libs/cairo-lang/blob/cf9bf972bede402a125e8638bb258e77563ae933/src/starkware/cairo/bootloaders/bootloader/supported_program_hashes.json - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps This value is not a hash of a single program. It is a Pedersen hash chain committing to the ordered 30-entry `supported_cairo_verifier_program_hashes` list from [supported_program_hashes.json](https://github.com/starkware-libs/cairo-lang/blob/cf9bf972bede402a125e8638bb258e77563ae933/src/starkware/cairo/bootloaders/bootloader/supported_program_hashes.json) at cairo-lang `cf9bf972bede402a125e8638bb258e77563ae933` (v0.14.3). The list contains the program hashes of all Cairo verifier programs that the SHARP bootloader accepts for recursive proof verification: - 21 entries are Stone Cairo verifiers built from the same cairo-lang commit: 7 layouts (`dex`, `recursive`, `small`, `starknet`, `starknet_with_keccak`, `dynamic`, `recursive_with_poseidon`), each hashed with the pedersen (entries 1-7), poseidon (11-17) and blake (21-27) program hash function. - 9 entries are Stwo Cairo verifiers built from [stwo-cairo](https://github.com/starkware-libs/stwo-cairo/tree/sharp-7.4.RC3) at tag `sharp-7.4.RC3` (commit `9b93cc39c87838cee3132ee1f8237590700f0689`): 3 feature builds (`poseidon252_verifier` with poseidon output packing, `qm31_opcode` with poseidon output packing, `qm31_opcode` with blake output packing), each hashed with pedersen (entries 8-10), poseidon (18-20) and blake (28-30). 1. Reproduce the 21 Stone verifier hashes following [these steps](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stone_verifier_steps.md). 2. Reproduce the 9 Stwo verifier hashes following [these steps](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stwo_verifier_steps.md). You will need [this stwo_features.patch](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stwo_features.patch) and [this hash_stwo_verifiers.py helper script](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/hash_stwo_verifiers.py). 3. From the cairo-lang checkout, using a python 3.9 environment with `scripts/requirements.txt` installed, compute the commitment to the now-verified list: ``` PYTHONPATH=src python -c " import json from starkware.cairo.common.hash_state import compute_hash_on_elements doc = json.load(open('src/starkware/cairo/ bootloaders/bootloader/supported_program_hashes.json')) print(compute_hash_on_elements([int(h, 16) for h in doc['supported_cairo_verifier_program_hashes']])) " ``` The output should be the program hash. ## Upgrades & Governance ### Past upgrades The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included. - Count of upgrades: 21 - Last upgrade: 3mo 24d ago - Avg upgrade interval: 5mo 25d - 2026-07-12 11:53 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7f1e6f9a7268ea6ce5b3b2ce055c3ce420ee776c63c41f57823a0e9cb782e254](https://etherscan.io/tx/0x7f1e6f9a7268ea6ce5b3b2ce055c3ce420ee776c63c41f57823a0e9cb782e254), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-06-21 09:15 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x57f323ff6c828c8fe0c65c9c89d5b242264455cd5f3a5bacd25a78efa17b0ed4](https://etherscan.io/tx/0x57f323ff6c828c8fe0c65c9c89d5b242264455cd5f3a5bacd25a78efa17b0ed4), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-05-10 13:30 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009](https://etherscan.io/tx/0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009), implementations: [0x9961D34D3baE6914635c882e8FE382e14E0F172A](https://etherscan.io/address/0x9961D34D3baE6914635c882e8FE382e14E0F172A#code) ([diff](https://disco.l2beat.com/diff/eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04/eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A)) - 2026-04-29 12:20 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b](https://etherscan.io/tx/0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-02-21 13:53 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7](https://etherscan.io/tx/0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7), implementations: [0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86](https://etherscan.io/address/0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86)) - 2026-02-14 17:49 UTC, deployment of [StarkgateRegistry](https://etherscan.io/address/0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280#code): transaction [0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510](https://etherscan.io/tx/0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510), implementations: [0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3](https://etherscan.io/address/0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3#code) - 2026-02-01 14:05 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170](https://etherscan.io/tx/0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-12-08 11:08 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81](https://etherscan.io/tx/0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-10-19 08:27 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797](https://etherscan.io/tx/0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-05-16 18:05 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2](https://etherscan.io/tx/0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2025-05-12 16:09 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f](https://etherscan.io/tx/0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2025-04-07 20:04 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53](https://etherscan.io/tx/0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53), implementations: [0x2793010E6711Acd5C46ed17f2183a9d58db71e04](https://etherscan.io/address/0x2793010E6711Acd5C46ed17f2183a9d58db71e04#code) ([diff](https://disco.l2beat.com/diff/eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC/eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04)) - 2024-09-08 16:05 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8](https://etherscan.io/tx/0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8), implementations: [0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC](https://etherscan.io/address/0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC#code) ([diff](https://disco.l2beat.com/diff/eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24/eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC)) - 2024-07-28 20:08 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66](https://etherscan.io/tx/0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-07-28 10:07 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00](https://etherscan.io/tx/0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-06-15 09:52 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922](https://etherscan.io/tx/0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2024-05-28 11:01 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a](https://etherscan.io/tx/0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2024-03-13 16:21 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0](https://etherscan.io/tx/0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0), implementations: [0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24](https://etherscan.io/address/0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24#code) ([diff](https://disco.l2beat.com/diff/eth:0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08/eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24)) - 2024-02-26 09:25 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312](https://etherscan.io/tx/0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2023-08-18 06:47 UTC, deployment of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed](https://etherscan.io/tx/0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed), implementations: [0x6Fd62239f3A441d1898683C5a84ce3681bB42C16](https://etherscan.io/address/0x6Fd62239f3A441d1898683C5a84ce3681bB42C16#code) - 2023-07-20 11:05 UTC, deployment of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56](https://etherscan.io/tx/0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56), implementations: [0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08](https://etherscan.io/address/0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08#code) - 2023-03-06 12:34 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a](https://etherscan.io/tx/0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2022-08-07 10:50 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a](https://etherscan.io/tx/0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2022-05-02 16:49 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a](https://etherscan.io/tx/0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2021-10-24 13:06 UTC, deployment of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4](https://etherscan.io/tx/0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ## Updates Each date links the update on the HTML page, which also shows its contract diffs. ### [2026-10-23 10:29 UTC](https://ethbeat.org/layer2s/projects/paradex?update=2a5d3af3) (2 changes) Removed one ms member. ### [2026-10-20 10:38 UTC](https://ethbeat.org/layer2s/projects/paradex?update=62c0458c) (high severity, 6 changes) Upgraded one ms contract to Safe 1.5.0. ### [2026-07-16 09:25 UTC](https://ethbeat.org/layer2s/projects/paradex?update=9b65f222) (1 change) Added another Paradex operator. ### [2026-06-16 09:47 UTC](https://ethbeat.org/layer2s/projects/paradex?update=2c23e76e) (2 changes) Add permissioned address to bridge access control. ### [2026-06-04 15:26 UTC](https://ethbeat.org/layer2s/projects/paradex?update=82682d1e) (6 changes) signer added, threshold increased to 3. Also, rotated ms member. ### [2026-05-12 09:54 UTC](https://ethbeat.org/layer2s/projects/paradex?update=3f554241) (high severity, 13 changes) Upgraded Paradex rollup contract by adding small check on l1 to l2 msg hash: https://disco.l2beat.com/diff/eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04/eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A. Also, updated program hashes to already verified versions. Config: use the new flattener implementation ### [2026-02-23 12:02 UTC](https://ethbeat.org/layer2s/projects/paradex?update=a0beb08f) (high severity, 13 changes) Removed LegacyBridge logic from the USDC bridge. Diff: https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86. Also added a StarkgateManager for this bridge. ### [2026-02-13 09:42 UTC](https://ethbeat.org/layer2s/projects/paradex?update=700b120f) (2 changes) Added new security agent to USDC bridge. ### [2026-02-10 11:45 UTC](https://ethbeat.org/layer2s/projects/paradex?update=40054008) (high severity, 3 changes) Added new Paradex admin (already known multisig). ### [2026-01-20 14:31 UTC](https://ethbeat.org/layer2s/projects/paradex?update=63809088) (1 change) Raised max total USDC balance on the bridge. ### [2025-12-22 12:46 UTC](https://ethbeat.org/layer2s/projects/paradex?update=f4b8d3cf) (1 change) maxbalance increased to 250M USDC. ### [2025-12-16 10:16 UTC](https://ethbeat.org/layer2s/projects/paradex?update=11dbcd9b) (high severity, 6 changes) Updated Starknet OS and Aggregator programs. ### [2025-11-25 08:40 UTC](https://ethbeat.org/layer2s/projects/paradex?update=492eb758) (high severity, 6 changes) update to v0.14 progHashes. TODO: the cost calculation for starknet is deeply wrong, and liveness for paradex and starknet overlaps. ### [2025-09-17 12:08 UTC](https://ethbeat.org/layer2s/projects/paradex?update=f3339a75) (1 change) Increase max USDC total balance. ### [2025-09-12 07:14 UTC](https://ethbeat.org/layer2s/projects/paradex?update=12601805) (2 changes) ms signer added. ### [2025-08-18 11:28 UTC](https://ethbeat.org/layer2s/projects/paradex?update=8da063db) (1 change) Increased the maximal possible bridge balance. ### [2025-07-14 12:45 UTC](https://ethbeat.org/layer2s/projects/paradex?update=a703bd0f) (4 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-06-02 08:07 UTC](https://ethbeat.org/layer2s/projects/paradex?update=e6e80e1d) (5 changes) multisig signer change. ### [2025-05-19 15:28 UTC](https://ethbeat.org/layer2s/projects/paradex?update=1dcb3fc0) (19 changes) Upgrade USDC Bridge to change withdrawal limit: now 0% meaning enabling the withdrawal limit pauses withdrawals. ### [2025-05-12 12:14 UTC](https://ethbeat.org/layer2s/projects/paradex?update=a76b2947) (3 changes) MS member change. ### [2025-05-02 17:24 UTC](https://ethbeat.org/layer2s/projects/paradex?update=ee1f179d) (4 changes) MS signer change. ### [2025-04-24 08:36 UTC](https://ethbeat.org/layer2s/projects/paradex?update=1d443b84) (high severity, 8 changes) Gov updated, EOA upgrader removed. ### [2025-04-18 17:58 UTC](https://ethbeat.org/layer2s/projects/paradex?update=f7f0d73c) (high severity, 31 changes) signer changes in the governing MSigs, USDC bridge still EOA-governed though. ### [2025-04-16 12:53 UTC](https://ethbeat.org/layer2s/projects/paradex?update=9ffdaeb6) (high severity, 34 changes) EOA removed from main contract, now 'only' present in the main bridge. ### [2025-04-11 06:46 UTC](https://ethbeat.org/layer2s/projects/paradex?update=9f90f2a1) (3 changes) MS signer changes. ### [2025-04-09 13:23 UTC](https://ethbeat.org/layer2s/projects/paradex?update=72bc3be7) (high severity, 15 changes) Upgrade to latest SN stack contracts (includes programHash). ### [2025-04-06 08:03 UTC](https://ethbeat.org/layer2s/projects/paradex?update=f5c35e78) (3 changes) usdc bridge gov changes. ### [2025-04-03 09:11 UTC](https://ethbeat.org/layer2s/projects/paradex?update=51a0eb9c) (16 changes) Gov roles granted in the USDC bridge. ### [2025-03-31 10:22 UTC](https://ethbeat.org/layer2s/projects/paradex?update=faa42c7b) (3 changes) new appgovernor, max USDC balance raise. ### [2025-01-15 12:14 UTC](https://ethbeat.org/layer2s/projects/paradex?update=af50ff09) (1 change) Bridging limit increased to 50M USDC. ### [2024-09-09 06:43 UTC](https://ethbeat.org/layer2s/projects/paradex?update=f6dee89e) (high severity, 5 changes) Aggregator compatibility upgrade. (See also recent Starknet upgrade to the same implementation / programHashes) - add aggregatorProgramHash and support aggregation - add multiple blob support ### [2024-07-30 15:53 UTC](https://ethbeat.org/layer2s/projects/paradex?update=76a0285d) (3 changes) Accesscontrol roles of APP_GOVERNOR and APP_ROLE_ADMIN are given to the EOA that already has the upgrade admin and GOVERNANCE_ADMIN roles, not adding any new net permissions. `maxTotalBalance' raised from 20M to 30M USDC. ### [2024-06-17 08:11 UTC](https://ethbeat.org/layer2s/projects/paradex?update=286de942) (2 changes) The proxyGovernance is given the roles GOVERNANCE_ADMIN (can give governance roles) and SECURITY_ADMIN (can activate withdrawal limit) on the paradex USDC bridge. This is in line with the config before the implementation upgrade and already reflected on the project page. ### [2024-05-29 07:11 UTC](https://ethbeat.org/layer2s/projects/paradex?update=9403394d) (high severity, 14 changes) The USDC Bridge (only bridge in use by Paradex) implementation is upgraded to the one used on starknet currently (code-identical). The ProxyGovernor (allowed to upgrade the implementation) stays the same, and new accessControl roles are not set. See also the notes `# Diff at Tue, 13 Feb 2024 12:27:47 GMT` in `discovery/starknet/ethereum/diffHistory.md`. ### [2024-03-19 08:27 UTC](https://ethbeat.org/layer2s/projects/paradex?update=b8ad4870) (high severity, 1 change) Program hash changed. ### [2024-03-14 13:11 UTC](https://ethbeat.org/layer2s/projects/paradex?update=0f57dc65) (high severity, 6 changes) Upgraded to the new implementation to support blobs - it's actually the same implementation used by Starknet so check its changelog for the changes. The program hash is also the same. ### [2024-03-11 11:54 UTC](https://ethbeat.org/layer2s/projects/paradex?update=b8eed644) (1 change) The maximum allowed balance of the bridge in USDC is doubled from 10 to 20 million USDC. ### [2024-01-31 11:48 UTC](https://ethbeat.org/layer2s/projects/paradex?update=68dc11f4) (2 changes) Updated the `programHash` and `configHash`. ### [2024-01-11 12:24 UTC](https://ethbeat.org/layer2s/projects/paradex?update=28f10f0b) (1 change) The program hash is updated (with tx 0x4dc1b43e0b932f665a95af3d2cb61f280a1b7a63f7464b3b27edfde5d183bd8a). ### [2024-01-05 13:21 UTC](https://ethbeat.org/layer2s/projects/paradex?update=195f0220) (2 changes) A new Starknet governor (2/5 MultiSig) is added to the Paradex contract. ### [2023-12-18 11:40 UTC](https://ethbeat.org/layer2s/projects/paradex?update=21cffcd8) (2 changes) Change in the deposit limits of the USDC Bridge contract: - The maximum amount per deposit is increased to 500K USDC - The maximum amount that can be locked across all users is increased to 10M USDC ### [2023-10-31 10:57 UTC](https://ethbeat.org/layer2s/projects/paradex?update=9afd9f2f) (2 changes) Update discovery to include the multisig threshold. ## Operator ### The system has a centralized operator The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. ### Users can't force any transaction There is no general mechanism to force the sequencer to include the transaction. **Risks** - Users can be censored if the operator refuses to include their transactions. **References** - [Censorship resistance of Starknet - Forum Discussion](https://community.starknet.io/t/censorship-resistance/196) ## Withdrawals ### Regular messaging The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Note that the message request can be censored by the Sequencer. **Risks** - Funds can be frozen if the operator censors withdrawal transaction. **References** - [Withdrawing is based on l2 to l1 messages - Starknet documentation](https://book.cairo-lang.org/ch16-04-L1-L2-messaging.html#sending-messages-from-starknet-to-ethereum) ### Emergency exit There is no generic escape hatch mechanism as Starknet cannot be forced by users into a frozen state. Note that a freezing mechanism on L2, to be secure, requires anti-censorship protection. ## Permissions Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.l2beat.com/ui/p/paradex ### Ethereum #### Actors ##### Paradex Multisig 2 Addresses: [0xFF57A3bB6465501c993acF8f3b29125a862661C0](https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0) A Multisig with 3/5 threshold. - Can upgrade **with no delay** - StarkgateManager - StarkgateRegistry - USDC Bridge - Paradex - Can interact with USDC Bridge - disable the withdrawal limit and manage the security agent role that can enable it - enable the withdrawal limit - manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation - Can interact with Paradex - Permissioned to manage the Operator role, finalize the application configuration, and change the OS program hash, aggregator program hash, OS-config hash, fee collector, or message cancellation delay Participants (5): [0x721e0A5e09A6e0Bf9641193a4D82901607837Df9](https://etherscan.io/address/0x721e0A5e09A6e0Bf9641193a4D82901607837Df9), [0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199](https://etherscan.io/address/0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199), [0xfF206f46453A9dd8e1664532788f4987c15B937d](https://etherscan.io/address/0xfF206f46453A9dd8e1664532788f4987c15B937d), [0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512](https://etherscan.io/address/0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512), [0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950](https://etherscan.io/address/0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950) ##### SHARP Multisig Addresses: [0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4](https://etherscan.io/address/0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4) A Multisig with 2/4 threshold. - Can upgrade **with 8d delay** - SHARPVerifierCallProxy [via: - acting directly with 8d delay] - Can interact with SHARPVerifierCallProxy - Administer the CallProxy's `GOVERNANCE_ADMIN` and role-admin hierarchy. This AccessControl role is separate from the outer proxy governor that schedules implementation upgrades - Grant and revoke application roles, including the `APP_GOVERNOR` role that controls caller-specific fallback routes - Route fallback calls from specific callers to a still-active registry in the default verifier's reference chain. This principally determines which verifier and bootloader configuration processes their proof submissions; the proxy's explicit `isValid` entry point always queries the default target Participants (4): [0x0405107a60391Eb51821be373ff978115Ee58488](https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488), [0x59232aC80E6d403b6381393e52f4665ECA328558](https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558), [0xebc8416179fE90854fe8B3f774801165572cfD7F](https://etherscan.io/address/0xebc8416179fE90854fe8B3f774801165572cfD7F), [0x955B978F3ee7818dA71fA25c676062E6BC462Fec](https://etherscan.io/address/0x955B978F3ee7818dA71fA25c676062E6BC462Fec) Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARP%20Multisig) ##### Paradex Multisig Addresses: [0x0a64d3D7747549aF6d65C225D56ac8f71e436B93](https://etherscan.io/address/0x0a64d3D7747549aF6d65C225D56ac8f71e436B93) A Multisig with 3/6 threshold. - Can upgrade **with no delay** - Paradex - Can interact with Paradex - Permissioned to manage the Operator role, finalize the application configuration, and change the OS program hash, aggregator program hash, OS-config hash, fee collector, or message cancellation delay Participants (6): [0x0405107a60391Eb51821be373ff978115Ee58488](https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488), [0x64F4396bb0669C72858Cc50C779b48EB25F45770](https://etherscan.io/address/0x64F4396bb0669C72858Cc50C779b48EB25F45770), [0xCe958D997F4a5824D4d503A128216322C6C223a0](https://etherscan.io/address/0xCe958D997F4a5824D4d503A128216322C6C223a0), [0x804d60CB1ade94511f7915A2062948685Ca8C81f](https://etherscan.io/address/0x804d60CB1ade94511f7915A2062948685Ca8C81f), [0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6](https://etherscan.io/address/0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6), [0x59232aC80E6d403b6381393e52f4665ECA328558](https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558) ##### StarkgateManager Addresses: [0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE](https://etherscan.io/address/0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE) Acts as a central contract to manage StarkGate bridge escrows (add new ones, deactivate existing, change configs) when given the Manager role from the respective escrows. - Can interact with USDC Bridge - deactivate bridging for deposits into the escrow ##### 2 EOAs (0x09d1…7044) Addresses: [0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044](https://etherscan.io/address/0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044) (EOA 1), [0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2](https://etherscan.io/address/0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2) (EOA 2) - Can interact with Paradex - Permissioned to regularly post L2 state updates and choose an available data-availability entry point. Under the current implementation, every update still needs a fact accepted by SHARP and cannot bypass the pinned program and config hashes ##### EOA 3 Addresses: [0x40060493a280915e2df7b46f8A9f251156080C39](https://etherscan.io/address/0x40060493a280915e2df7b46f8A9f251156080C39) - Can interact with StarkgateManager - enroll new tokens, deactivate existing ones (for deposits) or block tokens from being added to the Multibridge - manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation - Can interact with StarkgateRegistry - manage critical access control roles and the role that can upgrade the implementation ##### 2 EOAs (0x27aF…b17D) Addresses: [0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D](https://etherscan.io/address/0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D) (EOA 4), [0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6](https://etherscan.io/address/0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6) (EOA 5) - Can interact with USDC Bridge - enable the withdrawal limit ## Smart contracts **Note:** Contracts presented in this section had their implementations updated since the last time our team looked at this project. The information presented may be inaccurate. ![A diagram of the smart contract architecture](https://ethbeat.org/static/images/architecture/paradex.fc3d53fd.png) Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.l2beat.com/ui/p/paradex ### Ethereum #### Paradex Addresses: [0xF338cad020D506e8e3d9B4854986E0EcE6C23640](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code), [0x9961D34D3baE6914635c882e8FE382e14E0F172A](https://etherscan.io/address/0x9961D34D3baE6914635c882e8FE382e14E0F172A#code) (Implementation (Upgradable)), [0x0a64d3D7747549aF6d65C225D56ac8f71e436B93](https://etherscan.io/address/0x0a64d3D7747549aF6d65C225D56ac8f71e436B93#code) (Admin), [0xFF57A3bB6465501c993acF8f3b29125a862661C0](https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0#code) (Admin) **Past upgrades** (Count of upgrades: 4, Last upgrade: 5mo 27d ago, Avg upgrade interval: 8mo) - 2026-05-10 13:30 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009](https://etherscan.io/tx/0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009), implementations: [0x9961D34D3baE6914635c882e8FE382e14E0F172A](https://etherscan.io/address/0x9961D34D3baE6914635c882e8FE382e14E0F172A#code) ([diff](https://disco.l2beat.com/diff/eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04/eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A)) - 2025-04-07 20:04 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53](https://etherscan.io/tx/0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53), implementations: [0x2793010E6711Acd5C46ed17f2183a9d58db71e04](https://etherscan.io/address/0x2793010E6711Acd5C46ed17f2183a9d58db71e04#code) ([diff](https://disco.l2beat.com/diff/eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC/eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04)) - 2024-09-08 16:05 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8](https://etherscan.io/tx/0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8), implementations: [0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC](https://etherscan.io/address/0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC#code) ([diff](https://disco.l2beat.com/diff/eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24/eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC)) - 2024-03-13 16:21 UTC, upgrade of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0](https://etherscan.io/tx/0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0), implementations: [0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24](https://etherscan.io/address/0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24#code) ([diff](https://disco.l2beat.com/diff/eth:0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08/eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24)) - 2023-07-20 11:05 UTC, deployment of [Paradex](https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code): transaction [0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56](https://etherscan.io/tx/0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56), implementations: [0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08](https://etherscan.io/address/0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08#code) Central Starknet rollup contract. For every state update it derives a SHARP fact from the state-transition output and either the Starknet OS or aggregator program hash, checks that fact through the configured SHARP call proxy, and requires the output's OS-config hash to match. It also processes L1 <-> L2 messages and stores the finalized L2 state. - Roles: - **admin**: Paradex Multisig, Paradex Multisig 2 - **operators**: EOA 1, EOA 2 Can be upgraded by: Paradex Multisig with no delay, Paradex Multisig 2 with no delay #### CpuVerifierAllSolidity_2026_13 Addresses: [0x015381651F240Ed6C44122dCba6Cf807c9442CD6](https://etherscan.io/address/0x015381651F240Ed6C44122dCba6Cf807c9442CD6#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierAllSolidity_2026_13) #### CpuVerifierDex_2026_13 Addresses: [0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC](https://etherscan.io/address/0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierDex_2026_13) #### CairoBootloaderProgram Addresses: [0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47](https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code) Stores the complete compiled Cairo outer bootloader used as the top-level program of a SHARP proof. The SHARP verifier copies these words into public memory, pinning this exact executable onchain independently of the separately committed simple, applicative, and recursive-verifier programs. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CairoBootloaderProgram) #### CpuVerifierRecursive_2026_13 Addresses: [0x2867A4509B0969531641A42a3D4A9B0A07109B6B](https://etherscan.io/address/0x2867A4509B0969531641A42a3D4A9B0A07109B6B#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierRecursive_2026_13) #### CpuVerifierSmall_2026_13 Addresses: [0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b](https://etherscan.io/address/0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierSmall_2026_13) #### MemoryPageFactRegistry_2023_9 Addresses: [0x40864568f679c10aC9e72211500096a5130770fA](https://etherscan.io/address/0x40864568f679c10aC9e72211500096a5130770fA#code) Permissionless commitment calculator and registry used by the Solidity STARK verifiers. Anyone may submit a public-memory page and interaction elements; the contract computes its hash and cumulative product and registers the fact key committing to them, which the CPU verifier must bind to the proof. It is part of the proof verifier, not an application-level program registry. A malicious or nonconforming implementation can break public-memory soundness; binding to a different honest registry generally causes a liveness failure instead. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#MemoryPageFactRegistry_2023_9) #### SHARPVerifierCallProxy Addresses: [0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code), [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) (Implementation (Upgradable)), [0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4](https://etherscan.io/address/0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4#code) (Admin) **Past upgrades** (Count of upgrades: 14, Last upgrade: 3mo 24d ago, Avg upgrade interval: 4mo 2d) - 2026-07-12 11:53 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7f1e6f9a7268ea6ce5b3b2ce055c3ce420ee776c63c41f57823a0e9cb782e254](https://etherscan.io/tx/0x7f1e6f9a7268ea6ce5b3b2ce055c3ce420ee776c63c41f57823a0e9cb782e254), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-06-21 09:15 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x57f323ff6c828c8fe0c65c9c89d5b242264455cd5f3a5bacd25a78efa17b0ed4](https://etherscan.io/tx/0x57f323ff6c828c8fe0c65c9c89d5b242264455cd5f3a5bacd25a78efa17b0ed4), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-04-29 12:20 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b](https://etherscan.io/tx/0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2026-02-01 14:05 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170](https://etherscan.io/tx/0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-12-08 11:08 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81](https://etherscan.io/tx/0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-10-19 08:27 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797](https://etherscan.io/tx/0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797), implementations: [0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb](https://etherscan.io/address/0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb)) - 2025-05-12 16:09 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f](https://etherscan.io/tx/0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-07-28 20:08 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66](https://etherscan.io/tx/0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-07-28 10:07 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00](https://etherscan.io/tx/0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-02-26 09:25 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312](https://etherscan.io/tx/0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2024-02-26 09:25 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312](https://etherscan.io/tx/0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2023-03-06 12:34 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a](https://etherscan.io/tx/0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2022-08-07 10:50 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a](https://etherscan.io/tx/0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2022-05-02 16:49 UTC, upgrade of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a](https://etherscan.io/tx/0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) ([diff](https://disco.l2beat.com/diff/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458/eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458)) - 2021-10-24 13:06 UTC, deployment of [SHARPVerifierCallProxy](https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code): transaction [0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4](https://etherscan.io/tx/0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4), implementations: [0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458](https://etherscan.io/address/0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458#code) Upgradeable call router through which Starknet and other applications access SHARP fact registries. It uses `call`, not `delegatecall`, so facts and immutable verifier configuration remain at each target registry. The explicit `isValid` entry point always queries the default target. Other calls handled by the fallback, principally proof submissions, can be routed per caller to a still-active registry in the default target's reference chain. The default target can be replaced by SHARP Multisig after 8d. - Roles: - **admin**: SHARP Multisig - **appGovernor**: SHARP Multisig - **appRoleAdmin**: SHARP Multisig - **governanceAdmin**: SHARP Multisig Can be upgraded by: SHARP Multisig with 8d delay Proxy used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARPVerifierCallProxy) #### SHARPVerifier Addresses: [0x4956bda1d23F75B988644329c5B06BD1494a72b6](https://etherscan.io/address/0x4956bda1d23F75B988644329c5B06BD1494a72b6#code) Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARPVerifier) #### SHARPVerifier_2026_13_1 Addresses: [0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe](https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code) Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARPVerifier_2026_13_1) #### CpuVerifierDexWithBitwise_2026_13 Addresses: [0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11](https://etherscan.io/address/0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierDexWithBitwise_2026_13) #### CpuVerifierStarknet_2026_13 Addresses: [0x71574057D12541ccDa98643aC56441838353A26D](https://etherscan.io/address/0x71574057D12541ccDa98643aC56441838353A26D#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierStarknet_2026_13) #### SHARPVerifier_2026_13_2 Addresses: [0x7Da1225C752ab37E610a242D9D8a0548262E3fF7](https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code) Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARPVerifier_2026_13_2) #### CpuVerifierRecursiveLargeOutput_2026_13 Addresses: [0xbe0F8F150Fd10798524B4de80eD75751658CAEF3](https://etherscan.io/address/0xbe0F8F150Fd10798524B4de80eD75751658CAEF3#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierRecursiveLargeOutput_2026_13) #### MemoryPageFactRegistry Addresses: [0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460](https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code) Permissionless commitment calculator and registry used by the Solidity STARK verifiers. Anyone may submit a public-memory page and interaction elements; the contract computes its hash and cumulative product and registers the fact key committing to them, which the CPU verifier must bind to the proof. It is part of the proof verifier, not an application-level program registry. A malicious or nonconforming implementation can break public-memory soundness; binding to a different honest registry generally causes a liveness failure instead. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#MemoryPageFactRegistry) #### SHARPVerifier_2026_13_3 Addresses: [0xE67515a751291445B85b2F176c1eCdf08e86b406](https://etherscan.io/address/0xE67515a751291445B85b2F176c1eCdf08e86b406#code) Immutable GPS statement verifier shared by Starknet and other StarkWare systems. It verifies a STARK proof of the exact Cairo bootloader stored onchain, forces the bootloader configuration into public memory, and registers a fact for every bootloader task. A fact is also considered valid when it exists in the time-limited reference fact registry. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#SHARPVerifier_2026_13_3) #### CpuVerifierPerpetual_2026_13 Addresses: [0xFFC7974cd74b95f631f454cd787AAc28F0476b44](https://etherscan.io/address/0xFFC7974cd74b95f631f454cd787AAc28F0476b44#code) Immutable Solidity verifier for one Cairo CPU layout. It checks the STARK proof using layout-specific constraint, OODS, Merkle, FRI, and periodic-column helper contracts. The SHARP verifier can select any configured layout by `cairoVerifierId`. Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuVerifierPerpetual_2026_13) #### StarkgateRegistry Addresses: [0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280](https://etherscan.io/address/0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280#code), [0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3](https://etherscan.io/address/0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3#code) (Implementation (Upgradable)), [0xFF57A3bB6465501c993acF8f3b29125a862661C0](https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2026-02-14 17:49 UTC, deployment of [StarkgateRegistry](https://etherscan.io/address/0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280#code): transaction [0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510](https://etherscan.io/tx/0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510), implementations: [0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3](https://etherscan.io/address/0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3#code) 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. - Roles: - **admin**: Paradex Multisig 2 - **govAdmin**: EOA 3 Can be upgraded by: Paradex Multisig 2 with no delay #### CpuFrilessVerifier (8 instances) Addresses: [0x03Fa911dfCa026D9C8Edb508851b390accF912e8](https://etherscan.io/address/0x03Fa911dfCa026D9C8Edb508851b390accF912e8#code), [0x217750c27bE9147f9e358D9FF26a8224F8aCC214](https://etherscan.io/address/0x217750c27bE9147f9e358D9FF26a8224F8aCC214#code), [0x630A97901Ac29590DF83f4A64B8D490D54caf239](https://etherscan.io/address/0x630A97901Ac29590DF83f4A64B8D490D54caf239#code), [0x78Af2BFB12Db15d35f7dE8DD77f29C299C78c590](https://etherscan.io/address/0x78Af2BFB12Db15d35f7dE8DD77f29C299C78c590#code), [0x8488e8f4e26eBa40faE229AB653d98E341cbE57B](https://etherscan.io/address/0x8488e8f4e26eBa40faE229AB653d98E341cbE57B#code), [0x9E614a417f8309575fC11b175A51599661f2Bd21](https://etherscan.io/address/0x9E614a417f8309575fC11b175A51599661f2Bd21#code), [0xC879aF7D5eD80e4676C203FD300E640C297F31e3](https://etherscan.io/address/0xC879aF7D5eD80e4676C203FD300E640C297F31e3#code), [0xe9664D230490d5A515ef7Ef30033d8075a8D0E24](https://etherscan.io/address/0xe9664D230490d5A515ef7Ef30033d8075a8D0E24#code) Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CpuFrilessVerifier) #### CairoBootloaderProgram_2022_7 Addresses: [0x5d07afFAfc8721Ef3dEe4D11A2D1484CBf6A9dDf](https://etherscan.io/address/0x5d07afFAfc8721Ef3dEe4D11A2D1484CBf6A9dDf#code) Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#CairoBootloaderProgram_2022_7) #### MemoryPageFactRegistry_2022_7 Addresses: [0xFD14567eaf9ba941cB8c8a94eEC14831ca7fD1b4](https://etherscan.io/address/0xFD14567eaf9ba941cB8c8a94eEC14831ca7fD1b4#code) Implementation used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet#MemoryPageFactRegistry_2022_7) **Warning:** There are impactful changes to the following contracts, and part of the information might be outdated. #### USDC Bridge (escrow, impactful change) Addresses: [0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code), [0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86](https://etherscan.io/address/0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86#code) (Implementation (Upgradable)), [0xFF57A3bB6465501c993acF8f3b29125a862661C0](https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0#code) (Admin) **Past upgrades** (Count of upgrades: 4, Last upgrade: 8mo 15d ago, Avg upgrade interval: 7mo 24d) - 2026-02-21 13:53 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7](https://etherscan.io/tx/0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7), implementations: [0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86](https://etherscan.io/address/0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86)) - 2025-05-16 18:05 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2](https://etherscan.io/tx/0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2024-06-15 09:52 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922](https://etherscan.io/tx/0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2024-05-28 11:01 UTC, upgrade of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a](https://etherscan.io/tx/0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a), implementations: [0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77](https://etherscan.io/address/0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77#code) ([diff](https://disco.l2beat.com/diff/eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77)) - 2023-08-18 06:47 UTC, deployment of [USDC Bridge](https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code): transaction [0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed](https://etherscan.io/tx/0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed), implementations: [0x6Fd62239f3A441d1898683C5a84ce3681bB42C16](https://etherscan.io/address/0x6Fd62239f3A441d1898683C5a84ce3681bB42C16#code) Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours. - Roles: - **admin**: Paradex Multisig 2 - **govAdmin**: Paradex Multisig 2 - **manager**: StarkgateManager - **secAdmin**: Paradex Multisig 2 - **secAgent**: EOA 4, EOA 5, Paradex Multisig 2 The following tokens are included in the value secured calculation: USDC Can be upgraded by: Paradex Multisig 2 with no delay The current deployment carries some associated risks: - Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL). ### Program Hashes #### Starknet OS Proves correct state transition for a range of consecutive Starknet transactions. - Hash: `2733003247060056328192560178934419513655729851806095615814023997114795707702` - Repository: https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/os.cairo#L69 - Verification: successful - Used in: [Paradex](https://ethbeat.org/layer2s/projects/paradex) ##### Verification steps 1. Install python and pip. 2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`. 3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`. 4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`. 5. 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. #### Aggregation program for SHARP prover Aggregates proofs of correct execution for several consecutive transaction ranges generated by Starknet OS. - Hash: `2571508110958925737463010241874806654058743535666147712534445437599630018294` - Repository: https://github.com/starkware-libs/sequencer/blob/c294a8ba263834d45cf525217d8700f5de24a260/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/aggregator/main.cairo#L15 - Verification: successful - Used in: [Paradex](https://ethbeat.org/layer2s/projects/paradex) ##### Verification steps 1. Install python and pip. 2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`. 3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout c294a8ba263834d45cf525217d8700f5de24a260`. 4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`. 5. 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. #### Outer bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13 Top-level Cairo program executed by SHARP. - Hash: `3427958597398434235135013788958741576989752718219267963615783564775551242024` - Repository: https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps These steps reproduce the current 1,166-felt SHARP outer bootloader on Linux. Dependencies: Git, Bazelisk configured to use Bazel 7.4.1, JDK 21, GMP development headers, Python 3, and Foundry `cast`. 1. Check out the exact public source revision: ```bash git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 56407b69f3f19f69302a8623baa8c5f71f967eed ``` The Cairo compiler version at this revision is `0.15.0a0`. The entrypoint is `src/starkware/cairo/bootloaders/bootloader/bootloader.cairo`. 2. Build the official proof-mode target: ```bash USE_BAZEL_VERSION=7.4.1 bazelisk build \ //src/starkware/cairo/bootloaders/bootloader:bootloader_program ``` The destination for the compiled program will be printed by the build script, the instruction array will be in the `"data"` json field in hex format. The target uses `--proof_mode --debug_info_with_source`. 3. Check that the compiled instruction array is identical to the one pinned by the immutable Ethereum contract at `0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47`, which could be fetched by calling: ```bash cast call 0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47 \ 'getCompiledProgram()(uint256[1166])' \ --rpc-url "$ETHEREUM_RPC_URL" \ --json > /tmp/sharp_outer_bootloader_onchain.json ``` #### Supported simple bootloader programs commitment StarkWare_GpsStatementVerifier_2026_13 Pedersen commitment to the ordered list of accepted simple-bootloader executable hashes. - Hash: `3442855748187296636739564186904728563385971901122957091055928358173521721079` - Repository: https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/simple_bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location. 1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh): ``` brew install bazelisk USE_BAZEL_VERSION=7.4.1 bazelisk version brew install gmp # or sudo apt-get install libgmp-dev ``` 2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`. 3. Check out the correct commit of repo: ``` git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab ``` 4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](https://ethbeat.org/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end. 5. Copy [this hash_bootloaders.py script](https://ethbeat.org/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`. 6. 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. #### Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13 Runs an aggregator program, checks that its input matches the recursively unpacked task outputs, and relabels the resulting fact with the domain-separated aggregator program hash. - Hash: `2358844945297786488640123814540854423585455959362109345448922524567546993330` - Repository: https://github.com/starkware-libs/cairo-lang/tree/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/src/starkware/cairo/bootloaders/applicative_bootloader - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps The steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location. 1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh): ``` brew install bazelisk USE_BAZEL_VERSION=7.4.1 bazelisk version brew install gmp # or sudo apt-get install libgmp-dev ``` 2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`. 3. Check out the correct commit of repo: ``` git clone https://github.com/starkware-libs/cairo-lang.git cd cairo-lang git checkout 1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab ``` 4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](https://ethbeat.org/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end. 5. Copy [this hash_bootloaders.py script](https://ethbeat.org/files/starkware_proghash_artifacts/1c5dace6fbd1dc9d1ae2eb878dc1dd85f23512ab/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`. 6. 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. #### Supported recursive Cairo verifier programs commitment StarkWare_GpsStatementVerifier_2026_13_4 Pedersen commitment to the ordered allowlist of Cairo programs that may recursively verify and unpack nested SHARP proofs. - Hash: `2549868507195840500193135872505150687001846773665388230794631345999578394351` - Repository: https://github.com/starkware-libs/cairo-lang/blob/cf9bf972bede402a125e8638bb258e77563ae933/src/starkware/cairo/bootloaders/bootloader/supported_program_hashes.json - Verification: successful - Used in: [Starknet](https://ethbeat.org/layer2s/projects/starknet), [Paradex](https://ethbeat.org/layer2s/projects/paradex), [Sorare](https://ethbeat.org/layer2s/projects/sorare), [edgeX v1](https://ethbeat.org/layer2s/projects/edgex), [tanX](https://ethbeat.org/layer2s/projects/tanx), [Myria](https://ethbeat.org/layer2s/projects/myria) ##### Verification steps This value is not a hash of a single program. It is a Pedersen hash chain committing to the ordered 30-entry `supported_cairo_verifier_program_hashes` list from [supported_program_hashes.json](https://github.com/starkware-libs/cairo-lang/blob/cf9bf972bede402a125e8638bb258e77563ae933/src/starkware/cairo/bootloaders/bootloader/supported_program_hashes.json) at cairo-lang `cf9bf972bede402a125e8638bb258e77563ae933` (v0.14.3). The list contains the program hashes of all Cairo verifier programs that the SHARP bootloader accepts for recursive proof verification: - 21 entries are Stone Cairo verifiers built from the same cairo-lang commit: 7 layouts (`dex`, `recursive`, `small`, `starknet`, `starknet_with_keccak`, `dynamic`, `recursive_with_poseidon`), each hashed with the pedersen (entries 1-7), poseidon (11-17) and blake (21-27) program hash function. - 9 entries are Stwo Cairo verifiers built from [stwo-cairo](https://github.com/starkware-libs/stwo-cairo/tree/sharp-7.4.RC3) at tag `sharp-7.4.RC3` (commit `9b93cc39c87838cee3132ee1f8237590700f0689`): 3 feature builds (`poseidon252_verifier` with poseidon output packing, `qm31_opcode` with poseidon output packing, `qm31_opcode` with blake output packing), each hashed with pedersen (entries 8-10), poseidon (18-20) and blake (28-30). 1. Reproduce the 21 Stone verifier hashes following [these steps](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stone_verifier_steps.md). 2. Reproduce the 9 Stwo verifier hashes following [these steps](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stwo_verifier_steps.md). You will need [this stwo_features.patch](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/stwo_features.patch) and [this hash_stwo_verifiers.py helper script](https://ethbeat.org/files/starkware_proghash_artifacts/cf9bf972bede402a125e8638bb258e77563ae933/hash_stwo_verifiers.py). 3. From the cairo-lang checkout, using a python 3.9 environment with `scripts/requirements.txt` installed, compute the commitment to the now-verified list: ``` PYTHONPATH=src python -c " import json from starkware.cairo.common.hash_state import compute_hash_on_elements doc = json.load(open('src/starkware/cairo/ bootloaders/bootloader/supported_program_hashes.json')) print(compute_hash_on_elements([int(h, 16) for h in doc['supported_cairo_verifier_program_hashes']])) " ``` The output should be the program hash.