---
# System prepended metadata

title: How to Manage Minting Metadata in Sequence Builder

---

# How to Manage Minting Metadata in Sequence Builder

## Introduction
This document walks through the process of managing item metadata for ERC1155 tokens using [Sequence Builder](https://sequence.build/), with a little help from [Pinata](https://www.pinata.cloud/) for IPFS hosting.

## Step 1: Prepare Your Token Images and Metadata
First things first, gather all your token images. For each token, you'll need a metadata file named `id.json` (like `1.json`, `2.json`, etc.). These files should look something like this at a minimum:

```json
{
    "name": "Token Name",
    "description": "Token Description",
    "image": "ipfs://"
}
```

As you can guess, you can build from these basics. You could have your unique item attributes embedded in this token and generated on the fly.

## Step 2: Set Up on Pinata.cloud
Head over to [Pinata.cloud](https://www.pinata.cloud/) and create an account. Upload each of your token images as separate files. Next, update the metadata JSON files with the `ipfs` address for each token. To do this, simply copy the CID (Content Identifier) for each file from Pinata and paste it after `ipfs://` in your JSON files. It should look like this:

```json
{
    "name": "Token Name",
    "description": "Token Description",
    "image": "ipfs://QmdJzQExj2wnNY7pNNn4KauzckjH4vA5xhoxmmis919Ev3"
}
```

![CleanShot](https://hackmd.io/_uploads/ByVamjpOa.jpg)

## Step 3: Upload Your Metadata Files
Now, gather all your JSON metadata files into a single folder on your computer. Use Pinata's 'Upload \> Folder' feature to upload this folder. Then, copy the CID for the entire folder.

![CleanShot (1)](https://hackmd.io/_uploads/HJh0Qj6da.jpg)

## Step 4: Get the Folder URL
Click on "Content Preview" next to the folder you created on Pinata. This will open a new tab showing all your uploaded JSON files. Copy the URL of this folder.

![CleanShot (2)](https://hackmd.io/_uploads/Sygl4oTdp.jpg)

## Step 5: Set Up on Sequence Builder
Navigate to [Sequence Builder](https://sequence.build/), set up your account, and create your project on the network of your choice. In the Contracts section, click on "Deploy New Contract".

![CleanShot (3)](https://hackmd.io/_uploads/B1lb4iaO6.jpg)

## Step 6: Deploy Your Contract
Select "Web3 Game Item Collection (ERC-1155)" and name your contract. Sequence Builder will automatically deploy your contract on-chain.

![CleanShot (4)](https://hackmd.io/_uploads/Sy7fNopOa.jpg)

## Step 7: Move to Contract Details
Once you sign the transaction, your contract is ready! Click on it to view the details screen.

![CleanShot (5)](https://hackmd.io/_uploads/H1CzEsada.jpg)

## Step 8: Update Contract Attributes
Navigate to the “Write Contract” section. This is where you can modify attributes of your freshly deployed ERC-1155 contract. Two methods are what you should focus on for now:
- `setBaseMetadataURI` allows the creator to set the base metadata URL for this contract. You want this to point to the JSON files you’ve created, depending on NFT ID.
- `mint` does what it says on the tin. It mints one of your tokens and sends it to an address of your choosing.

## Step 9: Set the Base Metadata URI
Scroll to `setBaseMetadataURI`, expand it, and under `tokenBaseURI` paste the URL for the JSON folder preview you got from Pinata earlier. It should look something like this:

```
`https://azure-wooden-lemur-911.mypinata.cloud/ipfs/QmW5gvYGWb98GsN8VjTRWu4pLn6jryEXNxZKNWpPhVwtDm/
```

Click “Write” and you will be prompted to sign again. This will modify the contract on chain to set the metadata base. Essentially any token ID you provide will be appended to this URL, along with the `.json` suffix. So if you mint token ID 123, it will look for `tokenBaseURI + 123.json`.

![CleanShot Nov 22](https://hackmd.io/_uploads/HymV4iTup.jpg)

## Step 10: Minting Time
Finally, it’s time to mint! Scroll up to `mint`, expand it, and fill in the details:

- `to (address)`: This is the address that the token will be sent to. Use your Sequence wallet address or any other valid address.
- `tokenId (uint256)`: This is your token ID. As long as you have a `tokenId.json` file already uploaded to pinata.cloud under the folder, it will work.
- `amount (uint256)`: The number of tokens to mint (usually 1).
- `data (bytes)`: Enter `0x00` for this simple process.

![CleanShot (6)](https://hackmd.io/_uploads/HyyrNia_p.jpg)

## Step 11: Finalize and Admire
Click "Write" and sign the transaction. Congratulations, you've just minted a token! Head over to the "Tokens" section to see your minted tokens with their names and images.

![CleanShot Nov](https://hackmd.io/_uploads/rkRHVoTup.jpg)

## Step 12: Updating Metadata
If you make mistakes with the token metadata, you can always update it and then call the Sequence Metadata refresh endpoint to reload the specific tokens:

```
curl -X GET "https://metadata.sequence.app/tokens/mumbai/0xb392c99d9f8e3e0b248e5c283818be5bf5cecca7/1/refresh"
```

This is in the format: `https://dev-metadata.sequence.app/tokens/<chain-name>/<contract-address>/<token-id>/refresh`

## Conclusion
You've successfully minted your own ERC1155 game tokens using Sequence Builder.