Merge with Immutable Chain
The Immutable X bridge was merged with the primary bridge for Immutable Chain through a non-custodial bridge contract upgrade. If you had ETH, IMX or any other ERC-20 on Immutable X, your assets were migrated directly to Immutable Chain, and are available in the same wallet you used on Immutable X (e.g. MetaMask, Passport). Immutable had no access to your private keys or funds during this process. If you had NFTs on Immutable X, their status depends on the specific game and collection. Most assets were migrated automatically, but many games and projects chose to implement custom logic for migrating their assets. In these cases, please consult with the project directly.Migration Contracts
Bridge upgrade smart contracts
Migration Audit
Nethermind audit report
Historical Data
The full history of Immutable X is preserved as a public BigQuery dataset. Anyone signed in to a Google account can query it, and queries are billed to your own Google Cloud project. Dataset:ext-im-immutable-x.immutable_x_v1
Every table and column is described in BigQuery itself.
Ready-made tables
These combine the tables above to answer the most common questions:
Tables are clustered on the columns people look things up by:
wallet_history and final_holdings by address, nfts, nft_history and asset_movements by token_address and token_id, and sales by collection and token id. Filtering on those columns keeps a lookup of one wallet or NFT well under 1 GB, against BigQuery’s free allowance of 1 TB a month.
Reading the data
- Amounts are exact whole numbers in each token’s smallest unit (wei for ETH). Divide by
10^decimalsfromtokens;asset_movements,wallet_historyandsalesalso show amounts in whole tokens. - ETH has no contract address, so it appears as
0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee. - Addresses are stored in lowercase, as most blockchain datasets do. Wrap yours in
LOWER()so an address with capital letters still matches. - Order a history by
txn_id: it is the order Immutable X processed transactions in.txn_timecan be out of order by hours, and several transactions can share one. - Email addresses that creators typed into NFT names, descriptions and metadata are replaced with
[email removed]. transactions.migrated_to_zkevmmarks the withdrawals that were the 2026 migration of token balances to Immutable zkEVM, rather than withdrawals to Ethereum.transactions.batch_sequence_numberis the StarkEx batch a transaction was committed to Ethereum in.- A small number of trades have no transaction id;
maker_order_idandtaker_order_ididentify them, intransactionsand intrade_fees.
NFTs and Immutable zkEVM
Many games migrated their NFT collections to Immutable zkEVM; some chose not to. This dataset records what happened on Immutable X itself, so it doesn’t show whether an NFT also exists on Immutable zkEVM. For that, check with the game.nfts.final_location shows where each NFT ended up on Immutable X:
NFTs left on Immutable X at shutdown can no longer be withdrawn.
StarkEx state
Immutable X committed its state to Ethereum in batches. These tables hold that record, from the StarkEx Data Availability Committee, for anyone who wants to check the data against Ethereum:
Balances in
vault_updates are in each asset’s quantum; multiply by assets.quantum for the token’s smallest unit.
Open in BigQuery
Browse the dataset in the Google Cloud console
Deprecation Process and Status
All Immutable X functionality is now deprecated and will be removed in future.Next Steps
Chain Overview
Learn about Immutable Chain
Bridging
Understand bridge migration
Passport
Set up Passport wallet integration
Contracts
Deploy NFT contracts on Immutable Chain