ERC-1155 Migration Guide
Last updated
Was this helpful?
Last updated
Was this helpful?
From your Launchpad dashboard, select the project or collection you’d like to begin migrating.
Please note: migration is only applicable for projects that were deployed to the blockchain (mainnet or testnet) and are currently using HeyMint’s IPFS hosting.
If your project uses your own IPFS for images and metadata, there’s no need to migrate—it won’t be affected by the shutdown.
While this guide focuses on 1155 projects, some minor steps may differ depending on your collection type. But don’t worry—the overall process remains the same. Also, please make sure not to close your browser tab during any part of the migration to avoid interruptions when files are downloading or updating.
In your Launchpad dashboard, click on Export Collection from the left-hand sidebar.
Note: This option will only appear if your project has been deployed to the blockchain (either on mainnet or testnet).
Start by clicking on Download collection images. Follow the prompt to choose the folder where the files will be saved. Once the download is complete, check your local directory to make sure all files are there.
ERC-1155 projects may include a variety of file types based on what was uploaded—such as .jpg
, .png
, or .gif
. The downloaded files will be named according to their Token IDs.
If your project doesn’t include any uploaded animations, the “Download animations” button will not be visible.
Please note: depending on the size of your collection, some providers may charge for additional storage.
For this guide, we’ll be using Storacha as the example IPFS host. While the upload process may look slightly different on other platforms, the important part—retrieving your CID (Content Identifier)—will be the same.
Important: If your project includes both images and animations, upload them separately. Each should be saved and handled using its own unique CID.
Here’s how to proceed on Storacha:
After registering and creating your space, upload the folder that contains your downloaded assets.
For 721A (Token Flow) and 1155 projects, your download will come as a ZIP file. Be sure to unzip it before uploading to your IPFS host.
Once the upload is complete, copy the CID provided.
The CID is a unique string (usually starting with bafyxxxxxx
) that serves as a digital fingerprint for your uploaded content. It allows anyone to locate and access your files through IPFS gateways.
Your chosen IPFS host will usually display the CID of your uploaded folder or repository in its dashboard—just like the example below from Storacha.
To help guide you through this step, we've included a video below showing the process on a Windows setup using a sample 721A art-generated project.
In this video, you'll see how to:
Download your images and assets
Upload them to a new IPFS host (e.g. Storacha)
Copy and save the newly generated CID
After uploading your images to your new IPFS host, copy the CID and paste it into the “CID for image files” field in your dashboard. Then click Save image CID (or Save animation CID, if applicable).
Make sure you select the correct Media format (such as PNG, JPG, MP4, etc.) based on the files you've uploaded.
A few things to keep in mind:
If your project doesn't include animations, you can leave the animation CID field blank and continue with the rest of the steps.
For 1155 projects, since the original media formats are used (and may include different file types), you don't need to manually select a media format. Just paste the CID and click Save.
Once you've saved your new image CID, go to “Process and download the updated metadata with new image URI” and click “Update Metadata.”
This will generate a fresh set of metadata files, now pointing to your newly uploaded images on IPFS.
For example, if your saved CID is:
bafybeihwusrv4unp3mxdncfhg6rikbtasjprcy4kndhniwnldjofnkhyba
the updated metadata will reference this in each token’s image field.
This process may take a few moments, as it will gather your collection’s existing metadata (based on the “Current Metadata URI”) and replace the image and animation URLs with the new ones you've just saved.
Once it's complete, you'll be able to download a ZIP file containing the updated metadata.
After the download is complete, double-check that the ZIP file isn’t empty and contains your updated metadata files. These files will be numbered and won’t have file extensions—this is expected.
If you'd like to double-check that the image and animation URLs in the metadata have been updated correctly, you can drag any of the metadata files into your browser to view its contents. See the example below for a comparison.
In the original metadata, you’ll see a different CID in the image
field:
bafybeibxq6bezazq2iwdhk5p23fwsllbz6372kvulabouxmsuwv35k2gbm
In the updated metadata generated by the migration tool, you'll see that it now uses the CID you saved earlier:
bafybeihwusrv4unp3mxdncfhg6rikbtasjprcy4kndhniwnldjofnkhyba
Once you've confirmed that the metadata files have been updated, go ahead and upload all of them—in one folder—to your preferred IPFS host.
We've included a video walkthrough below that covers this step (along with Step 6), shown using a Windows setup. The process is the same for both 721A and 1155 projects, so you can follow along regardless of your collection type.
Now that you have your new metadata CID, head back to your dashboard and input the updated IPFS URI. The format should be:
For this example, it would be:
Click Validate & Save, and once everything checks out, you’ll be prompted to sign a transaction through MetaMask. This will update your collection’s metadata on the blockchain.
You can refer to the video below to see how the update process works and how to confirm that the metadata has been successfully changed.
Here are the details of the test collection used in the recording:
You can also confirm if the update was successful by checking your project through a blockchain explorer.
Here’s how to check:
In the sidebar, click Smart Contract
Under the Overview tab, click the Contract Address. Make sure your contract is marked as Verified
If it’s not, you’ll need to click Verify Now and complete the verification before continuing
In the blockchain explorer, click on the Contract tab, then select Read as Proxy.
Note: This option will only appear if your contract has been verified. If you don’t see it, please go back and complete the verification step first.
Scroll through the available methods and look for either:
tokenURI
– for 721A projects
uri
– for 1155 projects
Click on the appropriate method, enter the token ID you want to check (e.g. 1
), and click Query. The current metadata URI for that token will appear below.
You can also check out the video below, which walks through the steps above using a 721A project. The process is nearly the same for 1155 projects—the only difference is that you'll use the uri
method instead of tokenURI
.
Once you've completed all the steps and confirmed that your metadata URI now points to your own IPFS host, your migration is officially complete. You've successfully exported your project's metadata and assets to a location you fully control.
After you changed the token URI, make sure to go to one of the marketplaces, refresh metadata of one of the NFTs, and make sure it still displays correctly.
We'll continue to support users until our closure, but please note that response times may be a bit slower than usual as we operate at limited capacity.
Once you’ve confirmed that your images have been successfully downloaded, the next step is to upload them to your preferred IPFS hosting provider—such as , , or .
You can use gateways like or to view your uploaded assets using the CID, as shown in the examples below.
In this example, the CID provided after uploading the updated metadata is:
You can view the contents of this CID here:
OpenSea (Testnet) collection link:
Project contract on Sepolia:
In our example, the project is deployed on Sepolia (Ethereum), so we'll use as the explorer.
We’re here for you. If you need any assistance or have questions about the platform or migration process, feel free to reach out to us at .
uri
method, the expected result should follow this format:
ipfs://<cid>/{id}
No matter which token ID you input, the result will always display {id}
as a placeholder.
For example:
ipfs://bafybeia2ac5urmqdxfs2jvld227za4sngntihhf7gnstzoa2rfqy3ixswu/{id}
You can view a sample contract here: