# LUMIA Migration Sepolia–Beam

## **Overview**

Lumia is transitioning its **LUMIA testnet token** from the **Sepolia Ethereum testnet** to the **Beam Network**. This includes deploying bridging infrastructure and token contracts on Beam to support testnet users and developers in the new environment.

## **Bridging LUMIA Tokens from Sepolia to Beam**

To bridge your testnet LUMIA tokens:

1. Visit the official [**Lumia Beam Bridge**](https://beam-bridge.lumia.org/).&#x20;
2. Click **Connect using web wallet** and proceed to connect your wallet on the **Sepolia network**.<br>

   <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FsLIn2l4Mh488ULDsqBSO%2Fimage.png?alt=media&#x26;token=6cbeef1b-f66e-4000-8d26-992f81b51119" alt="" width="375"><figcaption></figcaption></figure></div>
3. Select Sepolia Testnet as **From**, select **LUMIA** as the token and enter a desired amount. Then click **Continue**.<br>

   <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FOYTtmGCckeTNm9yoPMFH%2Fimage.png?alt=media&#x26;token=d45d53ff-7ed5-4111-8728-730cac8795a8" alt="" width="375"><figcaption></figcaption></figure></div>
4. Click **Allow Bridge to spend my LUMIA** to approve the Bridge access to the amount you chose at #3. <br>

   <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2Fv2x0qWV23pDy5XtYqh4Y%2Fimage.png?alt=media&#x26;token=6559d79b-ecd4-469f-998d-84d4c2b609d7" alt="" width="375"><figcaption></figcaption></figure></div>
5. Confirm approval in your wallet.\
   ![](https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FpZxJlHI0X35QdvxDfmmi%2Fimage.png?alt=media\&token=fb7486ed-43d7-4ae6-b579-75e0079a2217)
6. Click **Bridge** and proceed to bridge your LUMIA to Beam.<br>

   <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2F3tHsMqpGGaw9oWMnuPtv%2Fimage.png?alt=media&#x26;token=96348000-2b39-4996-82ec-df66ab86ba2b" alt="" width="375"><figcaption></figcaption></figure></div>
7. Confirm the sending trasaction in your wallet.\
   ![](https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FzK61AR4rTvIfis4knLh8%2Fimage.png?alt=media\&token=7ecdd5e6-30ab-4a80-8b0e-153626b91dcf)
8. Wait a few minutes for the bridging to finalize.
9. At the [**Lumia Beam Bridge**](https://beam-bridge.lumia.org/) click **Add a network** and confirm adding Beam network to your wallet.<br>

   <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FJHp3y0FEFPIEAgwqv6Jn%2Fimage.png?alt=media&#x26;token=1e565819-d1cd-40b9-a031-50b006765eb8" alt="" width="375"><figcaption></figcaption></figure></div>
10. At the [**Activity**](https://beam-bridge.lumia.org/activity) tab, click your bridging and check its status. Once it is **Completed**, switch to the Beam network in your wallet to see the bridged LUMIA.<br>

    <div align="left"><figure><img src="https://2350053608-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9xpHYszlcNFP3MXUQBaJ%2Fuploads%2FXY6PQa8AwvQbQJbLdZno%2Fimage.png?alt=media&#x26;token=4234f4ae-1174-4169-988b-39226f3567ba" alt="" width="375"><figcaption></figcaption></figure></div>

## **URLs**

Blockscout: <https://beam-explorer.lumia.org\\>
RPC: <https://beam-rpc.lumia.org\\>
Faucet: <https://beam-faucet.lumia.org\\>
Bridge: <https://beam-bridge.lumia.org>

## **Contract Addresses & Roles**

| Contract                                                                                                                             | Address                                      | Purpose                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | ---------------------------------------------------------------- |
| [**Bridge Contract**](https://beam-explorer.lumia.org/address/0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582?tab=contract) **(on Beam)** | `0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582` | Handles bridging of LUMIA                                        |
| [**Bridge Contract**](https://sepolia.etherscan.io/address/0x528e26b25a34a4a5d0dbda1d57d318153d2ed582#code) **(on Sepolia)**         | `0x528e26b25a34a4a5d0dbda1d57d318153d2ed582` | Handles bridging of LUMIA                                        |
| [**Sequencer**](https://beam-explorer.lumia.org/address/0x660100aA52d5A2B1dF9b57680CeCaE15EBD5d413)                                  | `0x660100aA52d5A2B1dF9b57680CeCaE15EBD5d413` | Address responsible for ordering transactions in the Beam rollup |
| [**ClaimTxManager**](https://beam-explorer.lumia.org/address/0x1f4081a1b03472bcEC12aa15deEa2Edd117D4CE1) **(Layer 2)**               | `0x1f4081a1b03472bcEC12aa15deEa2Edd117D4CE1` | Address that submits claim transactions                          |
| [**CoinBase**](https://beam-explorer.lumia.org/address/0x6089EA70f401Df85Aa3fCE90CE3ffbA6C4206eE8) **(Fee Collector)**               | `0x6089EA70f401Df85Aa3fCE90CE3ffbA6C4206eE8` | Address that accumulates gas fees collected on Beam              |
| [**BurnerSmartContract**](https://beam-explorer.lumia.org/address/0x078413b8b5a2614081813619c594fE84Ef839535?tab=contract)           | `0x078413b8b5a2614081813619c594fE84Ef839535` | Handles LUMIA token burning logic                                |
| [**LUMIA**](https://sepolia.etherscan.io/address/0x5787a0c1ccf0c94d99fe5725120ab1f7482ed9e8#code)                                    | `0x5787a0c1ccf0c94d99fe5725120ab1f7482ed9e8` | LUMIA token on Sepolia                                           |

***

## **Interacting with the Contracts**

Developers and Advanced Users can interact directly with the contracts.

The main flow is as such:

1. Call [approve](https://sepolia.etherscan.io/address/0x5787a0c1ccf0c94d99fe5725120ab1f7482ed9e8#writeContract#F1) to approve the bridge access to LUMIA.
2. Call [bridgeAsset](https://sepolia.etherscan.io/address/0x528e26b25a34a4a5d0dbda1d57d318153d2ed582#writeProxyContract#F3) to transfer the approved LUMIA from Sepolia to Beam.
3. Wait for the sequences address to pick up the event and react (order and sumbit the tx). It may take up to 45 mins (around 15 in reality). \
   Claiming is automated, you don't need to take any additional action to see the bridged LUMIA tokens in your wallet on Beam.

### Code examples

Code examples for interaction:

**Solidity**

```
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19;

import "forge-std/Script.sol";

interface ILumiaBridge { 
    function sendToBeam(address recipient, uint256 amount) external; 
}

contract BridgeLumia is Script { 
    address constant BRIDGE = 0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582; 
    address constant TOKEN = /* Sepolia token contract address, if needed for approve */;

    function run() external {
        address user = vm.envAddress("USER_ADDRESS");
        uint256 amount = 1e18; // 1 LUMIA

        vm.startBroadcast();

        ILumiaBridge(BRIDGE).sendToBeam(user, amount);

        vm.stopBroadcast();
    }
}
```

**ethers.js**

```
const { ethers } = require("ethers");

const BRIDGE_ADDRESS = "0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582";
const BRIDGE_ABI = [
  "function sendToBeam(address recipient, uint256 amount) external"
];

async function main() {
  const provider = new ethers.JsonRpcProvider("https://rpc.sepolia.org");
  const wallet = new ethers.Wallet("YOUR_PRIVATE_KEY", provider);

  const bridge = new ethers.Contract(BRIDGE_ADDRESS, BRIDGE_ABI, wallet);

  const recipient = "0xYourBeamWalletAddress";
  const amount = ethers.parseUnits("1", 18); // 1 LUMIA

  const tx = await bridge.sendToBeam(recipient, amount);
  console.log("Tx sent:", tx.hash);

  await tx.wait();
  console.log("Bridged successfully");
}

main().catch(console.error);

```

## **Recommendations**

* **If needed, add Beam Testnet to MetaMask** using provided RPC/ChainID:

  ```
  RPC URL: https://beam-rpc.lumia.org
  Chain ID: 2030232745
  Explorer: https://beam-explorer.lumia.org
  ```
* **Bridge only small amounts of test tokens first** to validate the process.
* Monitor transactions on the explorer: <https://beam-explorer.lumia.org>.
* If you're building on top of Lumia/Beam, consider:
  * **Verifying custom contracts** on the Beam Blockscout.
  * **Registering your Chain ID** in global registries to ensure broader tool compatibility.
* **Token Faucet**: Use <https://beam-faucet.lumia.org> for testnet tokens to cover gas fees.
* **Security**: Ensure you verify contract interactions and ABIs before executing write functions directly.
