# ZKFair Markdown version of https://ethbeat.org/layer2s/projects/zkfair ## Summary **Warning:** Bridge withdrawals require a signature from one configured address. An administrator can withdraw all escrow funds directly. Validium proofs constrain neither path. **Warning:** Why is the project listed in others? The proof system isn't fully functional. Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds. There is no data availability bridge. Consequence: projects without a data availability bridge fully rely on single entities (the sequencer) to honestly rely available data roots on Ethereum. A malicious sequencer 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: $63.25 K (+0.23% compared to seven days ago; canonically bridged $14.28 K, natively minted $48.96 K, 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) - **Warning:** The ZKF token associated with ZKFair accounts for 77.4% of the TVS! (sentiment: warning) - TVS by asset: ETH & derivatives $5.60 K (8.85%), Stablecoins $6.98 K (11.0%), BTC & derivatives $1.69 K (2.68%), Other $48.97 K (77.4%) - Associated tokens: ZKF: $48.96 K (77.4% of TVS) - Past day UOPS: <0.01 (+30.7% compared to seven days ago) - Type: Other - Purpose: Universal - Host chain: Ethereum - Chain ID: 42766 ### Risks - Sequencer failure: No mechanism (sentiment: bad) - State validation: None (sentiment: bad) - Data availability: External (DAC) (sentiment: bad) - Exit window: None (sentiment: bad) - Proposer failure: Cannot withdraw (sentiment: bad) ### About ZKFair uses Polygon CDK for validium state proofs and a separate signature-authorized bridge for asset transfers. ### Links - Website: https://zkfair.io/ - Bridge: https://wallet.zkfair.io/ - Docs: https://docs.zkfair.io/ - Explorer: https://scan.zkfair.io/ - Repository: https://github.com/ZKFair - Social: https://twitter.com/ZKFCommunity, https://t.me/zkfaircommunity, https://mirror.xyz/zkfair.eth - Contracts explorer (Disco): https://disco.ethbeat.org/ui/p/zkfair ### Badges - EVM: This project uses the Ethereum Virtual Machine to run its smart contracts and supports the Solidity programming language - Data Availability Committee: There is a Data Availability Committee that provides/attests to data availability - Built on the CDK Erigon stack: The project is built using the multistack Agglayer CDK, and is based on the Erigon stack ## Value Secured The interactive TVS charts are shown on [the HTML page](https://ethbeat.org/layer2s/projects/zkfair#tvs). Token by token: [TVS breakdown](https://ethbeat.org/layer2s/projects/zkfair/tvs-breakdown). - [TVS chart (JSON)](https://ethbeat.org/api/scaling/tvs/zkfair) - [TVS breakdown by token (JSON)](https://ethbeat.org/api/scaling/tvs/zkfair/breakdown) ## Activity The interactive activity chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/zkfair#activity). - [Activity chart (JSON)](https://ethbeat.org/api/scaling/activity/zkfair) ## Milestones & Incidents - 2023-12-20: [ZKFair Mainnet is Live](https://twitter.com/ZKFCommunity/status/1737307444181869017). ZKFair launched. ## Risk summary **Warning:** Forced transactions are disabled. The validium contracts use a data availability committee, and the token bridge uses separate signature validation. ### Funds can be stolen if 1. the bridge administration changes withdrawal permissions or asset routes without delay, 2. the bridge signing key authorizes an arbitrary token release, 3. the bridge withdrawal authority sends escrow funds to itself. ### Funds can be lost if 4. the external data becomes unavailable (CRITICAL). ### Funds can be frozen if 5. the sequencer refuses to include an exit transaction (CRITICAL), 6. the bridge signing address stops authorizing withdrawals or the administration pauses the token bridge. ### Users can be censored if 7. the operator refuses to include their transactions. ### MEV can be extracted if 8. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis **Warning:** Bridge withdrawals require a signature from one configured address. An administrator can withdraw all escrow funds directly. Validium proofs constrain neither path. **Warning:** Forced transactions are disabled. The validium contracts use a data availability committee, and the token bridge uses separate signature validation. ### Sequencer failure No mechanism (sentiment: bad) There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled. ### State validation None (sentiment: bad) Currently the system permits invalid state roots. More details in project overview. ### Data availability External (DAC) (sentiment: bad) Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 3/5 that is tasked with protecting and supplying the data. ### 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 Set of parties responsible for signing and attesting to the availability of data. ### Risk analysis #### Economic security None (sentiment: bad) There are no onchain assets at risk of being slashed in case of a data withholding attack, and the committee members are not publicly known. #### Fraud detection None (sentiment: bad) There is no fraud detection mechanism in place. A data withholding attack can only be detected by nodes downloading the full data from the DA layer. #### Committee security 3/5 (sentiment: bad) The committee does not meet basic security standards, either due to insufficient size, lack of member diversity, or poorly defined threshold parameters. The system lacks an effective DA bridge and it is reliant on the assumption of an honest sequencer, creating significant risks to data integrity and availability. #### Upgradeability No delay (sentiment: bad) There is no delay in the upgradeability of the bridge. Users have no time to exit the system before the bridge implementation update is completed. #### Relayer failure No mechanism (sentiment: bad) The relayer role is permissioned, and the DA bridge does not have a Security Council or a governance mechanism to propose new relayers. In case of relayer failure, the DA bridge will halt and be unable to recover without the intervention of a centralized entity. ### Technology #### Architecture ![polygoncdk architecture](https://ethbeat.org/images/da-layer-technology/polygoncdk/architecture.png#center) Polygon CDK validiums utilize a data availability solution that relies on a Data Availability Committee (DAC) to ensure data integrity and manage off-chain transaction data. This architecture comprises the following components: - **Operator**: A trusted entity that collects transactions, computes hash values for the transaction batch, and then requests and collects signatures from Committee members. - **Data Availability Committee (DAC)**: A group of nodes responsible for validating batch data against the hash values provided by the operator (sequencer), ensuring the data accurately represents the transactions. - **PolygonCommittee Contract**: Contract responsible for managing the data committee members list. Each DAC node independently validates the batch data, ensuring it matches the received hash values. Upon successful validation, DAC members store the hash values locally and generate signatures endorsing the batch's integrity. The sequencer collects these signatures and submits the transactions batch hash together with the aggregated signature on Ethereum. The PolygonCommittee contract is used during batch sequencing to verify that the signature posted by the sequencer was signed off by the DAC members stored in the contract. #### DA Bridge Architecture ![polygoncdk bridge architecture](https://ethbeat.org/images/da-bridge-technology/polygoncdk/architectureL2.png#center) The DA commitments are posted to the destination chain through the sequencer inbox, using the inbox as a DA bridge. The DA commitment consists of a data availability message provided as transaction input, made up of a byte array containing the signatures and all the addresses of the committee in ascending order. The sequencer distributes the data and collects signatures from Committee members offchain. Only the DA message is posted by the sequencer to the destination chain inbox (the DA bridge). A separate contract, the PolygonCommittee contract, is used to manage the committee members list and verify the signatures before accepting the DA commitment. **Risks** - Funds can be lost if a malicious committee signs a data availability attestation for an unavailable transaction batch. - Funds can be lost if the bridge contract or its dependencies receive a malicious code upgrade. There is no delay on code upgrades. **References** - [Polygon CDK Validium Documentation](https://docs.polygon.technology/cdk/architecture/cdk-validium/#data-availability-committee-dac) ## State validation ### No state validation The token bridge accepts an EIP-712 signature recovering to its configured address. It checks no source-chain proof or threshold of distinct signers. A used source-domain nonce prevents replay. The escrow also accepts unrestricted withdrawals instructed by the bridge administration. **Risks** - Funds can be stolen if the bridge signing key authorizes an arbitrary token release. - Funds can be stolen if the bridge withdrawal authority sends escrow funds to itself. **References** - [TokenBridge - verify, executeProposals and adminWithdraw](https://etherscan.io/address/0xB66bbf236CE102A1De692f2A034b9dB245986671#code) - [ERC20Handler - executeProposal and withdraw](https://etherscan.io/address/0xb10f60B4Ea978CA02aFBAC57fa84907e8439766e#code) ### Validity proofs ZKFairValidium verifies proofs of state transitions using an Fflonk verifier. Its verified state and exit roots do not authorize releases from the current token escrow. **References** - [ZKFairValidium.sol#L758 - Etherscan source code, _verifyAndRewardBatches function](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code#F8#L758) ## 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: 1 - Last upgrade: 1y 7mo ago - Avg upgrade interval: 1y 5mo - 2025-03-27 05:30 UTC, upgrade of [OldBridge](https://etherscan.io/address/0x9cb4706e20A18E59a48ffa7616d700A3891e1861#code): transaction [0xca7c847dde27f60d98b07ef29ba9e0a677f28dddd980bb20c52f660c0071e768](https://etherscan.io/tx/0xca7c847dde27f60d98b07ef29ba9e0a677f28dddd980bb20c52f660c0071e768), implementations: [0x58371687dc997A7A11154bBcA72aEb15e4Db8F46](https://etherscan.io/address/0x58371687dc997A7A11154bBcA72aEb15e4Db8F46#code) ([diff](https://disco.ethbeat.org/diff/eth:0xEb80283EBc508CF6AaC5E054118954a2BD7fA006/eth:0x58371687dc997A7A11154bBcA72aEb15e4Db8F46)) - 2023-12-18 06:02 UTC, deployment of [ZKFairValidium](https://etherscan.io/address/0x1CbC08bf0D48b18F9f97796c61352b192d1850A5#code): transaction [0xf231cd4ea460fef7127452f1f2e380080338d99b581b1fbdb69c02b3eb43c396](https://etherscan.io/tx/0xf231cd4ea460fef7127452f1f2e380080338d99b581b1fbdb69c02b3eb43c396), implementations: [0x668965757127549f8755D2eEd10494B06420213b](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code) - 2023-12-18 06:02 UTC, deployment of [GlobalExitRoot](https://etherscan.io/address/0x72abD6416Ea2d99ad30C86B90e7409Dc2d1ba40b#code): transaction [0x4e28f8a72e2c30b692920184f37ffd953bfdcc89b907a1284fbb986aad9bc686](https://etherscan.io/tx/0x4e28f8a72e2c30b692920184f37ffd953bfdcc89b907a1284fbb986aad9bc686), implementations: [0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615](https://etherscan.io/address/0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615#code) - 2023-12-18 06:01 UTC, deployment of [ZKFairValidiumDAC](https://etherscan.io/address/0x997CfB0838544f68E59f877EDc905001456F125b#code): transaction [0xc32e3c87473e1564ad91461787c42867d6793e330617ca806ea1357c40fc4cba](https://etherscan.io/tx/0xc32e3c87473e1564ad91461787c42867d6793e330617ca806ea1357c40fc4cba), implementations: [0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc](https://etherscan.io/address/0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc#code) - 2023-12-18 06:01 UTC, deployment of [OldBridge](https://etherscan.io/address/0x9cb4706e20A18E59a48ffa7616d700A3891e1861#code): transaction [0x22ef364422913d82a57f2fb0b440655ced0178c3549491490edff4663389f511](https://etherscan.io/tx/0x22ef364422913d82a57f2fb0b440655ced0178c3549491490edff4663389f511), implementations: [0xEb80283EBc508CF6AaC5E054118954a2BD7fA006](https://etherscan.io/address/0xEb80283EBc508CF6AaC5E054118954a2BD7fA006#code) ## Updates Each date links the update on the HTML page, which also shows its contract diffs. ### [2026-10-12 07:14 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=e82e4031) (30 changes) New source verification confirms that the current escrow trusts one ECDSA signing address. Separate administrators can withdraw funds without bridge signatures or validium proofs. ### [2025-07-14 12:46 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=2a17f2d5) (10 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-04-22 07:14 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=74c12c4f) (1 change) Provide description of changes. This section will be preserved. ### [2025-03-31 11:42 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=a4496754) (high severity, 22 changes) Bridge upgraded to an unverified implementation. Funds moved to an EOA and deposited to DeFi from there. ### [2024-09-09 08:19 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=59f2f33e) (5 changes) DAC member URLs have changed (to Tencent). (Onchain addresses stay the same) ### [2024-04-24 15:27 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=cc7965ce) (5 changes) The URLs on amazon aws for all 5 DAC members are changed. Their onchain addresses remain the same. ### [2024-01-12 15:03 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=a4a6c391) (3 changes) DataAvailabilityCommittee contract (CDKDataCommittee) became verified, exposing addresses of committee members. This committee attests that data for a given dataRoot has been published. The DAC Owner can update the member set at any time. ### [2023-12-21 14:05 UTC](https://ethbeat.org/layer2s/projects/zkfair?update=26b68159) (11 changes) Add initial config for ZKFair. ## Operator ### The system has a centralized sequencer Only a trusted sequencer is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. - Funds can be frozen if the sequencer refuses to include an exit transaction (CRITICAL). **References** - [ZKFairValidium.sol#L61 - Etherscan source code, onlyTrustedSequencer modifier](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code#F8#L461) ### Users can't force any transaction The mechanism for allowing users to submit their own transactions is currently disabled. **Risks** - Users can be censored if the operator refuses to include their transactions. **References** - [ZKFairValidium.sol#L475 - Etherscan source code, isForceBatchAllowed modifier](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code#F8#L475) ## Withdrawals ### Signature-authorized withdrawal Users depend on the bridge signing address to authorize withdrawals. Anyone can submit its valid signature and proposal to release tokens from the escrow. A validium proof cannot replace the signature. **Risks** - Funds can be frozen if the bridge signing address stops authorizing withdrawals or the administration pauses the token bridge. **References** - [TokenBridge - executeProposal and executeProposals](https://etherscan.io/address/0xB66bbf236CE102A1De692f2A034b9dB245986671#code) ## Permissions Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.ethbeat.org/ui/p/zkfair ### Ethereum #### Actors ##### Bridge signing address Addresses: [0xb2A240c6cEac75176d99287961F05ccb8DB39a0e](https://etherscan.io/address/0xb2A240c6cEac75176d99287961F05ccb8DB39a0e) Its ECDSA signature can authorize arbitrary releases from the current token escrow. The contract enforces no threshold of distinct signers. ##### Bridge permissions administrator Addresses: [0xFA12a0567fa25fB45405Efd3786b565941E3E84b](https://etherscan.io/address/0xFA12a0567fa25fB45405Efd3786b565941E3E84b) Can replace every per-function bridge authority, including withdrawal and access-control replacement authorities, without delay. ##### Bridge withdrawal authority Addresses: [0xcd14BE1959928BB8c160D11817E2BE2129e2F25F](https://etherscan.io/address/0xcd14BE1959928BB8c160D11817E2BE2129e2F25F) Can withdraw all escrow funds directly through the token bridge, without a validium proof or bridge signature. ##### Sequencer Addresses: [0x9eed06d1566F0cAfdA3df624E2376864cA84Db6c](https://etherscan.io/address/0x9eed06d1566F0cAfdA3df624E2376864cA84Db6c) Its sole purpose and ability is to submit transaction batches. In case they are unavailable users cannot rely on the force batch mechanism because it is currently disabled. ##### Proposer Addresses: [0xd6888c41EeAcc94f4A1CEe7A99E1557aa41FA027](https://etherscan.io/address/0xd6888c41EeAcc94f4A1CEe7A99E1557aa41FA027) The trusted proposer (called Aggregator) provides the ZKFairValidium contract with ZK proofs of the new system state. In case they are unavailable a mechanism for users to submit proofs on their own exists, but is behind a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state. ##### ZKFairAdmin Addresses: [0x0110B1B231aA3b96a94c900eb3056297526AB725](https://etherscan.io/address/0x0110B1B231aA3b96a94c900eb3056297526AB725) A Multisig with 3/4 threshold. Admin of the ZKFairValidium, can set core system parameters like timeouts, sequencer and aggregator as well as deactivate emergency state. Participants (4): [0x39FcAEb9870cB015f2165e93c51f4663AE970953](https://etherscan.io/address/0x39FcAEb9870cB015f2165e93c51f4663AE970953), [0x3226ECf79dc7007063599A334832d015B48aBDBc](https://etherscan.io/address/0x3226ECf79dc7007063599A334832d015B48aBDBc), [0x4dba6F06597Ea29A330C06806FA284610c810295](https://etherscan.io/address/0x4dba6F06597Ea29A330C06806FA284610c810295), [0xe1229a2716D19eC9aF74017418Fc9E165b80c7aF](https://etherscan.io/address/0xe1229a2716D19eC9aF74017418Fc9E165b80c7aF) ##### ZKFairOwner Addresses: [0x8933Fa0A97f39cd38f56b1887d5cc56cF04F3A88](https://etherscan.io/address/0x8933Fa0A97f39cd38f56b1887d5cc56cF04F3A88) A Multisig with 3/4 threshold. The ZkFair Owner is a multisig that can be used to trigger the emergency state which restricts advancing system state and removes the upgradeability delay. Participants (4): [0x9fAe81C21be8D1Ad91c3617A7b0140dfe0DCe6C7](https://etherscan.io/address/0x9fAe81C21be8D1Ad91c3617A7b0140dfe0DCe6C7), [0x540C913ad8b197152EB041bC56f9c6Ab314D25Ba](https://etherscan.io/address/0x540C913ad8b197152EB041bC56f9c6Ab314D25Ba), [0xcf6226d0264496abB69eF8BC1DF366c9E00f5b87](https://etherscan.io/address/0xcf6226d0264496abB69eF8BC1DF366c9E00f5b87), [0x4B7f09f4D658638d81Bb2023674B80a9Dd7e9976](https://etherscan.io/address/0x4B7f09f4D658638d81Bb2023674B80a9Dd7e9976) ##### 5 EOAs Addresses: [0x033A75B6B0fc26eDf60e99c4172eB5f87E733ca2](https://etherscan.io/address/0x033A75B6B0fc26eDf60e99c4172eB5f87E733ca2), [0x061D273bEf947BD0ef2B828526e710eEa0f297ae](https://etherscan.io/address/0x061D273bEf947BD0ef2B828526e710eEa0f297ae), [0x9231622437bD57349cC9a15CDEc5383627DEbA17](https://etherscan.io/address/0x9231622437bD57349cC9a15CDEc5383627DEbA17), [0x9d8616545C9941138832EebC58Cb498E0ef21a13](https://etherscan.io/address/0x9d8616545C9941138832EebC58Cb498E0ef21a13), [0xFe1da7CAd939805d4A889822357c348177a5118d](https://etherscan.io/address/0xFe1da7CAd939805d4A889822357c348177a5118d) Members of the Data Availability Committee. The setup is equivalent to a 3/5 multisig. ##### DAC Owner Addresses: [0xa57c2B747193fe3F9CC8bea89103B7d76B8A0c70](https://etherscan.io/address/0xa57c2B747193fe3F9CC8bea89103B7d76B8A0c70) The owner of the Data Availability Committee, can update the member set at any time. ##### 2 EOAs Addresses: [0x75575Dc1adD71eA794A52D83f836a13F7891C527](https://etherscan.io/address/0x75575Dc1adD71eA794A52D83f836a13F7891C527), [0x9412eCbEE1e8dd25F347D6d8002f62eF540ddDAa](https://etherscan.io/address/0x9412eCbEE1e8dd25F347D6d8002f62eF540ddDAa) Controls the upgrades to the ZKFairValidiumDAC and ZKFairValidium contracts through the Timelock. ## Smart contracts Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.ethbeat.org/ui/p/zkfair ### Ethereum #### ZKFairValidium Addresses: [0x1CbC08bf0D48b18F9f97796c61352b192d1850A5](https://etherscan.io/address/0x1CbC08bf0D48b18F9f97796c61352b192d1850A5#code), [0x668965757127549f8755D2eEd10494B06420213b](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code) (Implementation (Upgradable)), [0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3](https://etherscan.io/address/0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-12-18 06:02 UTC, deployment of [ZKFairValidium](https://etherscan.io/address/0x1CbC08bf0D48b18F9f97796c61352b192d1850A5#code): transaction [0xf231cd4ea460fef7127452f1f2e380080338d99b581b1fbdb69c02b3eb43c396](https://etherscan.io/tx/0xf231cd4ea460fef7127452f1f2e380080338d99b581b1fbdb69c02b3eb43c396), implementations: [0x668965757127549f8755D2eEd10494B06420213b](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code) The main contract of the Polygon CDK Validium. It defines the rules of the system including core system parameters, permissioned actors as well as emergency procedures. The emergency state can be activated either by the ZkFair Owner, by proving a soundness error or by presenting a sequenced batch that has not been aggregated before a 7d timeout. This contract receives transaction roots, L2 state roots as well as ZK proofs. It also holds the address of ZKFairValidiumDAC. Can be upgraded by: ZKFairAdmin with 1d delay **Upgrade details** Non-emergency validium upgrades require a 1d timelock. Emergency upgrades bypass that delay. The token bridge has separate administrative controls. **References** - [State injections - stateRoot and exitRoot are part of the validity proof input.](https://etherscan.io/address/0x668965757127549f8755D2eEd10494B06420213b#code#F8#L809) #### Bridge (escrow) Addresses: [0xb10f60B4Ea978CA02aFBAC57fa84907e8439766e](https://etherscan.io/address/0xb10f60B4Ea978CA02aFBAC57fa84907e8439766e#code) ERC20Handler escrow holding ERC20 tokens and ETH. Only TokenBridge can release or withdraw funds. Validium proofs do not constrain these releases. All supported tokens in this escrow are included in the value secured calculation. #### TokenBridge Addresses: [0xB66bbf236CE102A1De692f2A034b9dB245986671](https://etherscan.io/address/0xB66bbf236CE102A1De692f2A034b9dB245986671#code) #### AccessControlSegregator Addresses: [0x8E1b1B3Be901eF8efACe4767097a75976Ce7d512](https://etherscan.io/address/0x8E1b1B3Be901eF8efACe4767097a75976Ce7d512#code) #### FeeHandlerRouter Addresses: [0x899b97352c91cC21384944350Ba8bf00fCAbCd53](https://etherscan.io/address/0x899b97352c91cC21384944350Ba8bf00fCAbCd53#code) #### OldBridge (escrow) Addresses: [0x9cb4706e20A18E59a48ffa7616d700A3891e1861](https://etherscan.io/address/0x9cb4706e20A18E59a48ffa7616d700A3891e1861#code), [0x58371687dc997A7A11154bBcA72aEb15e4Db8F46](https://etherscan.io/address/0x58371687dc997A7A11154bBcA72aEb15e4Db8F46#code) (Implementation (Upgradable)), [0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3](https://etherscan.io/address/0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 1y 7mo ago, Avg upgrade interval: 1y 5mo) - 2025-03-27 05:30 UTC, upgrade of [OldBridge](https://etherscan.io/address/0x9cb4706e20A18E59a48ffa7616d700A3891e1861#code): transaction [0xca7c847dde27f60d98b07ef29ba9e0a677f28dddd980bb20c52f660c0071e768](https://etherscan.io/tx/0xca7c847dde27f60d98b07ef29ba9e0a677f28dddd980bb20c52f660c0071e768), implementations: [0x58371687dc997A7A11154bBcA72aEb15e4Db8F46](https://etherscan.io/address/0x58371687dc997A7A11154bBcA72aEb15e4Db8F46#code) ([diff](https://disco.ethbeat.org/diff/eth:0xEb80283EBc508CF6AaC5E054118954a2BD7fA006/eth:0x58371687dc997A7A11154bBcA72aEb15e4Db8F46)) - 2023-12-18 06:01 UTC, deployment of [OldBridge](https://etherscan.io/address/0x9cb4706e20A18E59a48ffa7616d700A3891e1861#code): transaction [0x22ef364422913d82a57f2fb0b440655ced0178c3549491490edff4663389f511](https://etherscan.io/tx/0x22ef364422913d82a57f2fb0b440655ced0178c3549491490edff4663389f511), implementations: [0xEb80283EBc508CF6AaC5E054118954a2BD7fA006](https://etherscan.io/address/0xEb80283EBc508CF6AaC5E054118954a2BD7fA006#code) Deprecated! Was the escrow contract for user funds. It is mirrored on the L2 side and can be used to transfer ERC20 assets. To transfer funds a user initiated transaction on both sides is required. All supported tokens in this escrow are included in the value secured calculation. Can be upgraded by: ZKFairAdmin with 1d delay **Upgrade details** Non-emergency validium upgrades require a 1d timelock. Emergency upgrades bypass that delay. The token bridge has separate administrative controls. #### GlobalExitRoot Addresses: [0x72abD6416Ea2d99ad30C86B90e7409Dc2d1ba40b](https://etherscan.io/address/0x72abD6416Ea2d99ad30C86B90e7409Dc2d1ba40b#code), [0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615](https://etherscan.io/address/0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615#code) (Implementation (Upgradable)), [0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3](https://etherscan.io/address/0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-12-18 06:02 UTC, deployment of [GlobalExitRoot](https://etherscan.io/address/0x72abD6416Ea2d99ad30C86B90e7409Dc2d1ba40b#code): transaction [0x4e28f8a72e2c30b692920184f37ffd953bfdcc89b907a1284fbb986aad9bc686](https://etherscan.io/tx/0x4e28f8a72e2c30b692920184f37ffd953bfdcc89b907a1284fbb986aad9bc686), implementations: [0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615](https://etherscan.io/address/0xC4CD3D0b31904969a397A98AcE8bDF2A94ba8615#code) Synchronizes deposit and withdraw merkle trees across L1 and L2. The global root from this contract is injected into the L2 contract. Can be upgraded by: ZKFairAdmin with 1d delay **Upgrade details** Non-emergency validium upgrades require a 1d timelock. Emergency upgrades bypass that delay. The token bridge has separate administrative controls. #### FflonkVerifier Addresses: [0x769E285d2120472c3400A09684B82A842012F46d](https://etherscan.io/address/0x769E285d2120472c3400A09684B82A842012F46d#code) An autogenerated contract that verifies ZK proofs in the ZKFairValidium system. #### ZKFairValidiumDAC Addresses: [0x997CfB0838544f68E59f877EDc905001456F125b](https://etherscan.io/address/0x997CfB0838544f68E59f877EDc905001456F125b#code), [0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc](https://etherscan.io/address/0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc#code) (Implementation (Upgradable)), [0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3](https://etherscan.io/address/0xb57b9101dEc7dC1635B576fFf71F2f522C970EF3#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-12-18 06:01 UTC, deployment of [ZKFairValidiumDAC](https://etherscan.io/address/0x997CfB0838544f68E59f877EDc905001456F125b#code): transaction [0xc32e3c87473e1564ad91461787c42867d6793e330617ca806ea1357c40fc4cba](https://etherscan.io/tx/0xc32e3c87473e1564ad91461787c42867d6793e330617ca806ea1357c40fc4cba), implementations: [0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc](https://etherscan.io/address/0x63150fA72c1c9fF8Fe4438f8355927D3415b0FDc#code) Committee attesting that data for a given dataRoot has been published. The DAC Owner can update the member set at any time. Can be upgraded by: ZKFairAdmin with 1d delay **Upgrade details** Non-emergency validium upgrades require a 1d timelock. Emergency upgrades bypass that delay. The token bridge has separate administrative controls. #### Timelock Addresses: [0x52882c7564fAca480549145fAc4d0b09eD0D9c17](https://etherscan.io/address/0x52882c7564fAca480549145fAc4d0b09eD0D9c17#code) Contract upgrades have to go through a 1d timelock unless the Emergency State is activated. It is controlled by the TimelockExecutor. The current deployment carries some associated risks: - Funds can be stolen if the bridge administration changes withdrawal permissions or asset routes without delay.