# How to migrate from Mainnet to Base

This guide explains how to migrate from mining on the Ethereum Mainnet to Base the using the intmax2 mining CLI. The instructions below describe the process.

❗ Note:

* The tokens you receive through mining on the mainnet currently cannot be transferred to other addresses, but this feature will be enabled in the future.
* Users who have initiated the 10 deposit process on Mainnet but haven't completed it should finalize it soon, as incomplete deposits will result in reduced allocations.
* The mining process can take up to 6 days, and Mainnet mining will stop one week after the migration to Base. Please avoid making new deposits on Mainnet during this time.

🆘 Support: please join this with an anonymous account <https://discord.gg/nByKNNhyvn>

### Prerequisites

Before you begin, please ensure you have the following:

* **Add Base Network To Your Wallet**: Refer to the Base [Network](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/docs/add_token_to_wallet.md) guide to add Base testnet and mainnet.
* **Your Alchemy API key enables Base Network**: Please refer to the [How to get your Alchemy API key](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/docs/alchemy_guide.md) guide to ensure your API key supports Base Network.

### Step-by-Step Instructions

#### Upgrading CLI Version

1. **Launching the CLI** Double-click on the mining-cli shown in this image to launch.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/instruction/extract.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/instruction/extract.png)
2. **Update CLI**: When you open the CLI, you'll see a screen like this:

[![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m17.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m17.png)

Press `Y` on your keyboard to select yes.

3. **Continue Update**: You'll see a screen like this:

[![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m18.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m18.png)

Press `Y` on your keyboard to select yes.

4. **Select Network**: You can move the cursor with the arrow keys, select `mainnet` and press `Enter`.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m19.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m19.png)
5. **Continue the process**: Select `Continue` to proceed with the previous settings.

[![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m20.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m20.png)

6. **Confirm Update**: Before resuming mining, select `Check Update` to check if you are using the current version.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m23.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m23.png)
7. **Confirm CLI Version**: Your current version should be same as the latest release to mine on Base. Navigate to the [Releases](https://github.com/InternetMaximalism/intmax2-mining-cli/releases) page of this repository to see the available latest version.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m24.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m24.png)

To continue, press any key on your keyboard(e.g, Enter).

#### Mining

1. **Select Network**: Mining has transitioned from Ethereum Mainnet to Base Network. Be rest assured that all your assets and ITX token are safe. To claim and retrieve the assets from Mainnet, select the next command.[![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m21.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m21.png)

#### Claiming ITX Tokens

1. **Claim ITX Token**: To claim ITX token, select `Claim`. You can check whether an deposit address is eligible for rewards in the "Qualified" column after selecting the mode.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m25.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m25.png)
2. **Claim ITX Token To Withdrawal Address**: If `Claim` was selected and your address qualifies for ITX tokens, the CLI automatically transfers your available ITX tokens to your withdrawal wallet immediately or when the token availability time reaches. To see the tokens in your wallet, ensure to add the ITX mainnet token contract address to your wallet using the Network [guide](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/docs/add_token_to_wallet.md).

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m6.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m6.png)

Check wallet to see tokens.

After claiming process is done, you can proceed to retrieving available ETH in the INTMAX2 Network back to your withdrawal address. Proceed by pressing any key as instructed by CLI.

#### Withdraw ETH

**Important: Avoid making direct or indirect transfers between deposit and withdrawal addresses. Depositing in a withdrawal address will disqualify it from receiving rewards during mining. Please refer to the** [**README document**](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/README.md) **for more information.**

1. **Withdraw ETH**: Select `Exit` to retrieve assets to withdrawal address.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m7.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m7.png)
2. **Withdraw ETH To Withdrawal Address**: Any pending deposit would be cancelled and all ETH balance will be withdrawn to your withdrawal address.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m8.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m8.png)

Note: If there are still ETH in your deposit address after this process, you can manually transfer ETH from deposit wallet to another wallet using the command below.

#### Exporting Deposit Private Keys

1. **Export**: Select `Export`

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m11.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m11.png)
2. **Export Deposit Private Key**: Copy private key and import account into metamask using this [guide](https://support.metamask.io/managing-my-wallet/accounts-and-addresses/how-to-import-an-account/).

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m12.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m12.png)
3. **Transfer in CLI**: To transfer ETH balance inside the CLI instead, type yes and select `#0` or your account of choice if you have several deposit accounts.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m13.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m13.png)
4. **Transfer ETH Balance**: Paste the address to transfer ETH balance to.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m14.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m14.png)
5. **Transfer in CLI**: Approve transfer by typing `Yes`.

   [![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m15.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m15.png)

Repeat approval until ETH balance is insufficient. To end the process, press any key.

[![Mining CLI](https://github.com/InternetMaximalism/intmax2-mining-cli/raw/main/assets/migrate/m15.png)](https://github.com/InternetMaximalism/intmax2-mining-cli/blob/main/assets/migrate/m15.png)

After withdrawal process is done, proceed by pressing any key as instructed by CLI.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://intmax-general.gitbook.io/intmax-privacy-mining/intmax-cli-mining/how-to-migrate-from-mainnet-to-base.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
