Search for projects by name or address
Eclipse is a sidechain powered by the Solana Virtual Machine (SVM).
Eclipse is a sidechain powered by the Solana Virtual Machine (SVM).
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.
2025 May 28 — 2026 May 28
This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data to
Celestia.
2025 May 28 — 2026 May 28
There is no mechanism to have transactions be included if the sequencer is down or censoring.
Currently the system permits invalid state roots. More details in project overview.
Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client.
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.
Eclipse uses Celestia for data availability.
There is no automatic fallback mechanism to Ethereum for data availability. If Celestia becomes unavailable, the chain relies entirely on Celestia for transaction data recovery.
Funds can be frozen if celestia becomes unavailable and transaction data cannot be retrieved.
Eclipse implements a custom permissioned bridge. Withdrawals need to be actively authorized by a Multisig. Moreover, there is no mechanism to send arbitrary messages from Eclipse back to Ethereum. There is a 7d delay for withdrawals.
Users can be censored if the bridge operators decide not to mint tokens after observing a deposit.
Funds can be stolen if the Treasury owner decides to transfer the funds locked on L1.
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
- CanonicalBridgeV1 cannot be used to withdraw funds from Treasury anymore. - CanonicalBridgeV2 deactivated, replaced by CanonicalBridgeV3: the main change in V3 is new events via DepositedWithId and depositIndex, V3 can settle v1 and v2 pending withdrawals https://disco.l2beat.com/diff/eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51/eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a
| EOA (eth:0x1a84163249B2909f746C725F23D5ae2a66D7C4fE) { | |
| +++ description: None | |
| receivedPermissions.0.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } |
| - | Status: DELETED |
| contract CanonicalBridge (eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) | |
| +++ description: Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor. |
| contract Eclipse Multisig (eth:0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"authorize withdrawals to any address.","role":".withdrawAuthorityAC"} |
| receivedPermissions.1: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| receivedPermissions.2: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"pause the contract for deposits and withdrawals.","role":".pauserAC"} |
| receivedPermissions.3.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| receivedPermissions.4.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| receivedPermissions.5.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } |
| contract Eclipse Multisig 2 (eth:0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| - | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| } |
| - | Status: DELETED |
| contract CanonicalBridgeV2 (eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51) | |
| +++ description: Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor. |
| contract Treasury (eth:0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ description: Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridge operators to process deposits and authorize withdrawals. | |
| values.accessControl.DEPOSITOR_ROLE.members.1: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.0: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.2: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| values.withdrawerAC.0: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.withdrawerAC.2: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } |
| + | Status: CREATED |
| contract CanonicalBridgeV3 (eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a) | |
| +++ description: Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor. |
ms signer removed.
ms signer removed.
| contract Eclipse Multisig (eth:0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| values.$members.1: | |
| - | "eth:0xCD2fA978D163c0068167dDff8b6951f0E626e6A4" |
| values.multisigThreshold: | |
| - | "3 of 5 (60%)" |
| + | "3 of 4 (75%)" |
| } |
discodrive. new contract 'canonicalBridgeV2' added with minimal diff to the old one.
discodrive.
new contract ‘canonicalBridgeV2’ added with minimal diff to the old one.
| EOA (0x1a84163249B2909f746C725F23D5ae2a66D7C4fE) { | |
| +++ description: None | |
| receivedPermissions.0.from: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| + | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| } |
| contract CanonicalBridgeV1 (0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) { | |
| +++ description: Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor. | |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.1: | |
| - | "0x1a84163249B2909f746C725F23D5ae2a66D7C4fE" |
| values.withdrawAuthorityAC.1: | |
| - | "0x1a84163249B2909f746C725F23D5ae2a66D7C4fE" |
| } |
| contract Eclipse Multisig (0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| receivedPermissions.3: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"authorize withdrawals to any address.","role":".withdrawAuthorityAC"} |
| receivedPermissions.4: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| receivedPermissions.5: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"pause the contract for deposits and withdrawals.","role":".pauserAC"} |
| } |
| contract Eclipse Multisig 2 (0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| } |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ description: Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridge operators to process deposits and authorize withdrawals. | |
| values.accessControl.DEPOSITOR_ROLE.members.0: | |
| - | "0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.accessControl.DEPOSITOR_ROLE.members.1: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.2: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| values.withdrawerAC.2: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| } |
| + | Status: CREATED |
| contract CanonicalBridgeV2 (0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51) | |
| +++ description: Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor. |
Bridge upgrade without major logic changes. EtherBridge - Now called CanonicalBridge.sol - More granular roles (AuthorityMultisig still main admin) - 'FraudWindow' of 7d introduced for normal withdrawals (but still using permissioned withdrawals, and Treasury allows permissioned direct emergencyWithdraw()) - Two step process for withdrawals interfaces with the bridge and not the Treasury directly: 1) authorizeWithdraw() by permissioned actor any time 2) claimWithdraw() after 7d by anyone Treasury - AccessControl and SemVer added - minor changes EtherBridge
Bridge upgrade without major logic changes.
authorizeWithdraw() by permissioned actor any time 2) claimWithdraw() after 7d by anyone| contract TreasuryOwner (0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions: | |
| - | [{"permission":"upgrade","target":"0xD7E4b67E735733aC98a88F13d087D8aac670E644"}] |
| } |
| contract EtherBridge (0x83cB71D80078bf670b3EfeC6AD9E5E6407cD0fd1) { | |
| +++ description: None | |
| values.paused: | |
| - | false |
| + | true |
| } |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ description: None | |
| sourceHashes.1: | |
| - | "0x9bdc786276b4d7feab768c6c8c296d44e22918524e1a28b23db40678d2b0eeef" |
| + | "0x63d1cc40bc2613e87b2d6905ffda15f04f069e3bf72cb12a2979f95a0e7010b7" |
| issuedPermissions.0.target: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| + | "0x0000000000000000000000000000000000000000" |
| values.$admin: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| + | "0x0000000000000000000000000000000000000000" |
| values.$implementation: | |
| - | "0xa8E15d2B1bf6B0Fd3Bc9Ead06323c0730b67f8d4" |
| + | "0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978" |
| values.$pastUpgrades.1: | |
| + | ["2024-11-05T03:53:23.000Z","0x15aecc2b0cac5c03221b0f7ade10e888ad4f944df4bdc19c1f3c40fc56d5ebbb",["0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.accessControl.DEFAULT_ADMIN_ROLE.members.1: | |
| + | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| values.accessControl.DEFAULT_ADMIN_ROLE.members.0: | |
| + | "0x4720342419C1D316B948690d12C86D5b485C64E0" |
| values.accessControl.PAUSER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x4720342419C1D316B948690d12C86D5b485C64E0","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.STARTER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x4720342419C1D316B948690d12C86D5b485C64E0","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.UPGRADER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.EMERGENCY_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.DEPOSITOR_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.getVersionComponents.major: | |
| - | 1 |
| + | 2 |
| values.owner: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| values.pendingOwner: | |
| - | "0x4720342419C1D316B948690d12C86D5b485C64E0" |
| values.DEFAULT_ADMIN_ROLE: | |
| + | "0x0000000000000000000000000000000000000000000000000000000000000000" |
| values.DEPOSITOR_ROLE: | |
| + | "0xd50fd8c1b5fa5213a5974932fcc33d2992a99225bc9319caf7cf652d0d2b9acf" |
| values.EMERGENCY_ROLE: | |
| + | "0x9e97963c33348a1cae64c3216747be51682ee42f36d1ed282cb81018cdb30e3d" |
| values.PAUSER_ROLE: | |
| + | "0x39935d86204acf3d77da26425d7a46606d2550568c6b1876f3a2e76c804c7626" |
| values.STARTER_ROLE: | |
| + | "0xac6a94bcd1ac2877eda181de9748e5972fc07f76d4864cecf836b3fca185e53c" |
| values.UPGRADER_ROLE: | |
| + | "0x0fb7166d9f681d2bd296a45a1a2e81365c392be30b6156d73b45df44e85cdb9f" |
| values.WITHDRAW_AUTHORITY_ROLE: | |
| + | "0xfe482b7b16acc2ea6eda181934b481a09d50ed8e3579b43c531bc57b84336c53" |
| } |
| + | Status: CREATED |
| contract CanonicalBridge (0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) | |
| +++ description: None |
| + | Status: CREATED |
| contract Upgrader0to1 (0xD02f545d57536BC1E8F12D867731F006AacE71E3) | |
| +++ description: None |
Multisig members change and threshold increase, also added a pending owner. Waiting for the new owner to accept the ownership transfer.
Multisig members change and threshold increase, also added a pending owner. Waiting for the new owner to accept the ownership transfer.
| contract AuthorityMultisig (0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| values.$members.4: | |
| + | "0xF48C91ca69Aef5ac47E430c3E90DEE1694d246FA" |
| values.$members.3: | |
| - | "0xF48C91ca69Aef5ac47E430c3E90DEE1694d246FA" |
| + | "0x757210F15AB48f0F8d328984fc321CfA6BB5BFc2" |
| values.$members.2: | |
| - | "0x757210F15AB48f0F8d328984fc321CfA6BB5BFc2" |
| + | "0x950815d0e585095B06111CD101440fb1E95AB2a5" |
| values.$members.1: | |
| - | "0x950815d0e585095B06111CD101440fb1E95AB2a5" |
| + | "0xCD2fA978D163c0068167dDff8b6951f0E626e6A4" |
| values.$members.0: | |
| - | "0xCD2fA978D163c0068167dDff8b6951f0E626e6A4" |
| + | "0xBb534A6Bd0440727cb5883D037DEd7358059D547" |
| values.$threshold: | |
| - | 2 |
| + | 3 |
| values.multisigThreshold: | |
| - | "2 of 4 (50%)" |
| + | "3 of 5 (60%)" |
| } |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ description: None | |
| values.pendingOwner: | |
| - | "0x0000000000000000000000000000000000000000" |
| + | "0x4720342419C1D316B948690d12C86D5b485C64E0" |
| } |

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


Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor.
Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridge operators to process deposits and authorize withdrawals.
This contract was used for an upgrade an still retains its permissions and permissioned actors.
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).