Search for projects by name or address
RSS3 is retiring the Value Sublayer (VSL) and migrating to Ethereum. The L2 halted on April 24, 2026 and VSL bridge withdrawals have been paused. Previously-initiated withdrawals will be completed as part of the migration; $RSS3 on VSL will be migrated to Ethereum via a claim portal expected in the coming weeks ($POWER converts to $RSS3 at 23:1). See the official announcement.
The RSS3 Value Sublayer (VSL) as part of the RSS3 Network, is an Ethereum ScalingProject built with OP Stack, handling the value and ownership of AI and Open Information.
The RSS3 Value Sublayer (VSL) as part of the RSS3 Network, is an Ethereum ScalingProject built with OP Stack, handling the value and ownership of AI and Open Information.
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.
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 here.
2024 Mar 08 — 2026 Jun 24
The section shows the operating costs that L2s pay to Ethereum.
2024 Mar 08 — 2026 Jun 24
This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.
2024 Mar 08 — 2026 Jun 25
Currently the system permits invalid state roots. More details in project overview.
Proof construction and state derivation rely fully on data that is NOT published on chain.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.
Funds can be lost if the data is not made available on the external provider (CRITICAL).
Funds can be lost if the sequencer posts an unavailable or malicious transaction root (CRITICAL).
OP Stack projects can use the OP fault proof system, already being deployed on some. This project though is not using fault proofs yet and is relying on the honesty of the permissioned Proposer and Challengers to ensure state correctness. The smart contract system permits invalid state roots.
Funds can be stolen if an invalid state root is submitted to the system (CRITICAL).
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
RSS3 has announced the retirement of VSL and is migrating to Ethereum. On 2026-04-24 the L2 stopped producing blocks (last VSL block at 08:59 UTC), the L1 sequencer inbox went silent (last batch at 05:24 UTC), and the batcher EOA was swept to the RSS3 Multisig. VSL bridge withdrawals are paused; pending withdrawals will be completed as part of the migration and $RSS3 on VSL will be claimable on Ethereum via a portal in the coming weeks. Added a redWarning and incident milestone on the project. L1StandardBridge — operator sweep added and used (on-chain upgrade, new implementation 0x12665984... deployed 2026-04-17 and activated before the halt). The new impl sets operator = RSS3Multisig (0x8AC80fa0) and exposes an operator-only sweep(token, to, amount) that transfers any ERC-20 held by the bridge to an arbitrary address with no withdrawal proof or delay. On 2026-04-22 06:29 UTC (block 24933678) the operator used this to move the full bridge escrow to the RSS3 Multisig in a single batched sweep: ~464,630,520 RSS3, 1,023 USDC, 284 USDT, and 0.84 WETH. Mirrors the pre-existing OptimismPortal operator = WithdrawalOverwriterMultisig (which can rewrite withdrawal calldata on finalization). SystemConfig modeling fix (no on-chain upgrade — same impl 0x164883d4... as before). With the L2 halted, the batcher's last 10 outgoing txs include 3 consolidation transfers into the RSS3 Multisig (one of 33.45 ETH), dropping its top-address ratio to 7/10 = 0.70. That trips the standard opStackSequencerInbox handler's 80% qualification threshold, which derives sequencerInbox from the batcher's tx pattern, so the field errored out. Fixed via a new opstack/SystemConfig rss3 template variant (scoped to RSS3's SystemConfig via validAddresses ) that hardcodes sequencerInbox to 0xfFFF...12553 — the pre-halt discovered value, matching RSS3's chainId 12553 under the standard OP Stack predeploy convention and consistent with 47/50 (94%) of the batcher's outgoing txs over a 50-tx window going to that address. L1StandardBridge: diff
RSS3 has announced the retirement of VSL and is migrating to Ethereum. On 2026-04-24 the L2 stopped producing blocks (last VSL block at 08:59 UTC), the L1 sequencer inbox went silent (last batch at 05:24 UTC), and the batcher EOA was swept to the RSS3 Multisig. VSL bridge withdrawals are paused; pending withdrawals will be completed as part of the migration and $RSS3 on VSL will be claimable on Ethereum via a portal in the coming weeks. Added a redWarning and incident milestone on the project.
L1StandardBridge — operator sweep added and used (on-chain upgrade, new implementation 0x12665984... deployed 2026-04-17 and activated before the halt). The new impl sets operator = RSS3Multisig (0x8AC80fa0) and exposes an operator-only sweep(token, to, amount) that transfers any ERC-20 held by the bridge to an arbitrary address with no withdrawal proof or delay. On 2026-04-22 06:29 UTC (block 24933678) the operator used this to move the full bridge escrow to the RSS3 Multisig in a single batched sweep: ~464,630,520 RSS3, 1,023 USDC, 284 USDT, and 0.84 WETH. Mirrors the pre-existing OptimismPortal operator = WithdrawalOverwriterMultisig (which can rewrite withdrawal calldata on finalization).
SystemConfig modeling fix (no on-chain upgrade — same impl 0x164883d4... as before). With the L2 halted, the batcher’s last 10 outgoing txs include 3 consolidation transfers into the RSS3 Multisig (one of 33.45 ETH), dropping its top-address ratio to 7/10 = 0.70. That trips the standard opStackSequencerInbox handler’s 80% qualification threshold, which derives sequencerInbox from the batcher’s tx pattern, so the field errored out. Fixed via a new opstack/SystemConfig_rss3 template variant (scoped to RSS3’s SystemConfig via validAddresses) that hardcodes sequencerInbox to 0xfFFF...12553 — the pre-halt discovered value, matching RSS3’s chainId 12553 under the standard OP Stack predeploy convention and consistent with 47/50 (94%) of the batcher’s outgoing txs over a 50-tx window going to that address.
L1StandardBridge: diff
| contract ProxyAdmin (eth:0x1075B29e5F7a911128C77F3989702E150C988904) { | |
| +++ description: None | |
| directlyReceivedPermissions.3.role: | |
| - | ".$admin" |
| + | "admin" |
| directlyReceivedPermissions.3.description: | |
| - | "upgrading the bridge implementation can give access to all funds escrowed therein." |
| } |
| contract L1StandardBridge (eth:0x4cbab69108Aa72151EDa5A3c164eA86845f18438) { | |
| +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. RSS3 is retiring VSL: this fork of the L1StandardBridge adds an operator-only sweep(token, to, amount) that transfers any ERC-20 held by the bridge to an arbitrary address, with no withdrawal proof or delay. | |
| template: | |
| - | "opstack/L1StandardBridge" |
| sourceHashes.1: | |
| - | "0x6799eb37a55a04ec21fc5819a2f479c30a69b3e79258d12ac41c10342b9f76b1" |
| + | "0x4940bd1f0459679a56c4724a92058ea37f085b3bd72df87063c6c3f5b4381f5d" |
| values.$implementation: | |
| - | "eth:0xE27083804bFf17Ec05f4300a43b7c40F3E01e486" |
| + | "eth:0x12665984Ba38943C74D8504d4E8a41a96dE25E83" |
| values.operator: | |
| + | "eth:0x8AC80fa0993D95C9d6B8Cb494E561E6731038941" |
| implementationNames.eth:0xE27083804bFf17Ec05f4300a43b7c40F3E01e486: | |
| - | "L1StandardBridge" |
| implementationNames.eth:0x12665984Ba38943C74D8504d4E8a41a96dE25E83: | |
| + | "L1StandardBridge" |
| category: | |
| - | {"name":"Canonical Bridges","priority":2} |
| } |
| contract RSS3Multisig (eth:0x8AC80fa0993D95C9d6B8Cb494E561E6731038941) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| + | {"permission":"interact","from":"eth:0x4cbab69108Aa72151EDa5A3c164eA86845f18438","description":"can call sweep(token, to, amount) to transfer any ERC-20 held by the L1StandardBridge to an arbitrary address — the mechanism RSS3 is using to move bridge escrow during the VSL → Ethereum migration.","role":".operator"} |
| receivedPermissions.3.role: | |
| - | ".$admin" |
| + | "admin" |
| receivedPermissions.3.description: | |
| - | "upgrading the bridge implementation can give access to all funds escrowed therein." |
| } |
Changed batcher and proposer. L2OutputOracle — same code, implementation upgraded to change PROPOSER https://disco.l2beat.com/diff/eth:0x5Fe6BFbb2C2c78c0baF0bFbb86420903E2E9f8a5/eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30
Changed batcher and proposer.
L2OutputOracle — same code, implementation upgraded to change PROPOSER
https://disco.l2beat.com/diff/eth:0x5Fe6BFbb2C2c78c0baF0bFbb86420903E2E9f8a5/eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30
| contract SystemConfig (eth:0x80e73D6BfC73c567032304C3891a06c2d9954d09) { | |
| +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address. | |
| values.batcherHash: | |
| - | "eth:0x0244f7204b9c554306053Cc557e14D6Cbd40a33C" |
| + | "eth:0xC180574374b8FdE9C5b40E0d5D34946b228b7316" |
| } |
| contract L2OutputOracle (eth:0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10) { | |
| +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots. | |
| values.$implementation: | |
| - | "eth:0x5Fe6BFbb2C2c78c0baF0bFbb86420903E2E9f8a5" |
| + | "eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30" |
| values.$pastUpgrades.1: | |
| + | ["2025-10-09T08:59:47.000Z","0xef115941c77982c1142c03cdc3e41e8060a6c169d64deadd1d4eee73248cd353",["eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| +++ severity: HIGH | |
| values.proposer: | |
| - | "eth:0x0016b6bacD56a0D1DaFdA52d06B7eFe65AA0816a" |
| + | "eth:0xa5CB506D2de132006204183E2f1869575cA646Bd" |
| values.PROPOSER: | |
| - | "eth:0x0016b6bacD56a0D1DaFdA52d06B7eFe65AA0816a" |
| + | "eth:0xa5CB506D2de132006204183E2f1869575cA646Bd" |
| implementationNames.eth:0x5Fe6BFbb2C2c78c0baF0bFbb86420903E2E9f8a5: | |
| - | "L2OutputOracle" |
| implementationNames.eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30: | |
| + | "L2OutputOracle" |
| } |
OptimismPortal upgrade: An 'operator' address is introduced that can call a new finalizeWithdrawalTransaction() with additional arbitrary calldata that then replaces the calldata of the transaction being finalized. This allows arbitrary rerouting of funds or using legitimate withdrawals to make arbitrary (malicious) calls.
OptimismPortal upgrade: An ‘operator’ address is introduced that can call a new finalizeWithdrawalTransaction() with additional arbitrary calldata that then replaces the calldata of the transaction being finalized. This allows arbitrary rerouting of funds or using legitimate withdrawals to make arbitrary (malicious) calls.
| contract OptimismPortal (0x6A12432491bbbE8d3babf75F759766774C778Db4) { | |
| +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals. This fork of the OptimismPortal also allows an 'operator' address to overwrite the calldata of withdrawals on finalization, potentially stealing the withdrawn funds or calling arbitrary contracts. | |
| template: | |
| - | "opstack/OptimismPortal" |
| sourceHashes.1: | |
| - | "0x347fa20f8dfc82ef7433b3eb7915a248528d908fc77907c0d879f96a00106732" |
| + | "0x84fc56b8558ed12594b26997990b30e8da2a496417a7d467aa0e31e5281f9168" |
| issuedPermissions.2: | |
| + | {"permission":"upgrade","target":"0x8AC80fa0993D95C9d6B8Cb494E561E6731038941","via":[{"address":"0x1075B29e5F7a911128C77F3989702E150C988904","delay":0}]} |
| issuedPermissions.1.permission: | |
| - | "upgrade" |
| + | "guard" |
| issuedPermissions.1.target: | |
| - | "0x8AC80fa0993D95C9d6B8Cb494E561E6731038941" |
| + | "0x7ef00577fAAa44D0491970D6516eB7b90EC3c80E" |
| issuedPermissions.1.via.0: | |
| - | {"address":"0x1075B29e5F7a911128C77F3989702E150C988904","delay":0} |
| issuedPermissions.0.permission: | |
| - | "guard" |
| + | "configure" |
| issuedPermissions.0.target: | |
| - | "0x7ef00577fAAa44D0491970D6516eB7b90EC3c80E" |
| + | "0xC4f81F990b47c12144e74A901162A2cFDf4b5a9d" |
| values.$implementation: | |
| - | "0xc5b17F1DF579D033DB17174B837fe4D2dF05b050" |
| + | "0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b" |
| values.$pastUpgrades.1: | |
| + | ["2024-10-22T16:54:35.000Z","0x8a4278f30ca52243ebf1afe80f5ec3edcb73f34f9e826f8523c30029bbd7fbd8",["0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.operator: | |
| + | "0xC4f81F990b47c12144e74A901162A2cFDf4b5a9d" |
| } |
| + | Status: CREATED |
| contract WithdrawalOverwriterMultisig (0xC4f81F990b47c12144e74A901162A2cFDf4b5a9d) | |
| +++ description: None |
Provide description of changes. This section will be preserved.
Provide description of changes. This section will be preserved.
| + | Status: CREATED |
| contract ProxyAdmin (0x1075B29e5F7a911128C77F3989702E150C988904) | |
| +++ description: None |
| + | Status: CREATED |
| contract OptimismMintableERC20Factory (0x1D89222C28C3ba471be822203998f27Df4727C0b) | |
| +++ description: None |
| + | Status: CREATED |
| contract SuperchainConfig (0x3e5FaB39eD4eFB4fc29A5201059AE819f2f0418A) | |
| +++ description: None |
| + | Status: CREATED |
| contract L1StandardBridge (0x4cbab69108Aa72151EDa5A3c164eA86845f18438) | |
| +++ description: None |
| + | Status: CREATED |
| contract OptimismPortal (0x6A12432491bbbE8d3babf75F759766774C778Db4) | |
| +++ description: None |
| + | Status: CREATED |
| contract AddressManager (0x75D340E5BF2eAbC39A04AF4229Ce7875B4A73B03) | |
| +++ description: None |
| + | Status: CREATED |
| contract SystemConfig (0x80e73D6BfC73c567032304C3891a06c2d9954d09) | |
| +++ description: None |
| + | Status: CREATED |
| contract L1CrossDomainMessenger (0x892CAa506c86C5101f5eC11C6f09589c9dC8A85C) | |
| +++ description: None |
| + | Status: CREATED |
| contract RSS3Multisig (0x8AC80fa0993D95C9d6B8Cb494E561E6731038941) | |
| +++ description: None |
| + | Status: CREATED |
| contract L1ERC721Bridge (0x938D0Bb4B584d4F6f793fCB7808cA2Eea15B69A8) | |
| +++ description: None |
| + | Status: CREATED |
| contract L2OutputOracle (0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10) | |
| +++ description: None |
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.
Funds can be frozen if the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production (CRITICAL).
If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.
OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.

A Multisig with 3/5 threshold.
A Multisig with 3/5 threshold.


Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.
This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the PAUSED_SLOT, a boolean value indicating whether the local chain is paused, and GUARDIAN_SLOT, the address of the guardian which can pause and unpause the system.
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.
Used to bridge ERC-721 tokens from host chain to this chain.
The main entry point to deposit ERC20 tokens from host chain to this chain. RSS3 is retiring VSL: this fork of the L1StandardBridge adds an operator-only sweep(token, to, amount) that transfers any ERC-20 held by the bridge to an arbitrary address, with no withdrawal proof or delay.
All supported tokens in this escrow are included in the value secured calculation.
The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals. This fork of the OptimismPortal also allows an ‘operator’ address to overwrite the calldata of withdrawals on finalization, potentially stealing the withdrawn funds or calling arbitrary contracts.

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