Contracts
Contract Addresses
Key contract addresses on RISE
This page provides a reference for all contract addresses on RISE Testnet.
Pre-deployed Contracts
These contracts are pre-deployed and available from genesis.
| Contract Name | Description | Address |
|---|---|---|
| Create2Deployer | Helper for CREATE2 opcode usage | 0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2 |
| DeterministicDeploymentProxy | Integrated with Foundry for deterministic deployments | 0x4e59b44847b379578588920ca78fbf26c0b4956c |
| MultiCall3 | Allows bundling multiple transactions | 0xcA11bde05977b3631167028862bE2a173976CA11 |
| GnosisSafe (v1.3.0) | Multisignature wallet | 0x69f4D1788e39c87893C980c06EdF4b7f686e2938 |
| GnosisSafeL2 (v1.3.0) | Events-based implementation of GnosisSafe | 0xfb1bffC9d739B8D520DaF37dF666da4C687191EA |
| MultiSendCallOnly (v1.3.0) | Batches multiple transactions (calls only) | 0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B |
| MultiSend (v1.3.0) | Batches multiple transactions | 0x998739BFdAAdde7C933B942a68053933098f9EDa |
| Permit2 | Next-generation token approval system | 0x000000000022D473030F116dDEE9F6B43aC78BA3 |
| EntryPoint (v0.7.0) | ERC-4337 entry point for account abstraction | 0x0000000071727De22E5E9d8BAf0edAc6f37da032 |
| SenderCreator (v0.7.0) | Helper for EntryPoint | 0xEFC2c1444eBCC4Db75e7613d20C6a62fF67A167C |
| WETH | Wrapped ETH | 0x4200000000000000000000000000000000000006 |
L1 (Sepolia) System Contracts
These contracts are deployed on the Sepolia Ethereum testnet and handle the communication between L1 and RISE Testnet.
| Contract Name | Description | Address |
|---|---|---|
| AnchorStateRegistryProxy | Stores state roots of the L2 chain | 0x5ca4bfe196aa3a1ed9f8522f224ec5a7a7277d5a |
| BatchSubmitter | Submits batches of transactions | 0x45Bd8Bc15FfC21315F8a1e3cdF67c73b487768e8 |
| Challenger | Handles challenges to invalid state transitions | 0xb49077bAd82968A1119B9e717DBCFb9303E91f0F |
| DelayedWETHProxy | Wrapped ETH with withdrawal delay | 0x3547e7b4af6f0a2d626c72fd7066b939e8489450 |
| DisputeGameFactoryProxy | Creates dispute games for challenging invalid state | 0x790e18c477bfb49c784ca0aed244648166a5022b |
| L1CrossDomainMessengerProxy | Handles message passing from L1 to L2 | 0xcc1c4f905d0199419719f3c3210f43bb990953fc |
| L1ERC721BridgeProxy | Bridge for NFTs between L1 and L2 | 0xfc197687ac16218bad8589420978f40097c42a44 |
| L1StandardBridgeProxy | Bridge for ETH and ERC20 tokens | 0xe9a531a5d7253c9823c74af155d22fe14568b610 |
| MIPS | MIPS verification for fault proofs | 0xaa33f21ada0dc6c40a33d94935de11a0b754fec4 |
| OptimismMintableERC20FactoryProxy | Factory for creating bridged tokens on L2 | 0xb9b92645886135838abd71a1bbf55e34260dabf6 |
| OptimismPortalProxy | Main entry point for L1 to L2 transactions | 0x77cce5cd26c75140c35c38104d0c655c7a786acb |
| PreimageOracle | Stores preimages for fault proofs | 0xca8f0068cd4894e1c972701ce8da7f934444717d |
| Proposer | Proposes new L2 state roots | 0x407379B3eBd88B4E92F8fF8930D244B592D65c06 |
| SystemConfigProxy | Configuration for the RISE system | 0x5088a091bd20343787c5afc95aa002d13d9f3535 |
| UnsafeBlockSigner | Signs blocks in development mode | 0x8d451372bAdE8723F45BF5134550017F639dFb11 |
L2 (RISE Testnet) System Contracts
These are the predeploy contracts on RISE Testnet.
| Contract Name | Description | Address |
|---|---|---|
| L2ToL1MessagePasser | Initiates withdrawals to L1 | 0x4200000000000000000000000000000000000016 |
| L2CrossDomainMessenger | Handles message passing from L2 to L1 | 0x4200000000000000000000000000000000000007 |
| L2StandardBridge | L2 side of the token bridge | 0x4200000000000000000000000000000000000010 |
| L2ERC721Bridge | L2 side of the NFT bridge | 0x4200000000000000000000000000000000000014 |
| SequencerFeeVault | Collects sequencer fees | 0x4200000000000000000000000000000000000011 |
| OptimismMintableERC20Factory | Creates standard bridged tokens | 0x4200000000000000000000000000000000000012 |
| OptimismMintableERC721Factory | Creates bridged NFTs | 0x4200000000000000000000000000000000000017 |
| L1Block | Provides L1 block information | 0x4200000000000000000000000000000000000015 |
| GasPriceOracle | Provides gas price information | 0x420000000000000000000000000000000000000F |
| ProxyAdmin | Admin for proxy contracts | 0x4200000000000000000000000000000000000018 |
| BaseFeeVault | Collects base fee | 0x4200000000000000000000000000000000000019 |
| L1FeeVault | Collects L1 data fees | 0x420000000000000000000000000000000000001A |
| GovernanceToken | RISE governance token | 0x4200000000000000000000000000000000000042 |
| SchemaRegistry | EAS schema registry | 0x4200000000000000000000000000000000000020 |
| EAS | Ethereum Attestation Service | 0x4200000000000000000000000000000000000021 |
Usage Examples
Bridging ETH from L1 to L2
// On Sepolia (L1)
IL1StandardBridge bridge = IL1StandardBridge(0xe9a531a5d7253c9823c74af155d22fe14568b610);
// Deposit ETH to L2
bridge.depositETH{value: amount}(
minGasLimit,
emptyBytes // No additional data
);Sending a Message from L2 to L1
// On RISE Testnet (L2)
IL2CrossDomainMessenger messenger = IL2CrossDomainMessenger(0x4200000000000000000000000000000000000007);
// Send message to L1
messenger.sendMessage(
targetL1Address,
abi.encodeWithSignature("someFunction(uint256)", value),
minGasLimit
);