Search

Search for projects by name

INTMAX logoINTMAX

Badges

About

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


  • Total Value SecuredTVS
    $2.27 M15.5%
  • Past day UOPSDaily UOPS
    No data
  • Stage
  • Type
    ZK Rollup

  • Purpose
    Payments
  • Host chain
    Scroll

  • Tokens breakdown

    Value secured breakdown

    View TVS breakdown
    Sequencer failureState validationData availabilityExit windowProposer failure

    About

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

    Value Secured

    2025 Jun 22 — Aug 06


    Total value securedTotal
    $2.27 M15.5%
    Canonically BridgedCanonically Bridged ValueCanonical
    $2.27 M15.5%
    Natively MintedNatively Minted TokensNative
    $0.000.00%
    Externally BridgedExternally Bridged ValueExternal
    $0.000.00%
    Risk summary
    There are 2 additional risks coming from the hostchain Scroll logoScroll
    This project includes unverified contracts.
    (CRITICAL)
    Risk analysis
    The L3 risks depend on the individual properties of L3 and those of the host chain combined.
    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 sequencer failure, users can force transactions to be included in the project’s chain by sending them to L1. There can be up to a 7d delay on this operation. Proposing new blocks requires creating ZK proofs.

    State validation
    Validity proofs (SN)

    SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setup.

    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 regular upgrade since contracts are instantly upgradable.

    Proposer failure
    Self propose

    If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge.

    Rollup stageINTMAXINTMAX is a
    Stage 0
    ZK Rollup.

    Learn more about Rollup stages
    Please keep in mind that these stages do not reflect rollup security, this is an opinionated assessment of rollup 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.
    Data availability

    All data required for payments is self-custodied by users

    INTMAX uses a self-custodied data availability 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 blocks 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
    State validation

    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
    Operator
    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 blocks. This activity is permissionless and open to anyone.

    1. INTMAX Block Builder - INTMAX docs
    Withdrawals
    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 L3 on Scroll, funds are stored on Ethereum.

    1. Withdrawal aggregator - Github repository
    Other considerations

    Deposits are gated by Predicate AVS (AML)

    Deposits must be signed by a Predicate AVS operator 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
    Permissions
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    • Can upgrade with no delay
      • PredicateServiceManager
    PredicateServiceManager 0xf6f4…B0d2
    • Can interact with Liquidity
      • approves deposits through AML checks
    INTMAX Multisig 1 0xA3C2…42DD

    A Multisig with 3/5 threshold.

    Participants (5):

    EOA 2EOA 1EOA 4EOA 5EOA 3
    INTMAX Multisig 3 0xe147…50Ea

    A Multisig with 1/5 threshold.

    Participants (5):

    EOA 2EOA 5EOA 3EOA 4EOA 1

    Member of INTMAX Multisig 1, INTMAX Multisig 3.

    • Can upgrade with no delay
      • PredicatePermitter

    Member of INTMAX Multisig 1, INTMAX Multisig 3.

    • Can upgrade with no delay
      • PredicatePermitter
    • 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

    Member of INTMAX Multisig 1, INTMAX Multisig 3.

    • Can upgrade with no delay
      • PredicatePermitter
    • Can interact with Liquidity
      • can relay deposits to the main rollup contract on Scroll

    Member of INTMAX Multisig 1, INTMAX Multisig 3.

    • Can upgrade with no delay
      • PredicatePermitter

    Member of INTMAX Multisig 1, INTMAX Multisig 3.

    • Can upgrade with no delay
      • PredicatePermitter

    Scroll

    Actors:

    INTMAX Multisig 2 0xA3C2…42DD

    A Multisig with 3/5 threshold.

    • Can upgrade with no delay
    • Can interact with Claim
    • 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
    Smart contracts
    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 4, EOA 5
      • getPredicateManager: PredicateServiceManager

    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.

    • Roles:
      • amlPermitter: PredicatePermitter; ultimately PredicateServiceManager
      • relayer: EOA 6
    • This contract can store any token.

    Scroll

    WithdrawalPlonkVerifier 0x1858…5734

    Main rollup contract used to submit blocks and process deposits. It saves block hashes to be then referenced by the Withdrawal contract.

    • Roles:
      • admin: INTMAX Multisig 2
    • Roles:
      • admin: INTMAX Multisig 2
      • owner: INTMAX Multisig 2
    • Roles:
      • admin: EOA 7
    Can be upgraded by:

    Contract handling withdrawal requests, which require a validity proof of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals.

    • Roles:
      • admin: INTMAX Multisig 2
      • owner: INTMAX Multisig 2
    ClaimPlonkVerifier 0xaBA5…Ee0a

    Value Secured is calculated based on these smart contracts and tokens:

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

    • Funds can be stolen if the source code of unverified contracts contains malicious code (CRITICAL).