Search for projects by name or address
Paradex is a high-performance crypto-derivatives exchange offering zero fee and private perpetuals.
Paradex is a high-performance crypto-derivatives exchange offering zero fee and private perpetuals.
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 here.
2025 Jul 28 — 2026 Jul 28
This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data to
Ethereum.
2025 Jul 28 — 2026 Jul 28
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.
2026 Jun 28 — Jul 28
Paradex introduces privacy perps
2025 Dec 15th
Paradex introduces a privacy council to manage decryption keys for encrypted data availability.
There is no mechanism to have transactions be included if the sequencer is down or censoring.
STARKs are zero knowledge proofs that ensure state correctness.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.
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.
Funds can be frozen if no privacy council member discloses the decryption keys.
Paradex uses stateful compression since v0.13.4.
There is no non-empty genesis state.
The data format has been updated with different versions, and the full specification can be found here.
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.
Onchain verifier
Onchain verifier |
Name | Hash | Repository | Verification | Used in | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
273300...7702 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
257150...8294 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
342795...2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
344285...1079 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
235884...3330 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
254986...4351 | Code unknown | None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
234451...4732 | Code unknown | None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
Added another Paradex operator.
Added another Paradex operator.
| contract Paradex (eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640) [starknet/Starknet] { | |
| +++ description: Central Starknet rollup contract. For every state update it derives a SHARP fact from the state-transition output and either the Starknet OS or aggregator program hash, checks that fact through the configured SHARP call proxy, and requires the output's OS-config hash to match. It also processes L1 <-> L2 messages and stores the finalized L2 state. | |
| values.operators.1: | |
| + | "eth:0x09d1ad25B369A0C48Bdf4CaAb85aFd08a3f07044" |
| } |
Add permissioned address to bridge access control.
Add permissioned address to bridge access control.
| contract USDC Bridge (eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3) [starknet/StarknetERC20Bridge] { | |
| +++ description: Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours. | |
| values.accessControl.SECURITY_AGENT.members.2: | |
| + | "eth:0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D" |
| values.secAgentAC.2: | |
| + | "eth:0x27aFEd9831209B58Cf24fa241E028dD1e80Fb17D" |
| } |
signer added, threshold increased to 3. Also, rotated ms member.
signer added, threshold increased to 3. Also, rotated ms member.
| contract Paradex Multisig (eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.0: | |
| + | "eth:0x0405107a60391Eb51821be373ff978115Ee58488" |
| values.$members.1: | |
| - | "eth:0x2871B956bC19D25961E9a7519f32D7fDaA21B403" |
| + | "eth:0xCe958D997F4a5824D4d503A128216322C6C223a0" |
| values.$threshold: | |
| - | 2 |
| + | 3 |
| values.multisigThreshold: | |
| - | "2 of 5 (40%)" |
| + | "3 of 6 (50%)" |
| } |
| contract Paradex Multisig 2 (eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.5: | |
| - | "eth:0x661B48092a5af3F8d5B551D66f5B3F639deD3155" |
| + | "eth:0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950" |
| } |
| + | Status: CREATED |
| reference (eth:0x0405107a60391Eb51821be373ff978115Ee58488) | |
| +++ description: None |
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
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
| contract Paradex (eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640) [starknet/Starknet] { | |
| +++ description: Central rollup contract. Receives (verified) state roots from the Sequencer, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles. | |
| sourceHashes.1: | |
| - | "0xfee7303d7ae61327a9f6516d410a6efbe76c07d2ca3406be62e5bb3baa5532c9" |
| + | "0xef60960a959a9506c3f6eece9374f7fbcd095a488763801577ae88e427fd3d51" |
| values.$implementation: | |
| - | "eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04" |
| + | "eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A" |
| values.$pastUpgrades.4: | |
| + | ["2026-05-10T13:30:11.000Z","0x1e964f795063d0e9b55f3f260bcbd3f11b3f3b43df658b9da2b78ce919bd4009",["eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A"]] |
| values.$upgradeCount: | |
| - | 4 |
| + | 5 |
| values.aggregatorHashMapped: | |
| - | "1701025211190912681772481128523426351562426117847395998223683709327746845867" |
| + | "2571508110958925737463010241874806654058743535666147712534445437599630018294" |
| values.aggregatorProgramHash: | |
| - | "1701025211190912681772481128523426351562426117847395998223683709327746845867" |
| + | "2571508110958925737463010241874806654058743535666147712534445437599630018294" |
| values.identify: | |
| - | "StarkWare_Starknet_2025_10" |
| + | "StarkWare_Starknet_2026_11" |
| values.implementation: | |
| - | "eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04" |
| + | "eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A" |
| +++ description: The L2 programHash which is a hash of the L2 state machine logic. Liveness config MUST be changed in the .ts as soon as this is updated. | |
| +++ severity: HIGH | |
| values.programHash: | |
| - | "918745833886511857768061986591752808672496300091957204265383861063635175685" |
| + | "2733003247060056328192560178934419513655729851806095615814023997114795707702" |
| values.programHashHistory.8: | |
| + | "918745833886511857768061986591752808672496300091957204265383861063635175685" |
| values.programHashMapped: | |
| - | "918745833886511857768061986591752808672496300091957204265383861063635175685" |
| + | "2733003247060056328192560178934419513655729851806095615814023997114795707702" |
| implementationNames.eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04: | |
| - | "Starknet" |
| implementationNames.eth:0x9961D34D3baE6914635c882e8FE382e14E0F172A: | |
| + | "Starknet" |
| } |
Removed LegacyBridge logic from the USDC bridge. Diff: https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86. Also added a StarkgateManager for this bridge.
Removed LegacyBridge logic from the USDC bridge. Diff: https://disco.l2beat.com/diff/eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77/eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86. Also added a StarkgateManager for this bridge.
| contract USDC Bridge (eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3) { | |
| +++ description: Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours. | |
| sourceHashes.1: | |
| - | "0xbe08cd77d92ae2b4d333c5d2850e16d06e16d98de2a8435e0a49dc35ad73b915" |
| + | "0xecdc47d2045525d1d373fdecc6478959fa5b2d2595713c2187c41ed98baa4738" |
| values.$implementation: | |
| - | "eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77" |
| + | "eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86" |
| values.$pastUpgrades.4: | |
| + | ["2026-02-21T13:53:59.000Z","0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7",["eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"]] |
| values.$upgradeCount: | |
| - | 4 |
| + | 5 |
| values.identify: | |
| - | "StarkWare_StarknetERC20Bridge_2.0_4" |
| + | "StarkWare_StarknetTokenBridge_2.0_5" |
| values.implementation: | |
| - | "eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77" |
| + | "eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86" |
| values.manager: | |
| - | "eth:0x0000000000000000000000000000000000000000" |
| + | "eth:0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE" |
| implementationNames.eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77: | |
| - | "StarknetERC20Bridge" |
| implementationNames.eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86: | |
| + | "StarknetTokenBridge" |
| } |
| contract Paradex Multisig 2 (eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0) { | |
| +++ description: None | |
| receivedPermissions.4: | |
| + | {"permission":"upgrade","from":"eth:0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE","role":".$admin"} |
| receivedPermissions.5: | |
| + | {"permission":"upgrade","from":"eth:0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280","role":".$admin"} |
| } |
| + | Status: CREATED |
| contract StarkgateManager (eth:0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE) | |
| +++ description: Acts as a central contract to manage StarkGate bridge escrows (add new ones, deactivate existing, change configs) when given the Manager role from the respective escrows. |
| + | Status: CREATED |
| contract StarkgateRegistry (eth:0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280) | |
| +++ description: A simple registry that maps tokens to their StarkGate escrows. It also keeps a list of tokens that are blocked from being added to StarkGate. |
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
There is no general mechanism to force the sequencer to include the transaction.
Users can be censored if the operator refuses to include their transactions.
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.

A Multisig with 3/6 threshold.
A Multisig with 2/4 threshold.
GOVERNANCE_ADMIN and role-admin hierarchy. This AccessControl role is separate from the outer proxy governor that schedules implementation upgradesAPP_GOVERNOR role that controls caller-specific fallback routesisValid entry point always queries the default target

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.
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.
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.
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.
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.
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.
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.
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.
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.
Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours.

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).
Name | Hash | Repository | Verification | Used in | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
273300...7702 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
257150...8294 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
342795...2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
344285...1079 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
235884...3330 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
254986...4351 | Code unknown | None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
234451...4732 | Code unknown | None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||