> ## Documentation Index
> Fetch the complete documentation index at: https://l2docs.whitechain.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration to L2

> The five L1 sunset stages, what read-only mode means, the hostname cut-over, and what WBT holders and integrations do before L2 Mainnet launch.

<Note>
  The legacy Layer 1 (L1) is live and producing blocks. The Layer 2 (L2) is live on Testnet as Whitechain Sepolia (chain ID `1874`). State migration and the end of L1 block production happen at L2 Mainnet launch, on a date that is not yet announced. When migration happens, **you will not need to do anything**.
</Note>

Whitechain runs as an EVM-compatible L1 operated by WhiteBIT. It is moving to an L2 built on the OP Stack. At migration the full L1 state becomes the L2 genesis, so your funds and contracts carry over as they are, at the same addresses.

## Who this page is for

This article is for the people affected by the L1 to L2 migration: users of the L1, holders of WBT on the old chain, and the support and community teams who answer their questions. The answer is the same for all of them. No action is required.

### WBT holders on the old chain

At migration, your WBT balance will be carried over to L2 exactly as it stands at the snapshot. You will not need to claim, swap, re-register, or move it. WBT stays the native gas token on L2, and its supply and tokenomics do not change.

If you keep WBT on WhiteBIT, there is nothing to do. The exchange handles the transition for you. If you self-custody, your balance appears on L2 at the same address once migration completes.

### Users of the L1

Every account, contract, and storage slot will be migrated into the L2 genesis. The migration copies the full L1 state instead of restarting from empty, so there is no gap and no redeployment step. Work continues on L2 from the point where L1 stops.

| Item                               | What happens at migration                                    |
| ---------------------------------- | ------------------------------------------------------------ |
| Native WBT balances                | Preserved to the wei                                         |
| Smart contracts                    | Bytecode, storage, and nonces preserved; addresses unchanged |
| Token balances (ERC-20 and others) | Held in contract storage, so migrated with it                |
| Transaction history and event logs | Not migrated; final state only                               |
| Pending (mempool) transactions     | Not migrated                                                 |

### Integrations and service operators

If you run software that reads or writes the legacy L1, you have changes to make, even though your users do not. User balances migrate on their own; connection settings do not. The legacy L1 mainnet runs at chain ID `1875` (hex `0x753`), with its JSON-RPC endpoint at `https://rpc.whitechain.io` and its explorer at `https://explorer.whitechain.io` today. Both hostnames serve the L2 after L2 Mainnet launch, and the L1 services move to `legacy` hostnames. See [Endpoint and domain changes](#endpoint-and-domain-changes).

| Integration type                         | What to change                                                                                                                                                                                                                                                                            |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Exchange or custodian                    | Repoint deposit and withdrawal infrastructure to the L2 chain ID and RPC endpoint. Stop crediting L1 deposits at the snapshot block. Confirm each endpoint with `eth_chainId` rather than by hostname, because `https://rpc.whitechain.io` serves the L2 after the cut-over.              |
| Wallet or wallet provider                | Update the network entry to the L2 chain ID, RPC endpoint, currency symbol, and explorer URL. Point any retained L1 entry at the legacy read-only endpoints, not at `https://rpc.whitechain.io` or `https://explorer.whitechain.io`.                                                      |
| Dapp or smart contract owner             | No redeployment. Contract addresses, code, and storage carry over. Repoint your RPC URL and chain ID, and re-verify your contracts on the L2 explorer, which serves at `https://explorer.whitechain.io` after the cut-over.                                                               |
| Indexer, analytics, or accounting system | L1 transaction history and event logs are not migrated. Export the history you need before L1 decommissioning: from `https://explorer.whitechain.io` while the L1 is live, and from `https://legacy-explorer.whitechain.io` after the cut-over. Then index the L2 from its genesis block. |
| Bridge or liquidity provider             | The L2 has a native OP Stack canonical bridge. Review whether your existing L1 bridge route stays in service. See [OP Stack canonical bridge](/build/bridge/bridge-assets).                                                                                                               |
| Payment processor or bot                 | Update chain ID, RPC, and fee logic. The L1 charges a fixed 10 gwei gas price; the L2 uses EIP-1559 and adds an L1 data fee. See [Network fees](/learn/network/network-fees).                                                                                                             |

Test every change against Whitechain Sepolia (chain ID `1874`) before Mainnet migration. Sepolia runs the same OP Stack software as L2 Mainnet, so a fix that works there works at launch. See the [Network reference](/learn/network/reference).

### Support and community teams

When a user asks what they must do, the answer is nothing. Balances, contracts, and tokens move automatically. Point users to this page, to the [FAQ](#faq), and to the channels in [Where to get help](#where-to-get-help).

Migration events attract phishing. The guidance in [Staying safe](#staying-safe) is the part to repeat.

## Why Whitechain is moving to L2

The OP Stack separates execution, data availability, and settlement into distinct layers, which lowers upgrade complexity and sets up later performance work. Chain data is published and settled on Ethereum, so Whitechain inherits Ethereum's security and data-durability guarantees instead of carrying its own. The OP Stack is also the base for Base, Optimism, and the wider Superchain, so building on it gives Whitechain shared tooling and a path toward decentralized sequencing. Moving off a single-validator PoA model reduces the centralization of the previous L1.

## How the migration works

The migration follows a freeze then dump procedure at Mainnet:

1. Freeze the L1 at a chosen snapshot block, so it produces no further blocks.
2. Export the full state at that block and verify it against the block state root and the known total supply.
3. Transform that state into the OP Stack L2 genesis, so L2 starts with the complete L1 state in place.

### Scope of the migration

Migration applies to Mainnet only.

| Network           | Chain ID             | Migrated to L2                                     | Replacement                                       |
| ----------------- | -------------------- | -------------------------------------------------- | ------------------------------------------------- |
| Legacy L1 mainnet | `1875` (hex `0x753`) | Yes. Its full state becomes the L2 Mainnet genesis | Whitechain L2 Mainnet                             |
| Legacy L1 testnet | `2625` (hex `0xa41`) | No                                                 | Whitechain Sepolia, chain ID `1874` (hex `0x752`) |

The legacy L1 testnet is not migrated. Whitechain Sepolia starts from its own genesis, so contracts and balances on chain ID `2625` do not appear on chain ID `1874`. Redeploy test contracts on Whitechain Sepolia and claim test WBT from the [faucet](/learn/get-started/get-testnet-wbt).

## What changes on L2

| Aspect              | Layer 1                                          | Layer 2                                                         |
| ------------------- | ------------------------------------------------ | --------------------------------------------------------------- |
| Architecture        | Execution, consensus, and data in one service    | OP Stack: separate execution, data availability, and settlement |
| Consensus           | Proof of Authority (Clique, EIP-225) by WhiteBIT | OP Stack sequencer, operated by WhiteBIT at launch              |
| Gas token           | WBT                                              | WBT                                                             |
| Gas model           | Fixed 10 gwei, paid in WBT                       | EIP-1559 with OP Stack parameters, paid in WBT                  |
| Data and settlement | Standalone L1                                    | Published and settled on Ethereum through blobs                 |
| Bridging            | Third-party bridge only                          | Native OP canonical bridge plus third-party bridges             |

For chain IDs, block times, block fields, and endpoints, see the [Network reference](/learn/network/reference).

## L1 sunset stages

The L1 shuts down in five stages. Stages 1 to 3 happen on the day L2 Mainnet launches. Stages 4 and 5 follow it.

| Stage                        | What happens                                                                                                            | What stops working at this stage                                                                                     |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1. L1 block production ends  | The L1 sequencers stop. The last block they produce is the snapshot block.                                              | L1 transactions. A transaction still in the L1 mempool at the snapshot block never executes.                         |
| 2. State dump and L2 genesis | The full L1 state at the snapshot block is exported and transformed into the L2 genesis.                                | Nothing beyond stage 1. The L1 is already halted.                                                                    |
| 3. Domain cut-over           | Every L1-linked domain moves to a `legacy` hostname. `whitechain.io` and `explorer.whitechain.io` begin serving the L2. | The L1 website and L1 explorer at their current hostnames. Requests to those hostnames reach the L2 instead.         |
| 4. L1 read-only period       | The L1 explorer and the L1 JSON-RPC API answer read methods at the legacy hostnames.                                    | Write methods on the L1 JSON-RPC API. No new L1 transaction is possible.                                             |
| 5. L1 decommissioning        | The L1 is shut down permanently.                                                                                        | The L1 explorer and the L1 JSON-RPC API. L1 transaction history is no longer reachable from any Whitechain endpoint. |

The length of the read-only period is not yet announced.

### What read-only mode means

Read-only mode applies to the legacy L1 mainnet, chain ID `1875`. The L1 JSON-RPC API answers read methods against L1 state up to the snapshot block. It refuses the methods that would submit a transaction.

| Category                    | Methods                                                                                                                  | Result during the read-only period         |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------ |
| Account and state reads     | `eth_getBalance`, `eth_getCode`, `eth_getStorageAt`, `eth_getTransactionCount`                                           | Answered, as of the snapshot block         |
| Block and transaction reads | `eth_blockNumber`, `eth_getBlockByNumber`, `eth_getBlockByHash`, `eth_getTransactionByHash`, `eth_getTransactionReceipt` | Answered                                   |
| Log and call reads          | `eth_getLogs`, `eth_call`                                                                                                | Answered                                   |
| Chain identity              | `eth_chainId`, `net_version`                                                                                             | Answered, reporting chain ID `1875`        |
| Transaction submission      | `eth_sendRawTransaction`, `eth_sendTransaction`                                                                          | Refused. No new L1 transaction is possible |

`eth_blockNumber` returns the snapshot block number and does not advance, because the L1 produces no further blocks. The L1 explorer stays available for the same reads: blocks, transactions, addresses, token transfers, and verified contract source up to the snapshot block.

### Endpoint and domain changes

At the domain cut-over, `whitechain.io` and `explorer.whitechain.io` begin serving the Whitechain L2, and the legacy L1 services move to `legacy` hostnames.

| Hostname                 | Serves today                          | Serves after the cut-over | Legacy L1 service moves to                                                                                          |
| ------------------------ | ------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `whitechain.io`          | Whitechain L1 website                 | Whitechain L2 website     | `legacy.whitechain.io`                                                                                              |
| `explorer.whitechain.io` | L1 block explorer, chain ID `1875`    | L2 block explorer         | `legacy-explorer.whitechain.io`                                                                                     |
| `rpc.whitechain.io`      | L1 JSON-RPC endpoint, chain ID `1875` | L2 JSON-RPC endpoint      | Legacy read-only RPC hostname, published in the [Network reference](/learn/network/reference) before Mainnet launch |

The legacy L1 testnet (chain ID `2625`) is not migrated, so `rpc-testnet.whitechain.io` and `testnet.whitechain.io` are not part of this cut-over. See [Scope of the migration](#scope-of-the-migration).

A hostname does not identify a chain. After the cut-over, a client still configured with `https://rpc.whitechain.io` reads the L2, at a different chain ID, without any change on the client side. Confirm which chain an endpoint serves by calling `eth_chainId`:

```bash theme={null}
curl -s -X POST https://rpc.whitechain.io \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
```

The legacy L1 mainnet returns `0x753`, chain ID `1875`. The L2 Mainnet chain ID is published in the [Network reference](/learn/network/reference) before Mainnet launch. Compare the response against that value in every environment you operate.

<Warning>
  L1 transaction history and event logs are not migrated to the L2, and they are not reachable once the L1 is decommissioned. Export the L1 history you need while the legacy explorer and the legacy read-only RPC endpoint are online.
</Warning>

## Moving WBT between L1 and L2

You do not have to move anything. Your balance will already exist on L2 after migration. To move WBT between Ethereum and Whitechain L2 by choice, use either route:

| Route                                        | Use                                                   |
| -------------------------------------------- | ----------------------------------------------------- |
| WhiteBIT                                     | Deposit and withdraw WBT through the exchange         |
| [Portal bridge](/build/bridge/portal-bridge) | Transfer WBT on chain between Ethereum and Whitechain |

## Deadlines

The migration has no deadline for holders, because holders have no task to complete. There is nothing to claim and no window to miss. The milestones below matter to integrations and to anyone who wants historical L1 data.

No migration date is announced. Every milestone in this table is pending.

| Milestone                                        | Date                                              | What it means for you                                                                                                                                             |
| ------------------------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| L1 snapshot block and end of L1 block production | Not yet announced                                 | The snapshot block is the last L1 block. The L1 accepts no transactions after it                                                                                  |
| L2 Mainnet launch                                | Not yet announced. Same day as the snapshot block | L2 Mainnet starts with the full L1 state. Its chain ID and endpoints are published at the same time                                                               |
| Domain cut-over to legacy hostnames              | Not yet announced. Same day as the snapshot block | `whitechain.io` and `explorer.whitechain.io` begin serving the L2. The L1 website and explorer move to `legacy.whitechain.io` and `legacy-explorer.whitechain.io` |
| L1 read-only period                              | Start not yet announced. Length not yet announced | The L1 explorer and JSON-RPC API answer read methods only. Export the L1 history you need during this period                                                      |
| L1 decommissioning                               | Not yet announced                                 | The L1 explorer and JSON-RPC API shut down permanently. L1 transaction history is no longer reachable                                                             |

Whitechain publishes migration dates on [X](https://x.com/Whitechain_io), in the [Whitechain Telegram channel](https://t.me/Whitechain_io), and on this page. For the stage-by-stage sequence, see [L1 sunset stages](#l1-sunset-stages).

## Where to get help

| You need                                              | Go to                                                                                                            |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| WBT held on the WhiteBIT exchange                     | WhiteBIT support, through the exchange's own help channels                                                       |
| Technical help with an integration, node, or contract | [Whitechain Discord](https://discord.gg/eZwjxwNsU)                                                               |
| Migration announcements and dates                     | [Whitechain on X](https://x.com/Whitechain_io) and the [Whitechain Telegram channel](https://t.me/Whitechain_io) |
| Network and endpoint status                           | [status.whitechain.io](https://status.whitechain.io/)                                                            |
| Chain IDs, endpoints, and parameters                  | [Network reference](/learn/network/reference)                                                                    |

Whitechain support never asks for your seed phrase, private key, or a wallet signature to complete a migration step.

## Staying safe

<Warning>
  Migration announcements attract phishing. Treat any message that pressures you to act before a deadline as suspicious.
</Warning>

* No official process asks you to migrate, claim, or unlock WBT.
* Never share your seed phrase or private key. No support agent asks for it.
* Check contract addresses and links only against official Whitechain and WhiteBIT sources.
* If a message pressures you, do nothing and confirm through an official channel first.

## FAQ

### For WBT holders

<AccordionGroup>
  <Accordion title="Do I need to move or claim my WBT?">
    No. Your balance migrates to L2 automatically and stays at the same address. You transact only when you choose to.
  </Accordion>

  <Accordion title="Does my address change, and do I need a new wallet?">
    No. Your address is the same on L2, and your existing seed phrase and private key control it. You do not create a new wallet or move funds to a new address.
  </Accordion>

  <Accordion title="What happens to WBT I hold on WhiteBIT?">
    Nothing on your side. The exchange handles the transition for balances held on WhiteBIT. Trading and internal balances are unaffected by the on-chain snapshot.
  </Accordion>

  <Accordion title="Do my ERC-20 tokens and NFTs carry over?">
    Yes. Token balances live in contract storage, and contract storage migrates in full. Your token and NFT holdings appear on L2 at the same contract addresses.
  </Accordion>

  <Accordion title="Do I need to change my wallet settings after migration?">
    Yes, once. The L2 uses a different chain ID and RPC URL than the legacy L1, so add the L2 network to your wallet to see your balance and transact. The L2 chain ID and endpoints are published before Mainnet launch in the [Network reference](/learn/network/reference).
  </Accordion>

  <Accordion title="Will my transaction history follow me to L2?">
    No. Only final state migrates, so balances, contract code, storage, and nonces carry over, but transaction history and event logs do not. To export the history you need, use `https://explorer.whitechain.io` while the L1 is live, and `https://legacy-explorer.whitechain.io` after L2 Mainnet launch, when `explorer.whitechain.io` serves the L2. Export before the L1 is decommissioned. See [Endpoint and domain changes](#endpoint-and-domain-changes).
  </Accordion>

  <Accordion title="I have a transaction pending on L1. What happens to it?">
    Pending mempool transactions are not migrated. Anything unconfirmed at the snapshot block never executes. Resubmit it on L2 after launch if you still want it.
  </Accordion>

  <Accordion title="Does WBT supply or tokenomics change?">
    No. WBT stays the native gas token on L2, with 18 decimals and unchanged supply. The migration copies balances to the wei.
  </Accordion>
</AccordionGroup>

### For integrations

<AccordionGroup>
  <Accordion title="I run an exchange, wallet, or custody service. What do I have to do?">
    Repoint your infrastructure to the L2 chain ID, RPC URL, and explorer, and stop crediting L1 deposits at the snapshot block. User balances migrate on their own; your connection settings do not. Pin each endpoint by the chain ID it reports, because `rpc.whitechain.io` and `explorer.whitechain.io` serve the L2 after the cut-over. See [Integrations and service operators](#integrations-and-service-operators) for the change list by integration type.
  </Accordion>

  <Accordion title="Do I need to redeploy my smart contracts?">
    No. Bytecode, storage, nonces, and addresses are preserved, so your contracts exist on L2 at the same addresses. Repoint your RPC URL and chain ID, then re-verify the source on the L2 explorer so users can read it there.
  </Accordion>

  <Accordion title="Will my contract behave the same on L2?">
    Its logic does. The EVM is unchanged, so contract code runs identically. The fee model changes from a fixed 10 gwei gas price to EIP-1559 plus an L1 data fee, and blocks arrive every second instead of every two seconds. Review any logic that hardcodes a gas price or assumes a block interval. See [Network fees](/learn/network/network-fees).
  </Accordion>

  <Accordion title="How do I test my integration before Mainnet migration?">
    Use Whitechain Sepolia, chain ID `1874`, at `https://rpc.testnet.whitechain.io`. It runs the same OP Stack software as L2 Mainnet, so an integration that works there works at launch. Claim test WBT from the [faucet](/learn/get-started/get-testnet-wbt).
  </Accordion>

  <Accordion title="My indexer relies on L1 history. What are my options?">
    Export what you need while the L1 endpoints are online, then index the L2 from its genesis block. L1 history is not reachable from the L2.

    | When                           | L1 JSON-RPC endpoint                                                                                                | L1 explorer                             |
    | ------------------------------ | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
    | While the L1 is live           | `https://rpc.whitechain.io`                                                                                         | `https://explorer.whitechain.io`        |
    | During the L1 read-only period | Legacy read-only RPC hostname, published in the [Network reference](/learn/network/reference) before Mainnet launch | `https://legacy-explorer.whitechain.io` |
    | After L1 decommissioning       | Not available                                                                                                       | Not available                           |
  </Accordion>

  <Accordion title="How long will the legacy L1 RPC and explorer stay online?">
    The length of the read-only period is not yet announced. After the snapshot block the L1 explorer and JSON-RPC API answer read methods at the legacy hostnames, and they shut down permanently at L1 decommissioning. See [L1 sunset stages](#l1-sunset-stages) and [Deadlines](#deadlines).
  </Accordion>

  <Accordion title="Which hostname do I use to read L1 data after L2 Mainnet launch?">
    Use `https://legacy-explorer.whitechain.io` for the L1 explorer, and the legacy read-only RPC hostname published in the [Network reference](/learn/network/reference) before Mainnet launch. `https://explorer.whitechain.io` and `https://rpc.whitechain.io` serve the L2 from the cut-over onward, so a client left pointing at them reads the L2 at a different chain ID. Confirm the chain with `eth_chainId`. See [Endpoint and domain changes](#endpoint-and-domain-changes).
  </Accordion>

  <Accordion title="Where do I get the L2 chain ID and endpoints for Mainnet?">
    From the [Network reference](/learn/network/reference). Mainnet values are published there before Mainnet launch. Whitechain Sepolia values are published there now.
  </Accordion>
</AccordionGroup>

### Timing and safety

<AccordionGroup>
  <Accordion title="When does the migration happen, and can I miss the deadline?">
    Migration happens at L2 Mainnet launch, on a date that is not yet announced. Holders cannot miss anything, because holders have no task to complete. Integrations should be ready by the snapshot block, which is announced with the launch date. See [Deadlines](#deadlines).
  </Accordion>

  <Accordion title="Can I still use the old L1?">
    The L1 is live and accepts transactions until the snapshot block. After that block it answers read methods only, at the legacy hostnames, and it is decommissioned later. Export any historical data you need before decommissioning. See [What read-only mode means](#what-read-only-mode-means).
  </Accordion>

  <Accordion title="Is the legacy L1 testnet migrated as well?">
    No. Migration applies to Mainnet only. The legacy L1 testnet, chain ID `2625`, is superseded by Whitechain Sepolia, chain ID `1874`, which starts from its own genesis. Contracts and balances on chain ID `2625` do not appear on chain ID `1874`. See [Scope of the migration](#scope-of-the-migration).
  </Accordion>

  <Accordion title="Someone asked me to connect my wallet to complete the migration. Is that legitimate?">
    No. There is no manual migration step. Any such request is a scam. Do not connect your wallet or share any keys.
  </Accordion>

  <Accordion title="I saw a migration date on social media. How do I check it?">
    Whitechain publishes migration dates on [X](https://x.com/Whitechain_io), in the [Whitechain Telegram channel](https://t.me/Whitechain_io), and on this page. No date is published yet. Check any date you see against those three sources. See [Deadlines](#deadlines).
  </Accordion>
</AccordionGroup>

## Related

* [Introduction to Whitechain](/learn/general/what-is-whitechain)
* [Network reference](/learn/network/reference)
* [Getting WBT](/learn/general/get-wbt)
