Search for projects by name or address
Legacy withdrawals on this version of INTMAX2 are suspended after a cryptographic vulnerability was discovered in the balance proof circuitA program written for the purpose of being proven within a proving system. A circuit is a mathematical representation of the computation to be executed, arithmetic circuits and zkVM execution trace are examples of circuits. Circuits can be written in different languages, ranging from low-level to high-level.. No exploitation has been observed and funds remain secure in the Ethereum liquidity contract, but users are urged to exit via the new Exit system before assisted support ends. See the exit documentation and announcement for details.
INTMAX is a stateless Plasma-like ZK Rollup that enables private payments and minimal onchain costs.
INTMAX is a stateless Plasma-like ZK Rollup that enables private payments and minimal onchain costs.
INTMAX operation paused
2026 Feb 7th
Due to technical problems with ZK proving system, INTMAX L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. operation was paused and users were encouraged to withdraw deposited tokens.
INTMAX mainnet officially launched
2025 Jun 26th
After a testnet launch in December 2024, INTMAX publicly launches its mainnet.
| SEQUENCER FAILURE | STATE VALIDATION | DATA AVAILABILITY | EXIT WINDOW | PROPOSER FAILURE | |
| Scroll L2 | Self sequence | Validity proofs (ST, SN) | Onchain | None | Self propose |
| INTMAX L3 • Individual | Self sequence | Validity proofs (SN) | Self custodied | None | Self propose |
| INTMAX L3 • Combined | Self sequence | Validity proofs (SN) | Self custodied | None | Self propose |
In the event of a sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. failure, users can force transactions to be included in the project’s chain by sending them to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. There can be up to a 7d delay on this operation. Proposing new blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. requires creating ZK proofs.
SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits..
All data required for payments and withdrawals is self custodied by users.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
If the ProposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. fails, users can leverage the source available proverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract. to submit proofs to the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge..
INTMAX uses a self-custodied data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. model where users maintain their own “balance proofs” to allow for private payments. These balance proofs are computed using data received from aggregators when depositing or initiating a transfer, and from payment senders when receiving funds. The protocol ensures that all data has been made available by requiring users to sign off blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. that contain their deposits or outgoing transfers. Users would not accept payments if they have not received the necessary balance proof from the sender.
Funds can be lost if users lose the self-custodied data required to prove their balance.
INTMAX uses validity proofs to ensure that users cannot withdraw more than they have. For every transfer made, a ZK proof is required to prove the amount that has been transferred to be subtracted from the sender’s balance. If the user does not provide the proof, the balance is considered zero. For received funds, the user must provide the corresponding balance proofs as well, but if the sender has not provided the proof, the user can still withdraw the remaining balance.
The source code of the circuits can be found here.
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
Verified the sources of a proxy admin contract, permissions auto resolved for its Safe owner.
Verified the sources of a proxy admin contract, permissions auto resolved for its Safe owner.
| contract ProxyAdmin (eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601) [global/ProxyAdmin] { | |
| +++ description: None | |
| name: | |
| - | "" |
| + | "ProxyAdmin" |
| unverified: | |
| - | true |
| receivedPermissions: | |
| - | [{"permission":"upgrade","from":"eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2","role":"admin"}] |
| values.owner: | |
| + | "eth:0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE" |
| values.UPGRADE_INTERFACE_VERSION: | |
| + | "5.0.0" |
| implementationNames.eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601: | |
| - | "" |
| + | "ProxyAdmin" |
| template: | |
| + | "global/ProxyAdmin" |
| sourceHashes: | |
| + | ["0x8fd8f837bb320bd2a7463c103bea2ff207b0969b5795f320a6c868858aa92074"] |
| directlyReceivedPermissions: | |
| + | [{"permission":"upgrade","from":"eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2","role":"admin"}] |
| } | |
Upgraded Liquidity to LiquidityV2 and deployed a new Exit contract, introducing a timelocked exit mechanism. LiquidityV2 extends the original Liquidity contract with a new exitTransfer function gated by an EXIT ROLE , which can transfer any token type (ETH, ERC20, ERC721, ERC1155) from the contract: https://disco.l2beat.com/diff/eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9/eth:0x890662DF84603CcF62b940292252BDd3aa0b5382 New Exit contract (eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B) holds the EXIT ROLE and implements a timelocked withdrawal flow: - SUBMITTER ROLE (backend) submits withdrawal requests with recipient, token, and amount - 24-hour timelock before execution - After timelock, anyone can execute permissionlessly via executeRequest() - GUARDIAN ROLE can cancel requests during timelock and pause the contract - Execution calls LIQUIDITY.exitTransfer() to transfer tokens from LiquidityV2 Note: LiquidityV2 remains paused (from Feb 10 update), so deposits/relaying are still disabled, but the Exit contract is active and processing withdrawal requests.
Upgraded Liquidity to LiquidityV2 and deployed a new Exit contract, introducing a timelocked exit mechanism.
LiquidityV2 extends the original Liquidity contract with a new exitTransfer function gated by an EXIT_ROLE, which can transfer any token type (ETH, ERC20, ERC721, ERC1155) from the contract: https://disco.l2beat.com/diff/eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9/eth:0x890662DF84603CcF62b940292252BDd3aa0b5382
New Exit contract (eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B) holds the EXIT_ROLE and implements a timelocked withdrawal flow:
executeRequest()LIQUIDITY.exitTransfer() to transfer tokens from LiquidityV2Note: LiquidityV2 remains paused (from Feb 10 update), so deposits/relaying are still disabled, but the Exit contract is active and processing withdrawal requests.
| contract LiquidityV2 (eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3) { | |
| +++ description: Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollup contract on Scroll. Deposits are gated by an AML check. The V2 upgrade adds an exitTransfer function, gated by an EXIT_ROLE, that can transfer any token type from the contract. | |
| name: | |
| - | "Liquidity" |
| + | "LiquidityV2" |
| sourceHashes.1: | |
| - | "0xf23a0f0c4af93cdcb226ce3de63c8ed56ce4267448a659414e5a459b4e5b94db" |
| + | "0xbfcd0c18579ccd70e1bdf498b14c4f017af16483f44f45015752901149ef0668" |
| values.$implementation: | |
| - | "eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9" |
| + | "eth:0x890662DF84603CcF62b940292252BDd3aa0b5382" |
| values.$pastUpgrades.4: | |
| + | ["2026-02-15T09:41:11.000Z","0x7ae0a3b4f0284d10ee582d9f28124a5798fb68f4f5ecdeddcd915d77abf30799",["eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"]] |
| values.$upgradeCount: | |
| - | 4 |
| + | 5 |
| values.accessControl.EXIT: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B"]} |
| values.EXIT_ROLE: | |
| + | "0xa5e2908dfcbbc823d163e6a6cb40ec3285fe62c08afd9b92045ead9eed2f77db" |
| implementationNames.eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9: | |
| - | "Liquidity" |
| implementationNames.eth:0x890662DF84603CcF62b940292252BDd3aa0b5382: | |
| + | "LiquidityV2" |
| } | |
| + | Status: CREATED |
| contract Exit (eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B) | |
| +++ description: Timelocked exit mechanism. SUBMITTER_ROLE queues withdrawal requests with a 24-hour timelock, after which anyone can execute them permissionlessly. GUARDIAN_ROLE can cancel pending requests and pause the contract. | |
Paused the operation of Intmax L3. In particular: - Added functionality to pause withdrawals for the main contract on Ethereum: https://disco.l2beat.com/diff/eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA/eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9. - Also added functionality to pause block posting on the rollup contract on scroll: https://disco.l2beat.com/diff/scr:0xF34299210fB8505232649e9BEa14a84DD75e746b/scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820. - Updated circuitDigest on withdrawal contract, which prevents submission of withdrawal validity proofs. - Paused Liquidity contract (no deposits/withdrawals possible now) - Paused Rollup contract (no blocks could be posted)
Paused the operation of Intmax L3. In particular:
Added functionality to pause withdrawals for the main contract on Ethereum: https://disco.l2beat.com/diff/eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA/eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9.
Also added functionality to pause block posting on the rollup contract on scroll: https://disco.l2beat.com/diff/scr:0xF34299210fB8505232649e9BEa14a84DD75e746b/scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820.
Updated circuitDigest on withdrawal contract, which prevents submission of withdrawal validity proofs.
Paused Liquidity contract (no deposits/withdrawals possible now)
Paused Rollup contract (no blocks could be posted)
| contract Liquidity (eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3) { | |
| +++ description: Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollup contract on Scroll. Deposits are gated by an AML check. | |
| sourceHashes.1: | |
| - | "0xe050f1745884847699cff3db5506410a82629972bb6fd8a52199442b01351485" |
| + | "0xf23a0f0c4af93cdcb226ce3de63c8ed56ce4267448a659414e5a459b4e5b94db" |
| values.$implementation: | |
| - | "eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA" |
| + | "eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9" |
| values.$pastUpgrades.3: | |
| + | ["2026-02-07T14:29:35.000Z","0x95073b3d48f892101baf0c2e857a0b0b8f72dd6ae5fdfecd49c0814dfec4cd69",["eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9"]] |
| values.$upgradeCount: | |
| - | 3 |
| + | 4 |
| values.accessControl.WITHDRAWAL.members.0: | |
| - | "eth:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449" |
| values.accessControl.WITHDRAWAL.members.1: | |
| - | "eth:0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5" |
| values.paused: | |
| - | false |
| + | true |
| implementationNames.eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA: | |
| - | "Liquidity" |
| implementationNames.eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9: | |
| + | "Liquidity" |
| } | |
| contract Rollup (scr:0x1c88459D014e571c332BF9199aD2D35C93219A2e) { | |
| +++ description: Main rollup contract used to submit blocks and process deposits. It saves block hashes to be then referenced by the Withdrawal contract. | |
| sourceHashes.1: | |
| - | "0xfbb7d02542bc666f4b049d5138aced4257fcc21b784009966f830eae7b197643" |
| + | "0x210e1b4c7ca45694431b4a558e68cf0fc6e9c0f1444fe91538af462e050f3604" |
| values.$implementation: | |
| - | "scr:0xF34299210fB8505232649e9BEa14a84DD75e746b" |
| + | "scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820" |
| values.$pastUpgrades.1: | |
| + | ["2026-02-10T09:51:40.000Z","0xbd41e060791e0e158dc07aafdfb52c0e26c76ea9193852ab9d4d5c8eb9e9fe70",["scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.paused: | |
| + | true |
| implementationNames.scr:0xF34299210fB8505232649e9BEa14a84DD75e746b: | |
| - | "Rollup" |
| implementationNames.scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820: | |
| + | "Rollup" |
| } | |
| contract Withdrawal (scr:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449) { | |
| +++ description: Contract handling withdrawal requests, which require a validity proof of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals. | |
| values.circuitDigest: | |
| - | "10639849666975086414110868463771120369189468607622759510754735453420311446140" |
| + | 0 |
| } | |
PredicateServiceManager aggregator EOA ( 0x38f6001e8ac11240f903CBa56aFF72A1425ae371 ) revoked its EIP7702 delegation, returning to a standard EOA. Ownership of the PredicateServiceManager transferred back to a 4/4 multisig ( 0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE ) from the previous EOA owner (3 new EOAs added).
PredicateServiceManager aggregator EOA (0x38f6001e8ac11240f903CBa56aFF72A1425ae371) revoked its EIP7702 delegation, returning to a standard EOA. Ownership of the PredicateServiceManager transferred back to a 4/4 multisig (0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE) from the previous EOA owner (3 new EOAs added).
| EOA (eth:0x38f6001e8ac11240f903CBa56aFF72A1425ae371) { | |
| +++ description: None | |
| unverified: | |
| - | true |
| proxyType: | |
| - | "EIP7702 EOA" |
| + | "EOA" |
| values: | |
| - | {"$implementation":"eth:0x933779eeC34310cc14b268C025AD4D0baf6D26De"} |
| } | |
| contract PredicateServiceManager (eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2) { | |
| +++ description: None | |
| values.owner: | |
| - | "eth:0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c" |
| + | "eth:0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE" |
| } | |
| EOA (eth:0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c) { | |
| +++ description: None | |
| receivedPermissions: | |
| - | [{"permission":"interact","from":"eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2","description":"can add and remove permissioned operators, deregister regular operators, register new policies, override existing policies, and in general manage the AVS (e.g. thresholds, strategies) and the connection to EigenLayer.","role":".owner"}] |
| } | |
| + | Status: CREATED |
| contract GnosisSafe (eth:0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE) | |
| +++ description: None | |
PredicateServiceManager aggregator 7702-delegated to unverified smart contract.
PredicateServiceManager aggregator 7702-delegated to unverified smart contract.
| EOA (eth:0x38f6001e8ac11240f903CBa56aFF72A1425ae371) { | |
| +++ description: None | |
| sourceHashes: | |
| - | ["0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf"] |
| values.$implementation: | |
| - | "eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B" |
| + | "eth:0x933779eeC34310cc14b268C025AD4D0baf6D26De" |
| values.delegationManager: | |
| - | "eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3" |
| values.DOMAIN_VERSION: | |
| - | "1" |
| values.eip712Domain: | |
| - | {"fields":"0x0f","name":"EIP7702StatelessDeleGator","version":"1","chainId":1,"verifyingContract":"eth:0x38f6001e8ac11240f903CBa56aFF72A1425ae371","salt":"0x0000000000000000000000000000000000000000000000000000000000000000","extensions":[]} |
| values.entryPoint: | |
| - | "eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032" |
| values.getDeposit: | |
| - | 0 |
| values.getDomainHash: | |
| - | "0x7cf15dd1293c71ee6a4c120c19c7a2943ac93931c9c12066915c2efedf0f9e1c" |
| values.getNonce: | |
| - | 0 |
| values.NAME: | |
| - | "EIP7702StatelessDeleGator" |
| values.PACKED_USER_OP_TYPEHASH: | |
| - | "0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18" |
| values.VERSION: | |
| - | "1.3.0" |
| unverified: | |
| + | true |
| } | |
There is no privileged entity that sequences transactions or produces blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.. This activity is permissionlessAnyone willing should be able to join and leave the network at any time, without causing significant disturbance to the network or being detrimental to the party in question. No single entity should have the power to allowlist or blocklist participants. and open to anyone.
Users can autonomously exit by providing a ZK proof of sufficient balance. This requires keeping track of all funds received and sent. While INTMAX is technically an L3Intuitively, L3s are projects that follow a similar structure to the L2 <> L1 structure but with an L2 underneath. It's not entirely defined yet if this implies that the token escrow must be on the L2, or the proof system. Also, certain cases like projects using aggregation layers make the distinction between L2 and L3 fuzzy as certain components start to look less like a traditional blockchain. How to properly define what is a layer in the first place is still an open question. on Scroll, funds are stored on Ethereum.
Deposits must be signed by a Predicate AVS operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. to ensure compliance with Anti-Money Laundering (AML) regulations. When a user is onboarded, it cannot be then blocked from using the system.

A Multisig with 2/4 threshold.
A Multisig with 2/4 threshold.


Contract that connects INTMAX deposits to the Predicate AVS that ultimately checks AML requirements. It stores a policy ID to be then referenced by the Predicate AVS.
Timelocked exit mechanism. SUBMITTER_ROLE queues withdrawal requests with a 24-hour timelock, after which anyone can execute them permissionlessly. GUARDIAN_ROLE can cancel pending requests and pause the contract.
Records a set of ‘contribution’ actions by saving addresses with a tag of their action (e.g. propose blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over., claim withdrawals, deposit…).
Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. contract on Scroll. Deposits are gated by an AML check. The V2 upgrade adds an exitTransfer function, gated by an EXIT_ROLE, that can transfer any token type from the contract.
All supported tokens in this escrow are included in the value secured calculation.
Main rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. contract used to submit blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. and process deposits. It saves block hashes to be then referenced by the Withdrawal contract.
A wrapper verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. that can check both withdrawal zk proofs to exit from INTMAX networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. and zk proofs for claiming rewards of the privacy mining program.
Records a set of ‘contribution’ actions by saving addresses with a tag of their action (e.g. propose blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over., claim withdrawals, deposit…).
Contract handling withdrawal requests, which require a validity proofThe output of a cryptographic proving system attesting to correct computation. ZK-Rollups use succinct validity proofs (also called zero-knowledge proofs) to prove a batch of rollup transactions and blocks were properly executed. Validity proofs are submitted to a verifier, such as an Ethereum smart contract, which accepts them if properly constructed. of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals.
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).