Search

Search for projects by name or address

INTMAX logo
INTMAX

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.

Badges

About

INTMAX is a stateless Plasma-like ZK Rollup that enables private payments and minimal onchain costs.



Badges

About

INTMAX is a stateless Plasma-like ZK Rollup that enables private payments and minimal onchain costs.


Total
Canonically BridgedCanonically Bridged ValueCanonical
Natively MintedNatively Minted TokensNative
Externally BridgedExternally Bridged ValueExternal

ETH & derivatives
Stablecoins
BTC & derivatives
Other
Compare with other projects

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.

Learn more

INTMAX mainnet officially launched

2025 Jun 26th

After a testnet launch in December 2024, INTMAX publicly launches its mainnet.

Learn more
The L3 risks depend on the individual properties of L3 and those of the host chain combined.
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.
SEQUENCER
FAILURE
STATE
VALIDATION
DATA
AVAILABILITY
EXIT WINDOWPROPOSER
FAILURE
Scroll
L2
Self sequenceValidity proofs (ST, SN)OnchainNoneSelf propose
INTMAX
L3 • Individual
Self sequenceValidity proofs (SN)Self custodiedNoneSelf propose
INTMAX
L3 • Combined
Self sequenceValidity proofs (SN)Self custodiedNoneSelf propose
L2 & L3 individual risks
Sequencer failureState validationData availabilityExit windowProposer failure
L3 combined risks
Sequencer failureState validationData availabilityExit windowProposer failure

L3 combined risks
The information below reflects combined L2 & L3 risks.
Sequencer failure
Self sequence

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.

State validation
Validity proofs (SN)

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..

Data availability
Self custodied

All data required for payments and withdrawals is self custodied by users.

Exit window
None

There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

Proposer failure
Self propose

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
INTMAX is a
Stage 0
Appchain
ZK Rollup.

Learn more about Stages
Please keep in mind that these stages do not reflect project security, this is an opinionated assessment of project maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.

All data required for payments is self-custodied by users

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.

  1. INTMAX Whitepaper

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.


ZK Circuits

The source code of the circuits can be found here.

  1. INTMAX Whitepaper
  2. intmax2-zkp - Github repository
PROVER

Trusted Setups

Onchain verifier

Used in

INTMAX logo

Onchain verifier

Used in

INTMAX logo

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
7
Last upgrade
7mo 15d ago
Avg upgrade interval
5mo 12d
2026 August 20, 12:56 UTC
9changes

Verified the sources of a proxy admin contract, permissions auto resolved for its Safe owner.

New and verified contracts

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"}]
}
2026 February 16, 22:14 UTC
High severity
10changes

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.

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.
2026 February 10, 11:47 UTC
High severity
17changes

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
}
2026 January 12, 11:19 UTC
High severity
6changes

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
2026 January 07, 11:04 UTC
High severity
13changes

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
}
The section considers only the L3 properties. For more details please refer to Scroll logoScroll

There is no central operator

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.

  1. INTMAX Block Builder - INTMAX docs
The section considers only the L3 properties. For more details please refer to Scroll logoScroll

Users can autonomously exit their funds

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.

  1. Withdrawal aggregator - Github repository

Deposits are gated by Predicate AVS (AML)

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.

  1. Predicate docs
A dashboard to explore contracts and permissions
Go to Disco
Disco UI Banner

Ethereum

Actors:

GnosisSafe0x8A3c…6fdE

A Multisig with 2/4 threshold.

  • Can upgrade with no delay
    • PredicateServiceManager
  • Can interact with PredicateServiceManager
    • 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
PredicateServiceManager0xf6f4…B0d2
  • Can interact with LiquidityV2
    • approves deposits through AML checks
INTMAX Multisig 10xA3C2…42DD

A Multisig with 2/4 threshold.

Participants (4):

EOA 2EOA 1EOA 5EOA 3
INTMAX Multisig 30xe147…50Ea

A Multisig with 1/4 threshold.

Participants (4):

EOA 2EOA 3EOA 5EOA 1

Member of INTMAX Multisig 1, INTMAX Multisig 3.

  • Can upgrade with no delay
    • PredicatePermitter
  • Can interact with LiquidityV2
    • can relay deposits 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

Scroll

Actors:

INTMAX Multisig 20xA3C2…42DD

A Multisig with 2/4 threshold.

  • Can upgrade with no delay
    • 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.
    • Claim
    • Withdrawal
  • Can interact with Claim
    • can update the verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. address
  • Can interact with Withdrawal
    • can update the verifier address and the list of tokens that can be withdrawn automatically, in contrast to those that have to be actively claimed
  • Can upgrade with no delay
    • Contribution
A dashboard to explore contracts and permissions
Go to Disco
Disco UI Banner
A diagram of the smart contract architecture
A diagram of the smart contract architecture

Ethereum

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.

  • Roles:
    • admin: INTMAX Multisig 3; ultimately EOA 1, EOA 2, EOA 3, EOA 5
    • getPredicateManager: PredicateServiceManager

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…).

ProxyAdmin0x7153…f601
  • Roles:
    • owner: GnosisSafe

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.

  • Roles:
    • amlPermitter: PredicatePermitter; ultimately PredicateServiceManager
    • relayer: EOA 4

All supported tokens in this escrow are included in the value secured calculation.

Scroll

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.

  • Roles:
    • admin: INTMAX Multisig 2
PlonkVerifier0x1d38…423d

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.

  • Roles:
    • admin: INTMAX Multisig 2
    • owner: INTMAX Multisig 2

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…).

  • Roles:
    • admin: EOA 6
Can be upgraded by:

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.

  • Roles:
    • admin: INTMAX Multisig 2
    • owner: INTMAX Multisig 2

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).