Skip to main content

How to view all assets across multiple blockchains

This guide will walk you through displaying digital assets from multiple blockchains while using Passport as your digital identity and wallet provider.

If your game has already minted digital assets on other blockchains, your players will still be able to see and use them in-game.
in-game currency guidein-game currency guide

💡WHO IS THIS FOR?
Developers who have run pre-sales or minted digital assests on another blockchain before switching to Passport and Immutable zkEVM.

To allow a player to see all of their blockchain assets (either zkEVM or read-only assets from other chains), we recommend the following approach for most games.

The first step is to instruct your players to link their wallets to Passport so you know which wallets they own and where their assets are located. Ask your players to visit this page to link their wallets:

https://passport.immutable.com/external-wallets

They will see the following screen once they've logged in:

Link external wallet

The wallet linking process is simple, just click on the "Link a MetaMask wallet" and follow the instructions. They will be presented with two options;

Link external wallet options
  1. If they have digital assets which are on Immutable zkEVM but in MetaMask instead of Passport, they can import the assets from Metamask to Passport from here.

  2. If they have have digital assets on another blockchain which isn't Immutable zkEVM, they can choose to link a wallet as "view only" instead.

Importing Immutable zkEVM assets to Passport requires an on-chain transaction and the assets will now be owned by the players Passport wallet instead of Metamask.

Linking a wallet as view only allows leaves the assets where they are but allows Passport to view the assets the player has on other blockchains.

💡VIEW ONLY ASSETS
By linking a wallet as view only, Passport can verify ownership and read the metadata of the players assets on other blockchains, but the user can not perform write actions on them like crafting, burning or transferring.

If you want to import items to passport from another blockchain instead of them being view only, there is another guide about how to Migrate your assets to Immutable zkEVM.

2. Retrieve the players linked wallet addresses

The best way to get the players linked addresses is by calling getUserInfo via the API. Previously you could also use the Typescript SDK to retrieve the linked addresses, but this is being deprecated in favour of using the API.

3. Retrieve the players inventory directly from the blockchain

Now that you know all the addresses linked the players Passport account, to render the players entire inventory on screen you still need to query the different relevant endpoints for each source chain.

For Immutable zkEVM

This guide describes how to retrieve a player’s inventory using using our API or SDK.

For assets on other blockchains

There are many different options for how to find out the list of NFTs for a given wallet on other blockchains. Here are some popular options:

Once you've retrieved all the digital assets the user has in their linked wallets, do any required merging and/or formatting, then pass the full data set to your front end to use as required.