Search

Search for projects by name

Forknet logo
Forknet

Badges

About

An onchain order book DEX for spot and perpetuals, built on CDK OP Stack and natively integrated with Agglayer for unified liquidity.


  • Total Value SecuredTVS
    $1.11 K94.0%
  • Past day UOPSDaily UOPS
    No data
  • Type
    Other
  • Purpose
    Universal

  • Chain ID
    8338

  • Tokens breakdown

    Value secured breakdown

    View TVS breakdown
    Sequencer failureState validationData availabilityExit windowProposer failure

    About

    An onchain order book DEX for spot and perpetuals, built on CDK OP Stack and natively integrated with Agglayer for unified liquidity.

    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.

    Learn more about the recategorisation here.


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

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other

    2025 Sep 03 — Nov 03

    Past Day UOPS
    No data
    Past Day Ops count
    No data
    Max. UOPS
    <0.01
    2025 Sep 04
    Past day UOPS/TPS Ratio
    No data

    Forknet Launch

    2024 Sep 25th

    Forknet is live on mainnet, integrated with Agglayer.

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    No mechanism

    There is no mechanism to have transactions be included if the sequencer is down or censoring.

    State validation
    None

    Currently the system permits invalid state roots. ‘Pessimistic’ proofs only validate the bridge accounting.

    Data availability
    Onchain

    All of the data needed for proof construction is published on Ethereum L1.

    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
    Cannot withdraw

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.

    Shared bridge and Pessimistic Proofs

    Polygon Agglayer uses a shared bridge escrow for Rollups, Validiums and external chains that opt in to participate in interoperability. Each participating chain needs to provide zk proofs to access any assets in the shared bridge. In addition to the full execution proofs that are used for the state validation of Rollups and Validiums, accounting proofs over the bridges state (Polygon calls them ‘Pessimistic Proofs’) are used by external chains (‘cdk-sovereign’ and aggchains). Using the SP1 zkVM by Succinct, projects without a full proof system on Ethereum or custom proof systems are able to share the bridge with the zkEVM Agglayer projects.

    • Funds can be lost if the accounting proof system for the bridge (pessimistic proofs, SP1) is implemented incorrectly.

    • Funds can be stolen if the operator manipulates the L2 state, which is not validated on Ethereum (CRITICAL).

    1. Pessimistic Proof - Polygon Knowledge Layer
    2. Etherscan: AgglayerManager.sol - verifyPessimisticTrustedAggregator() function
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Roles:

    Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless).

    Used in:
    Sequencer EOA 1

    Allowed to commit transactions from the current layer to the host chain.

    Trusted Aggregator (Proposer) (2) EOA 4EOA 5

    Permissioned to post new state roots and global exit roots accompanied by ZK proofs.

    Actors:

    PolygonAdminMultisig 0x242d…3e21

    A Multisig with 5/12 threshold.

    • Can upgrade with 3d delay
      • AgglayerGateway
      • AgglayerBridge
      • AgglayerManager
      • AgglayerGER
    • Can interact with AgglayerGateway
      • add new routes from proof selector to verifier / pessimisticVkey for pessimistic proofs with 3d delay
      • add or update default aggchain verification keys (aggchainVkey) for any given selectors
      • change the aggchainSigners and threshold (a multisig used for permissioned state transitions)
      • freeze routes from proof selector to verifier / pessimisticVkey for pessimistic proofs
    • Can interact with AgglayerBridge
      • upgrade the implementation of wrapped tokens deployed by the bridge with 3d delay
    • Can interact with AgglayerManager
      • deploy new projects that use predefined rollup types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager
      • manage all access control roles, add new rollup types (which are implementation contracts that can then be upgraded to by connected projects), update any connected projects to new rollup types, migrate to pessimistic proofs and rollback batches, connect existing rollups to the PolygonRollupManager with 3d delay
      • manage parameters like fees for all connected projects, set the trusted aggregator, stop the emergency state, update projects and obsolete rollup types
    • Can interact with Timelock
      • propose, cancel and execute transactions in the timelock, manage all access control roles and change the minimum delay with 6d delay or with 3d delay
    Used in:
    Conduit Multisig 1 0x4a49…A746

    A Multisig with 4/10 threshold.

    • Can upgrade with no delay
      • AnchorStateRegistry
      • SuperchainConfig
      • OptimismMintableERC20Factory
      • SystemConfig
      • L1StandardBridge
      • DisputeGameFactory
      • L1CrossDomainMessenger
      • L1ERC721Bridge
      • OptimismPortal2
      • DelayedWETH
    • Can interact with AddressManager
      • set and change address mappings
    • Can interact with SystemConfig
      • it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system
    • Can interact with DelayedWETH
      • can pull funds from the contract in case of emergency
    • A Guardian - acting directly
    Used in:
    PolygonSecurityCouncil 0x37c5…Dcb6

    A Multisig with 6/8 threshold.

    • Can interact with AgglayerManager
      • activate the emergency state in the PolygonRollupManager and in the shared bridge immediately, effectively pausing all projects connected to them and making system contracts instantly upgradable
    Used in:
    PolygonCreateRollupMultisig 0xC74e…79dB

    A Multisig with 3/8 threshold.

    • Can interact with AgglayerManager
      • deploy new projects that use predefined rollup types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager
    Used in:

    Member of Conduit Multisig 1.

    • Can interact with AggchainECDSAMultisig
    • Can interact with AggchainECDSAMultisig
      • sign state transitions (replaces state validation for this aggchain)
    EOA 4 and EOA 5 (2) 0x20A5…51dE0x6329…f7ab
    • A trusted Aggregator - acting directly
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    System contract defining the forknet Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).

    • Roles:
      • admin: EOA 2
      • aggchainSigners: EOA 3
    Implementation used in:

    Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
      • batcherHash: EOA 1
      • owner: Conduit Multisig 1
    Implementation used in:

    The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:

    The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract disables the depositTransaction() function, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:

    A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.

    • Roles:
      • addPpRoute: Timelock; ultimately PolygonAdminMultisig
      • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
      • aggchainDefaultVKey: PolygonAdminMultisig
      • alMultisig: PolygonAdminMultisig
      • freezePpRoute: PolygonAdminMultisig
    Proxy used in:

    The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.

    • Roles:
      • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
      • proxiedTokensManager: Timelock; ultimately PolygonAdminMultisig
    • This contract can store any token.
    Proxy used in:

    The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the ‘Emergency State’. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.

    • Roles:
      • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
      • createRollup: PolygonAdminMultisig, PolygonCreateRollupMultisig
      • defaultAdmin: Timelock; ultimately PolygonAdminMultisig
      • emergencyCouncilAdmin: PolygonSecurityCouncil
      • trustedAggregator: EOA 4, EOA 5
      • tweakParameters: PolygonAdminMultisig
    Proxy used in:

    A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the ‘global exit root’. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.

    • Roles:
      • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
    Proxy used in:
    Timelock 0xEf14…A4EF

    A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.

    • Roles:
      • timelockAdmin: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)
    Implementation used in:

    The main entry point to deposit ERC20 tokens from host chain to this chain.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:

    Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain’s epoch gas limit, it can be resubmitted via this contract’s replay function.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:

    Used to bridge ERC-721 tokens from host chain to this chain.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:

    Contains the latest confirmed state root that can be used as a starting point in a dispute game.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:
    PreimageOracle 0x1fb8…aDD3

    The PreimageOracle contract is used to load the required data from L1 for a dispute game.

    Implementation used in:

    A helper contract that generates OptimismMintableERC20 contracts on the network it’s deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain’s representation of a token on the host chain, or vice-versa.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
    Implementation used in:
    ProxyAdmin 0xb489…d0b5
    • Roles:
      • owner: Conduit Multisig 1
    Implementation used in:
    PermissionedDisputeGame 0xd102…C2AC

    Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger. In the context of this permissioned aggkit deployment, there are no state proposals made here and the op stack fault proof system is not used.

    Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.

    • Roles:
      • admin: ProxyAdmin; ultimately Conduit Multisig 1
      • owner: Conduit Multisig 1
    Implementation used in:
    ProxyAdmin 0xEfBb…a5A0
    • Roles:
      • owner: Conduit Multisig 1

    The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.

    Implementation used in:
    SP1Verifier 0x0459…C459

    Verifier contract for SP1 proofs (v5.0.0).

    Implementation used in:
    SharedProxyAdmin 0x0F99…CC4A
    • Roles:
      • owner: Timelock
    Implementation used in:
    BridgeLib 0x3622…8aB3

    Extension contract of the AgglayerBridge for asset metadata…

    Implementation used in:

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

    Proxy used in:

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

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x00ef...cc30
    Code unknown
    Unknown
    0x0000...b639
    Code unknown
    Unknown