# README

Stargaze is the premier NFT marketplace on the Cosmos Hub. Discover, collect, and create NFTs with seamless multi-token payments.

## Quick Links

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Start Here</strong></td><td>New to Stargaze? Get set up in minutes.</td></tr><tr><td><strong>Collect</strong></td><td>Discover and buy NFTs from 3,500+ collections.</td></tr><tr><td><strong>Create</strong></td><td>Launch your own NFT collection.</td></tr><tr><td><strong>Names</strong></td><td>Claim your identity on Cosmos.</td></tr></tbody></table>

## Why Stargaze?

* **Cosmos native** - Built on the Cosmos Hub
* **Low fees** - Competitive marketplace fees
* **Creator-friendly** - Powerful tools for artists and projects

## Migrating from Stargaze L1?

If you had NFTs or STARS on the original Stargaze chain, check out our [Migration Guide](/migration/whats-happening) to claim your assets on the Cosmos Hub.


# What's Happening

Stargaze is migrating from its own blockchain to the Cosmos Hub.

## The Big Picture

In early 2026, Stargaze is moving:

* **From:** Stargaze L1 (independent chain)
* **To:** Cosmos Hub (as an application)

This means all NFTs, Names, and the STARS token are moving to a new home.

## Why Migrate?

### Stronger Together

The Cosmos Hub is the center of the Cosmos ecosystem:

* More liquidity (ATOM)
* More users
* Stronger security
* Better aligned with the ecosystem's future

### Better for Users

* **Native payments** - Pay with ATOM, the native token from Cosmos Hub
* **Lower friction** - No need for a separate STARS balance for gas
* **More activity** - Larger user base

### Sustainable Development

* Funded development through Cosmos Hub community
* Dedicated team continuing to build
* Long-term commitment to the platform

## What's Moving

| Moving to Hub       | Status                               |
| ------------------- | ------------------------------------ |
| All NFT collections | Claimable on Q1                      |
| Stargaze Names      | Claimable on Q2                      |
| STARS token         | Claimable on Q2                      |
| Marketplace         | Live on Hub right after migration    |
| Launchpad           | Live on Hub one week after migration |
| Studio              | Live on Hub one week after migration |

## What's Not Moving

| Discontinued       | Reason            |
| ------------------ | ----------------- |
| Stargaze L1 chain  | Shutting down     |
| Validators/Staking | No longer a chain |

## Timeline

**NFT Snapshot:** 17th March 2026

1. **Preparation** - Contracts paused on L1, snapshot taken
2. **Hub Deployment** - Apps go live on Cosmos Hub
3. **NFT Claims Open** - Users claim their NFTs
4. **STARS Migration** - (Snapshot TBA) Users claim their STARS
5. **L1 Sunset** - (Timeline TBA) Original chain winds down

## What You Need to Do

1. **Check if your NFTs are airdropped** - Top 200 collections (by yearly volume) are migrating automatically. Featured collections, 1/1s and Community picks are also migrating automatically.
2. **Claim other NFTs** - Collections outside that list need manual claiming - [Guide](/migration/claiming-your-nfts)
3. **Claim your STARS** - At Q2 Snapshot. TBA.
4. **Check special cases** - [NFTs on other chains](/migration/nfts-on-other-chains)

## Important Notes

* **Same wallet** - Your Cosmos address works on the Hub
* **No rush** - Claims don't expire
* **Free to claim** - Only pay a small gas fee

## Questions?

See the [Migration FAQ](/migration/faq) or join our Discord for help.


# Claiming Your NFTs

How to claim your NFTs on the Cosmos Hub after migration.<br>

{% hint style="info" %}
Attention: Claiming will be available AFTER auto-migration phase. We estimate auto-migration to take around 1 to 2 days to be completed.
{% endhint %}

## Auto-migration vs Claims

### Top 200 Collections

The top 200 collections by year trading volume will be automatically auto-migrated to your wallet. No action required, no cost.

### Featured Collections

Featured Collections, 1/1s, Team Picks and Collections chosen by the community will also auto-migrate.\
\
\*Partially minted collections will not be able to be auto-migrated. Any partially minted needs to be claimed.

### Other Collections

Collections outside the auto-migration list must be claimed manually. Gas fees apply.

***

## Before You Start

Make sure you have:

* The wallet that held your NFTs on Stargaze L1
* ATOM for gas fees
* Access to [stargaze.zone](https://stargaze.zone)

## How Claims Work

Your NFTs were snapshotted before migration.

Auto-migration phase should be completed first before claim is active (after snapshot, it will take 1-2 days for the completion due to block space).

To claim:

1. Connect your original wallet
2. View your claimable NFTs
3. Claim them to your Hub address.
4. Due to block space, it might take a while for the claim to be done. Check back after a while if you have many NFTs on your wallet.
5. They appear in your profile as claimed.

**You only need to claim once.** The system handles batching automatically behind the scenes due to block space limits. This may take several minutes depending on how many NFTs you hold.

###

After claiming:

* NFTs appear as **Collected** on your profile
* They're tradeable on the Marketplace
* Full functionality restored

## Costs

**Auto-migration List:** Free (migrated automatically)

**Other collections:**

* **Claim fee:** Free
* **Gas fee:** Paid in ATOM

## Timing

* **Claims open:** When Hub deployment is live, after auto-migration phase
* **Claims expire:** Never - claim anytime
* **Processing time:** May take several minutes for large holdings (batching handled automatically)

## Troubleshooting

### "No NFTs to claim"

* Verify you're using the correct wallet
* Check if NFTs were an ICS721 collection (see [special cases](/migration/nfts-on-other-chains))
* NFTs may have been on a different address

## After Claiming

Your NFTs are now on the Cosmos Hub:

* List them for sale
* Make offers on others
* Transfer to friends
* Full Marketplace functionality

## Need Help?

* Check the [FAQ](/migration/faq)
* Ask in Discord #support
* Contact support for complex issues


# Claiming Your STARS

How to claim your STARS tokens on the Cosmos Hub.

## Overview

STARS tokens are migrating to the Cosmos Hub. If you held STARS on Stargaze L1, you can claim them on the Hub.

## Eligibility

You can claim if you held STARS:

* In your wallet on Stargaze L1
* Staked with validators

## How to Claim

### Step 1: Connect Wallet

1. Go to [stargaze.zone](https://stargaze.zone)
2. Connect the wallet that held your STARS
3. The system checks your eligibility

### Step 2: View Your Allocation

You'll see:

* Total STARS to claim
* Breakdown by source (wallet, staking, LP)
* Claim button

### Step 3: Claim

1. Click **Claim STARS**
2. Approve the transaction
3. STARS arrive in your Hub wallet

## Claim Details

* **Cost:** Free (only gas fees)
* **Expiration:** Claims do not expire
* **Vesting:** None - tokens are immediately available

## What About Staked STARS?

If your STARS were staked:

* Automatically included in snapshot
* No need to unstake first
* Claim the full amount

## What About LP Tokens?

STARS in Osmosis liquidity pools:

* LP tokens on Osmosis remain separate
* You can use the new LP to trade between STARS <> new STARS token.

## After Claiming

Your STARS on the Hub can be used for:

* Minting NFTs
* Trading NFTs
* Trading on DEXs
* Side Apps that may use the token

### Community Pool Restructure

The STARS community pool will be restructured through an on-chain proposal. Funds will be distributed to community DAOs who will manage ongoing initiatives, grants, and ecosystem development.

Details will be announced via a Commonwealth vote before migration.

Note: STARS no longer has staking or governance utility since Stargaze is no longer a standalone chain.

## Troubleshooting

### "No STARS to claim"

* Verify correct wallet
* Check if STARS were on a different address
* Ensure you held STARS before the snapshot

### "Amount seems wrong"

* Snapshot was at a specific block
* Transfers after snapshot not included
* Contact support with details

## Liquidity on Osmosis

A stable swap pool exists on Osmosis:

* Swap between old and new STARS
* Normal DEX functionality

## Questions?

* See [Migration FAQ](/migration/faq)
* Ask in Discord
* Contact support for issues


# NFTs on Other Chains / DAOs

Special cases for NFTs that weren't in a standard wallet on Stargaze L1.

## NFTs in DAO Treasuries

If your DAO's treasury holds NFTs, they must be moved before the migration snapshot.

### Why This Matters

DAO contract addresses cannot be reconstructed on the Cosmos Hub. Treasury NFTs will **not** migrate automatically.

### What's Affected

* **Treasury-held NFTs** - Must be moved to a multisig or single wallet
* **Staked NFTs** - NOT affected, claimable by the staker

Only treasury-held NFTs need action.

We have communicated this action extensively for the community. If you missed the announcements and the snapshot already happened, contact us on Discord.

## NFTs on Other Chains (ICS-721)

Some NFTs were transferred to other chains via ICS-721 (interchain NFT standard).

### Stargaze NFTs on Osmosis/Neutron

If you had Stargaze-native NFTs on another chain:

* They're being pushed back to their home chains
* Check the original chain for your NFTs

### Non-Stargaze NFTs on Stargaze

Collections like Mad Scientists (home chain: Osmosis):

* Migrating to their home chain
* Can be bridged to Hub via ICS-721 if desired afterwards
* Check with the collection for specific instructions

We've contacted all ICS-721 collection creators to coordinate the migration.

### Affected Collections

| Collection           | Home Chain | Status                                             |
| -------------------- | ---------- | -------------------------------------------------- |
| Mad Scientists       | Osmosis    | Migrates to Osmosis, can bridge to Hub via ICS-721 |
| CEWTs                | Stargaze   | Migrates to Neutron (requested by the creator)     |
| Nucleus Scientists   | Stargaze   | Migrates to Neutron (requested by the creator)     |
| Pixel Lions          | Terra      | Migrates to Terra under their DAO                  |
| Galactic Mining Club | Terra      | Migrates to Terra under their DAO                  |
| Other ICS-721        | Various    | Check collection announcements                     |

## NFTs in Multisig Wallets

Good news: Multisig wallets work!

* Same members can recreate the multisig on Hub
* The derived address is the same
* Claim NFTs to the multisig address

### How to Claim with Multisig

1. Recreate your multisig on Cosmos Hub (same members)
2. The address will match your L1 multisig
3. Initiate claim from the multisig
4. Collect required signatures
5. NFTs transfer to the multisig

## Edge Cases

### Lost Access

If you lost wallet access:

* Cannot claim without private keys
* No recovery mechanism exists
* Standard crypto self-custody applies

### Disputed Ownership

If there's a dispute:

* Snapshot is the source of truth
* On-chain ownership is determined at snapshot block

## Getting Help

These situations can be complex:

* Join Discord #support
* Provide wallet addresses and context
* Team members can investigate

## Summary

| Situation              | Action                   |
| ---------------------- | ------------------------ |
| NFTs in regular wallet | Claim normally           |
| NFTs in DAO treasury   | Not transferred          |
| NFTs on other chains   | Check other chains       |
| NFTs in multisig       | Recreate multisig, claim |


# FAQ

Common questions about the Stargaze migration to Cosmos Hub.

For general Stargaze questions, see the [FAQ](/help/faq).

## General

### When is the snapshot?

March 17th, 2026.

### Why is Stargaze migrating?

To strengthen the Cosmos ecosystem by consolidating on the Hub, providing better liquidity through ATOM, and ensuring sustainable development.

### When will the migration happen?

The migration will be in Q1 2026, right after the snapshot.

### Do I need to do anything?

Yes - you need to claim your NFTs if you wish to have them onchain on the Hub. Auto-migrated NFTs do not need any action.

### Is there a deadline to claim?

No. Claims do not expire. Take your time.

***

## NFTs

### Which collections are migrated automatically?

The top 200 collections by yearly trading volume will be migrated automatically - no action needed, no cost. Featured collections (Team Picks, 1/1s , and community picks) will also be auto-migrated.

All other collections must be claimed manually.

### Will my NFTs look the same?

Yes. Metadata and images are preserved exactly.

### Can I trade during migration?

Trading on L1 stops at snapshot. Trading on Hub begins after the migration.

### What happens to NFTs listed for sale at snapshot?

The seller keeps them. Listings are not transferred - you'll need to relist on the Hub.

### What happens to pending offers at snapshot?

Offers are removed. Funds are returned to the person who made the offer.

### What about traits and rarity?

All trait data is preserved. Rarity rankings remain the same.

### Are royalties preserved?

Yes. Creator royalties transfer to the Hub contracts.

***

## STARS Token

{% hint style="info" %}

### Attention: STARS migration is set to Q2. The first migration part is for NFTs only. You will still be able to trade STARS until Q2 normally.

{% endhint %}

### What happens to my STARS?

Claim them on the Cosmos Hub on Q2. They're still STARS, just on a new chain.

### Can I still stake STARS?

No. Stargaze will no longer be a blockchain, so there's no staking.

### What's STARS used for?

STARS will still be used for minting NFTs, trading NFTs, and trading on DEXs.

### What about STARS on Osmosis?

Liquidity pools continue to function. A stable swap pool helps transition.

***

## Technical

### Do I need a new wallet?

No. Your existing Cosmos wallet works. Same seed phrase, same keys.

### What's my new address?

Your `stars1...` address converts to `cosmos1...` with the same underlying keys.

### Is it safe?

Yes. Standard Cosmos Hub security. Your keys never leave your wallet.

### What about gas fees?

Gas is paid in ATOM on the Hub. Fees are very low.

***

## Special Situations

### My NFTs were in a DAO

If you had NFTs staked in a DAO, that's ok. You'll be able to claim them on the Hub as usual. DAOs treasury however couldn't migrate automatically. We've announced extensively before the migration to remove DAO treasury to a new multisig or wallet. Check with your DAO leadership about distribution.

### My NFTs were on another chain

ICS-721 NFTs return to their home chains. (Mad Scientists returned to Osmosis for example.) Check collection announcements.

### I had stSTARS

Unwind your liquid staking position before Q2, then you will be able to claim STARS when the time comes.

### I lost my wallet

Unfortunately, claims require the original wallet. Standard crypto rules apply.

***

## Old Chain

### Can I still use Stargaze L1?

No. The chain is being sunset. All activity moves to Hub.

### What happens to validators?

The Hub has its own validator set.

### Are old links broken?

Old stargaze.zone links redirect to the Hub version.

***

## Getting Help

### Where can I ask questions?

* Discord: #support channel
* Twitter: @StargazeZone
* This documentation

### I found a bug

Report in Discord or via support. Include:

* Your wallet address
* What you expected
* What happened
* Screenshots if possible

### Something seems wrong with my claim

Contact support with:

* Wallet address
* Transaction hashes
* Description of the issue

***

## Quick Reference

| Task         | Where                   |
| ------------ | ----------------------- |
| Claim NFTs   | stargaze.zone → Profile |
| Claim STARS  | on Q2                   |
| Get help     | Discord                 |
| Check status | Twitter @StargazeZone   |


# What is Stargaze?

Stargaze is the leading NFT Marketplace and Launchpad on the Cosmos Hub. It provides a complete platform for discovering, buying, selling, and creating NFTs within the Cosmos ecosystem.

## A Brief History

Stargaze launched in 2021 as its own blockchain in the Cosmos ecosystem, quickly becoming the cultural hub for NFTs in Cosmos. In 2026, Stargaze migrated to the Cosmos Hub to strengthen the ecosystem and provide deeper liquidity through ATOM.

## What Can You Do on Stargaze?

### Collect

Browse thousands of collections, buy NFTs instantly, make offers, and participate in auctions. Connect easily all your wallets under the same profile.

### Create

Launch your own NFT collection using Stargaze Studio. No coding required. Set up minting, whitelists, and royalties with an intuitive interface.

### Trade Names

Register your own Stargaze Name - a human-readable identity for your Cosmos address. Trade names on the marketplace like any other NFT.

## Key Features

* **Low transaction costs** - Efficient smart contracts on Cosmos Hub
* **Creator royalties** - Enforced on-chain for active creators
* **IBC enabled** - Interoperable with the broader Cosmos ecosystem
* **Proven track record** - 3,500+ collections, millions of NFTs traded

## Getting Started

Ready to dive in? Start by [creating a wallet](/start-here/creating-a-wallet) and [getting some ATOM](/start-here/getting-atom).


# Creating a Wallet

To use Stargaze, you'll need a Cosmos-compatible wallet. We recommend Keplr or Leap.

## Recommended Wallets

### Keplr

Keplr is the most widely used wallet in the Cosmos ecosystem.

**Browser Extension:**

1. Visit [keplr.app](https://www.keplr.app/)
2. Click "Install Keplr"
3. Add the extension to Chrome, Brave, or Firefox
4. Create a new wallet or import an existing one
5. **Save your seed phrase securely** - this is the only way to recover your wallet

**Mobile:**

* Available on iOS and Android
* Search "Keplr Wallet" in your app store

***

### Leap Wallet

Leap is a user-friendly alternative with a clean interface.

**Browser Extension:**

1. Visit [leapwallet.io](https://www.leapwallet.io/)
2. Install the browser extension
3. Create or import a wallet

**Mobile:**

* Available on iOS and Android

***

## Security Tips

* **Never share your seed phrase** - No legitimate service will ever ask for it
* **Write it down on paper** - Don't store it digitally
* **Use a hardware wallet** for large holdings (Ledger supported)
* **Verify URLs** - Always check you're on the official site

## Connecting to Stargaze

Once your wallet is set up:

1. Go to [stargaze.zone](https://stargaze.zone)
2. Click "Connect Wallet" in the top right
3. Select your wallet (Keplr or Leap)
4. Approve the connection request

You're ready to explore!


# Getting ATOM

ATOM is the primary currency on Stargaze. You'll need it to buy NFTs, pay for gas fees, and interact with the marketplace.

## Where to Buy ATOM

### Centralized Exchanges

The easiest way to get ATOM if you're new to crypto:

* **Coinbase** - [coinbase.com](https://www.coinbase.com)
* **Kraken** - [kraken.com](https://www.kraken.com)
* **Binance** - [binance.com](https://www.binance.com)
* **Crypto.com** - [crypto.com](https://www.crypto.com)

**Steps:**

1. Create an account and complete verification
2. Deposit funds (bank transfer, card, etc.)
3. Buy ATOM
4. Withdraw to your Keplr/Leap wallet address

### Decentralized Exchanges

If you already have crypto in Cosmos:

* **Osmosis** - [osmosis.zone](https://osmosis.zone) - Swap other Cosmos tokens for ATOM
* **Skip** - Integrated swap within Stargaze

## Withdrawing to Your Wallet

When withdrawing from an exchange:

1. Go to Withdraw/Send
2. Select ATOM
3. Choose **Cosmos Hub** network (not other chains)
4. Paste your wallet address (starts with `cosmos1...`)
5. Confirm the transaction

Transfers typically take 1-2 minutes.

## How Much Do I Need?

* **Gas fees** - Usually very low per transaction
* **Buying NFTs** - Depends on the collection (check floor prices)
* **Recommended start** - 5-10 ATOM to explore comfortably


# Paying with Different Tokens\*\*

Stargaze supports multi-token payments, so you're not locked into a single currency.

## Supported Tokens

| Token     | Description                       |
| --------- | --------------------------------- |
| **ATOM**  | Cosmos Hub native token (primary) |
| **TIA**   | Celestia token                    |
| **BTC**   | Bitcoin (via IBC)                 |
| **STARS** | Stargaze STARS                    |
| **USDC**  | USD stablecoin                    |

*More tokens may be added over time.*

## How It Works

When you buy an NFT:

1. View the listing price (displayed in the seller's preferred token)
2. Choose which token you want to pay with
3. The swap happens automatically at current market rates
4. Complete the purchase in one transaction

## Swapping Tokens

Need to swap between tokens? Use the built-in swap feature powered by Skip:

1. Click the swap icon in the navigation
2. Select your input token and amount
3. Select your output token
4. Review the rate and confirm

## Tips

* **Check rates** - Swap rates fluctuate with market prices
* **ATOM for gas** - You'll always need a small amount of ATOM for transaction fees
* **Slippage** - Large swaps may have some slippage; check the quoted amount

## Coming from Other Chains?

You can bridge tokens from other ecosystems using IBC (Inter-Blockchain Communication). Popular routes:

* **From Osmosis** - Direct IBC transfer
* **From Celestia** - TIA via IBC
* **From Noble** - USDC via IBC


# Connecting to Stargaze

Once you have a wallet set up, connecting to Stargaze takes just a few clicks.

## Connect Your Wallet

1. Go to [stargaze.zone](https://stargaze.zone)
2. Click **Connect Wallet** in the top right corner
3. Select your wallet provider (Keplr, Leap, etc.)
4. Approve the connection in your wallet popup

That's it! You're connected.

## What Happens When You Connect

When you connect your wallet, Stargaze can:

* View your public address
* See your NFT holdings
* Request transaction signatures (you approve each one)

Stargaze **cannot**:

* Access your private keys
* Move funds without your approval
* See your seed phrase

## Multiple Wallets

You can connect multiple wallets to your Stargaze account:

1. Click your profile icon
2. Go to Settings
3. Link additional wallets

This lets you view and manage NFTs across all your addresses in one place.

## Disconnecting

To disconnect:

1. Click your profile icon
2. Click **Disconnect**

Your NFTs stay safe in your wallet - disconnecting just ends the browser session.

## Troubleshooting

**Wallet not connecting?**

* Make sure the browser extension is installed and unlocked
* Try refreshing the page
* Check if you have pending approval popups

**Wrong network?**

* Ensure your wallet is set to Cosmos Hub
* Stargaze will prompt you to switch if needed

**Still having issues?**

* See [Troubleshooting](/help/troubleshooting) for more help


# Minting & Trading

Learn how to mint new NFTs and trade on the Stargaze Marketplace.

## Minting

Minting is the onchain action that issues a new NFT from a collection’s launch.

### How to Mint

1. Find an active mint on the [Launchpad](https://stargaze.zone/launchpad)
2. Check if you're on the whitelist (if applicable)
3. Click **Mint**
4. Select how many NFTs to mint
5. Approve the transaction in your wallet

### Mint Phases

Most collections have multiple phases:

* **Whitelist** - Early access for approved addresses
* **Public** - Open to everyone

Check the collection page for phase timing and prices.

## Buying NFTs

### Instant Buy

1. Browse collections or search for specific NFTs
2. Click on an NFT you like
3. Click **Buy Now** (if listed)
4. Approve the transaction

### Making Offers

Want to buy an NFT that isn't listed, or offer less than the asking price?

1. Click **Make Offer** on any NFT
2. Enter your offer amount
3. Confirm the offer

### Bidding in Auctions

Some NFTs are sold via auction:

1. Find auctions on the Marketplace
2. Place your bid (must be higher than current bid)
3. If outbid, you'll be refunded automatically
4. Highest bidder wins when the auction ends. Note that bids cannot be withdrawn once placed.

## Selling NFTs

### Listing for Sale

1. Go to your profile
2. Select the NFT you want to sell
3. Click **List for Sale**
4. Set your price and token
5. Confirm the listing

### Accepting Offers

When someone makes an offer on your NFT:

1. You'll see it on the NFT page
2. Click **Accept** to complete the sale

### Canceling Listings

Changed your mind? Cancel anytime before it gets bought:

1. Go to your listed NFT
2. Click **Cancel Listing**
3. Confirm the transaction (small gas fee)


# Your NFTs

<mark style="color:orange;">View and manage your NFT collection on Stargaze.</mark>

<mark style="color:orange;">NEED TO REDO THIS SECTION AFTER 2.0</mark>

## Viewing Your Collection

### Profile Page

Click your profile icon to see all your NFTs:

* **Collected** - NFTs you own
* **Listed** - NFTs currently for sale
* **Offers Made** - Your active offers on other NFTs
* **Offers Received** - Offers others have made on your NFTs

### Filtering & Sorting

Use filters to find specific NFTs:

* By collection
* By traits/attributes
* Listed vs unlisted
* Price range

## Managing NFTs

### Transferring NFTs

Send an NFT to another wallet:

1. Select the NFT
2. Click **Transfer**
3. Enter the recipient's address
4. Confirm the transaction

**Warning:** Double-check the address. Transfers cannot be reversed.

### Burning NFTs

Remove an NFT permanently:

1. Select the NFT
2. Click **Burn**
3. Confirm (this is irreversible)

Only burn NFTs you're certain you don't want.

## Portfolio Tracking

Your profile shows:

* Total collection value (estimated)
* Number of NFTs owned
* Collections you're part of
* Activity history

## Activity History

View your transaction history:

* Purchases
* Sales
* Listings
* Offers
* Transfers

Find this under the **Activity** tab on your profile.

##


# Notifications\*\*

Stay updated on offers, sales, and collection activity.

<mark style="color:orange;">NEED TO UPDATE THIS AFTER NEW NOTIFICATIONS IS SET UP.</mark>

## Notification Types

Stargaze can notify you about:

* **Offers received** - When someone makes an offer on your NFT
* **Offer accepted** - When a seller accepts your offer
* **Outbid** - When someone outbids you in an auction
* **Sale completed** - When your NFT sells
* **Price drops** - When NFTs in collections you follow drop in price

## Setting Up Notifications

### In-App Notifications

Notifications appear in the bell icon in the navigation. These are enabled by default.

### Email Notifications

To receive email alerts:

1. Go to **Settings**
2. Click **Notifications**
3. Enter your email address
4. Select which notifications to receive
5. Verify your email

### Telegram Notifications

Connect Telegram for instant alerts:

1. Go to **Settings**
2. Click **Notifications**
3. Click **Connect Telegram**
4. Follow the bot instructions

## Managing Notifications

### Adjusting Frequency

Don't want too many notifications?

* Set to **Instant** for real-time alerts
* Set to **Daily digest** for a summary
* Turn off specific notification types

### Following Collections

Get notified about collections you care about:

1. Go to any collection page
2. Click **Follow**
3. You'll receive updates on new listings, floor changes, etc.

### Muting

To stop notifications for a specific item:

1. Go to the NFT or collection
2. Click **Mute**


# Fees

Understanding the costs of buying and selling on Stargaze.

## Marketplace Fees

When an NFT sells on Stargaze:

| Fee Type            | Amount              | Paid By        |
| ------------------- | ------------------- | -------------- |
| **Marketplace fee** | 2%                  | Seller         |
| **Creator royalty** | x% (set by creator) | Seller         |
| **Gas fee**         | varies              | Buyer & Seller |

### Example

If an NFT sells for 100 ATOM with 5% royalties:

* Seller receives: 92 ATOM (100 - 2% marketplace - 5% royalty)
* Creator receives: 5 ATOM
* Marketplace receives: 2 ATOM

## Minting Fees

When minting from a new collection:

* **Mint price** - Set by the creator
* **Gas fee** - per mint

## Gas Fees

Gas fees are paid to the Cosmos Hub for processing transactions. On Stargaze, these are typically very low (fractions of a cent).

You pay gas when you:

* Buy or sell an NFT
* Make or cancel an offer
* List or delist an NFT
* Transfer an NFT
* Mint an NFT

## Creator Royalties

Royalties are optional fees set by collection creators. They're paid automatically on every secondary sale, giving creators ongoing income from their work.

* Minimum: 0%
* Paid on every resale
* Creators need to stay active: inactive creator wallets (1+ year) will not receive royalties anymore. The collection royalties will be reduced to 0% in this case.


# Before You Start

A little planning makes for a much smoother launch. Here's what to get ready before you open Studio 2.0 — you can prepare all of it without spending anything.

## Is Stargaze right for you?

Stargaze is a strong fit if you want to:

* Reach the **Cosmos** community
* Benefit from **low fees and fast transactions**
* Use **flexible minting** — whitelists, multiple phases, open editions
* Accept **ATOM or STARS** for your mint
* Earn **on-chain creator royalties** on secondary sales

## What you'll need

### 1. Your artwork

The images or media for your NFTs:

* **Formats:** images (PNG, JPG, GIF, WebP), video (MP4, WebM), or audio (MP3, WAV)
* **Size:** at least \~1000×1000px for images looks good everywhere on the marketplace
* **Keep files light:** Arweave storage is priced by size, so smaller files cost less to store and load faster. Run them through the [Image & Video Resizer](/create-and-launch/creator-tools) first. Large collections are supported too — the [Arweave Uploader](/create-and-launch/creator-tools) handles 1 GB and up.
* **Prepare everything up front** so your upload is one clean batch.

### 2. Your metadata

The information attached to each NFT:

* **Name** and **description**
* **Traits / attributes** (optional, but recommended for generative collections)

No spreadsheets required — the [NFT Generator](/create-and-launch/creator-tools) and [Meta Maker](/create-and-launch/creator-tools) can build metadata for you.

{% hint style="info" %}
**Bringing your own files?** If you're not using the built-in generators, name your files as plain sequential numbers — `1.png`, `2.png`, `3.png` (numbers only; something like `1-punk.png` won't work). Each image needs a matching metadata file with the same number (`1.png` ↔ `1.json`), and images and metadata go in separate folders. The generators handle all of this for you automatically.
{% endhint %}

### 3. Some ATOM

You'll need ATOM for permanent storage, the collection-creation fee, and gas. The app shows the exact amounts before you confirm — and you can rehearse the entire process on **testnet for free** first. See [Costs & Fees](/create-and-launch/costs-and-fees).

### 4. A plan

Before you launch, decide:

* **Collection size** — how many NFTs?
* **Price** — what will each mint cost, and in which token (ATOM or STARS)?
* **Phases** — a whitelist, a public mint, or both? See [Whitelists](/create-and-launch/whitelists).
* **Timing** — when does each phase open and close?
* **Marketing** — how will people hear about it?

## Planning your launch

**Timing.** Give yourself buffer time to rehearse on testnet, and start talking about your launch a week or two ahead.

**Community.** The launches that do well usually have an engaged audience before mint day — an active Discord or Telegram, a presence on X, and early supporters for your whitelist.

**Expectations.** Look at how similar collections have performed, price fairly for the current market, and focus on building genuine community rather than short-term hype.

## Ready?

Once your artwork, metadata, and plan are set, head to [Creating a Collection](/create-and-launch/creating-a-collection) to build and launch your first drop.


# Stargaze Studio 2.0

Stargaze Studio 2.0 is the all-in-one tool for creating, launching, and managing NFT collections on Stargaze — no coding required. It's a ground-up rebuild of the original Studio, with **permanent, pay-once storage on Arweave** built in from the start.

{% hint style="info" %}
New to Arweave? [What is Arweave?](/create-and-launch/what-is-arweave) explains how Studio 2.0 stores your art and metadata permanently.
{% endhint %}

<figure><img src="/files/F08aCpTvzP03nKgDGeUl" alt="Stargaze Studio 2.0 home screen"><figcaption><p>The Studio 2.0 home screen — creation flows, creator tools, and the collection manager in one place.</p></figcaption></figure>

## What's new in 2.0

* **Permanent Arweave storage** — your art and metadata are stored once and kept forever, with no monthly pinning fees and nothing to renew.
* **Pay in ATOM** — storage is quoted and paid in Cosmos-native ATOM, right in the app. No credit cards, no separate storage account.
* **Launch on testnet, promote to mainnet** — rehearse the on-chain steps for free on testnet, then go live on mainnet without re-uploading. Your art is stored permanently on Arweave once and reused on both.
* **A full collection manager** — edit prices, mint times, whitelists, royalties, and metadata after launch.
* **Built-in creator tools** — generate art, build metadata, and snapshot holders without leaving Studio.

## What you can build

| Collection type      | Best for                                                                         |
| -------------------- | -------------------------------------------------------------------------------- |
| **PFP / Generative** | Large profile-picture drops built from layered traits (e.g. 1,000–10,000 pieces) |
| **Open Edition**     | Unlimited (or time-boxed) mints of a single artwork                              |
| **1/1**              | A single, one-of-a-kind piece                                                    |

## Testnet first, then mainnet

The golden rule: **rehearse on testnet, then promote to mainnet.** The on-chain steps — creating the collection, minting, whitelists — are free to practice on the Cosmos Hub testnet. Storage works differently: Arweave has no testnet, so your art and metadata upload to permanent storage for real, once — and those same files carry straight to mainnet.

## Get started

1. Open [studio.stargaze.zone](https://studio.stargaze.zone).
2. **Connect your wallet** — click **Connect Wallet** (top right) and connect **Keplr**, your normal Cosmos wallet. Studio never holds your keys; you approve each action as you go.
3. **Rehearse on testnet** — pick a collection type, build it exactly as you want, and launch it on testnet. You don't need to find testnet ATOM; while you're creating a collection, the app tops up your testnet balance automatically every 24 hours. Preview the drop and walk the pre-launch checklist.
4. **Promote to mainnet** — when it looks right, use **Launch on Mainnet** to publish the same collection to Cosmos Hub mainnet in one step. Studio reuses your Arweave uploads, with no second storage charge.

{% hint style="info" %}
**Storage is the exception to "testnet is free."** Arweave has no testnet, so uploading your art and metadata stores them permanently — for real — even during a testnet rehearsal. The upside: you pay for storage only once, and those exact files are reused on mainnet. See [What is Arweave?](/create-and-launch/what-is-arweave)
{% endhint %}

## What you'll pay

* **On-chain testnet fees:** free — the app tops up your testnet ATOM automatically.
* **Storage (Arweave):** a one-time fee when your files upload, priced by total file size and never charged again — there's no Arweave testnet.
* **On-chain mainnet fees:** the collection-creation fee (varies by type and size) plus network gas, in real ATOM.

Everything is shown live in the app before you confirm. Full breakdown in [Costs & Fees](/create-and-launch/costs-and-fees).

## Where to go next

* [Before You Start](/create-and-launch/before-you-start) — prepare your artwork, metadata, and plan
* [Creating a Collection](/create-and-launch/creating-a-collection) — the collection types, step by step
* [Whitelists](/create-and-launch/whitelists) · [Managing Your Collection](/create-and-launch/managing-your-collection) · [Launch Day & Beyond](/create-and-launch/launch-and-beyond)
* [Creator Tools](/create-and-launch/creator-tools) · [Developer Tools](/create-and-launch/developer-tools) · [Guidelines](/create-and-launch/guidelines)


# What is Arweave?

Arweave is a network for **permanent file storage**. You pay once, and your files are stored forever — there's no monthly bill, no renewal, and no service that can quietly drop your data. Studio 2.0 uses Arweave to store your NFT artwork and metadata, so a collection you launch today is still fully intact years from now.

<figure><img src="/files/8JAeIWDaoVYr547d516t" alt="Arweave permanent storage and launch cost panel in Studio 2.0"><figcaption><p>Studio 2.0 shows your permanent-storage and launch costs up front, before you upload.</p></figcaption></figure>

## Why it matters for your NFTs

An NFT is really two parts:

1. **The token** — an entry on the blockchain that says who owns it. This lives on Stargaze forever.
2. **The artwork and metadata** — the image, animation, name, and traits. These are usually stored *off-chain*, and the token just points to them.

If that off-chain storage ever becomes unavailable, the token still exists on-chain — but the artwork it points to can't load. Permanent storage removes that risk entirely: your art is guaranteed to stay exactly where it is, for good.

{% hint style="info" %}
An NFT is only as permanent as the place its art is stored. Arweave makes that place permanent by design.
{% endhint %}

## Arweave vs. IPFS pinning

Another common way to store NFT files is **IPFS**, which keeps files available only as long as someone keeps "pinning" them. Pinning is an ongoing job — usually a paid service — so it depends on that service continuing. Studio 2.0 uses Arweave instead: you pay once, and there's nothing to keep renewing or maintaining.

|                          | IPFS pinning                      | Arweave (Studio 2.0)                   |
| ------------------------ | --------------------------------- | -------------------------------------- |
| **How long it's stored** | As long as it's actively pinned   | Permanently, guaranteed at upload      |
| **Ongoing cost**         | Recurring pinning fees            | None — pay once                        |
| **What you pay**         | Subscription to a pinning service | A one-time fee in ATOM, shown up front |

## What an `ar://` link is

When Studio 2.0 uploads your files, each one gets a permanent address that looks like this:

```
ar://GRYCsHU7yF5jJ0P9K1e1Yb...
```

That `ar://` address is baked into your collection's on-chain records. Anyone — Stargaze, a marketplace, or a wallet — can resolve it through any Arweave gateway to load your art. Because the address is permanent and content-addressed, the file it points to can never be swapped or lost.

## How you pay for it

You don't need an Arweave account or a separate wallet. Studio 2.0 handles it for you:

1. Studio calculates the exact storage cost from your files' total size and shows it **before** you upload.
2. You pay that amount in **ATOM**, signed from your normal Stargaze wallet.
3. Studio uploads your files to Arweave and writes the permanent `ar://` addresses into your collection.

{% hint style="info" %}
**Storage is priced by size.** Arweave charges by how much data you store (a set rate per gigabyte), so a small, well-optimized collection is inexpensive while a large one with heavy media costs more. Run your files through the built-in [Resizer](/create-and-launch/creator-tools) first to bring the size — and the cost — down.
{% endhint %}

## How pricing works: AR, credits, and ATOM

Arweave's native token is **AR**, and storage is priced in AR — a one-time fee that keeps your data stored permanently. Because AR trades on the open market, the real cost of an upload tracks the **AR price**: as the market moves, the amount of AR needed to store the same data moves with it.

You don't have to deal with any of that. Studio 2.0 **abstracts the AR side away**:

* You're quoted and pay in **ATOM** — the token you already hold.
* On the backend, your ATOM is converted into Arweave upload **credits**, which settle the AR cost with the network on your behalf.
* The ATOM amount you see already reflects the current AR price and conversion, so you never need AR, an Arweave wallet, or to watch the market.

The result: permanent Arweave storage, paid for with Cosmos-native ATOM, in a single step.

## Arweave has no testnet

Arweave storage is always permanent — there's no throwaway "test" version. So the art you upload while rehearsing your collection on the Cosmos Hub testnet is the **same** art your mainnet collection uses. You pay to store it once, and when you promote from testnet to mainnet, Studio reuses those exact uploads with no second storage charge.

Next: [Creating a Collection](/create-and-launch/creating-a-collection) →


# Costs & Fees

Studio 2.0 is transparent about cost: every fee is shown **live, before you confirm**. The on-chain steps are free to rehearse on testnet, while permanent Arweave storage is real from the very first upload. This page explains what makes up the total so there are no surprises.

<figure><img src="/files/8JAeIWDaoVYr547d516t" alt="Live launch cost panel in Studio 2.0"><figcaption><p>The launch panel breaks down storage, fees, and gas before you commit.</p></figcaption></figure>

## What's free — and what isn't — on testnet

Rehearsing the **on-chain** parts on the Cosmos Hub testnet costs nothing: creating the collection, minting, and whitelists all run on free testnet ATOM, which the app tops up for you automatically. Build, launch, and preview as many times as you like.

**Storage is the exception.** Arweave has no testnet, so the moment you upload your art and metadata they're stored permanently, for real. That happens once — the same files are reused when you promote to mainnet, so you never pay for storage twice.

## What you pay on mainnet

A mainnet launch is made of a few parts, all shown in the app before you sign:

| Cost                        | What it's for                                   | Notes                                                                                  |
| --------------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------- |
| **Permanent storage**       | Storing your art + metadata on Arweave, forever | One-time, priced by total file size (a set rate per gigabyte). Paid in ATOM.           |
| **Collection creation fee** | The on-chain fee to create your collection      | Depends on the type and size (for example, a Vending drop is priced per 1,000 tokens). |
| **Whitelist fee**           | Deploying a whitelist contract, if you add one  | Small, optional.                                                                       |
| **Network gas**             | The blockchain transaction fee                  | A fraction of an ATOM per action.                                                      |

{% hint style="info" %}
**You never pay for storage twice.** Because your files are already on Arweave from the testnet build, promoting to mainnet only costs the on-chain creation fee and gas — not another storage charge.
{% endhint %}

## Keep storage cost down

Because permanent storage is priced by size, the best way to lower it is to **shrink your files first**. Use the [Image & Video Resizer](/create-and-launch/creator-tools) to convert images to WebP and compress video before you upload — smaller files mean a smaller permanent-storage bill.

## Ongoing costs

There are **none** for storage — that's the whole point of Arweave. You pay once and your art is kept permanently, with no monthly bills or renewals. After launch, you only pay small network gas fees when you take an action in the [Collection Manager](/create-and-launch/managing-your-collection) (updating price, airdropping, withdrawing, etc.).

## What you earn

* **When people mint:** you receive the **mint price minus Stargaze's 8% platform fee** — 92% of each mint. (For example, on a 10 ATOM mint you receive 9.2 ATOM.) Minters also pay a small gas fee to the network.
* **When holders resell:** secondary sales on the Stargaze marketplace include a **2% marketplace fee** plus your **creator royalty**, both paid by the seller. Your royalty lands in your royalty wallet automatically — no action needed.

See [Fees](/collect/fees) for the complete buyer/seller fee schedule, and [Managing Your Collection](/create-and-launch/managing-your-collection) to set your royalty.

## A note on mint tokens

Your collection can be minted in **ATOM or STARS** — you choose. Note that this is separate from the fees above: creation fees, storage, whitelist deployment, and gas are always paid in **ATOM** by the network, even if your collection is minted in STARS.

## Next steps

* [What is Arweave?](/create-and-launch/what-is-arweave) — why storage is pay-once
* [Creating a Collection](/create-and-launch/creating-a-collection) — build and launch your collection


# Creating a Collection

Studio 2.0 supports three kinds of collections. They all share the same guided flow — you fill in details, upload art, set your mint rules, and launch — but each is tuned for a different kind of collection. Pick the one that matches what you're building.

## The create flow

Every creation flow is a short, guided wizard. Using a Vending collection as the example, the steps are:

<figure><img src="/files/8JAeIWDaoVYr547d516t" alt="New Vending Collection wizard in Studio 2.0"><figcaption><p>The create wizard: fill each step, watch the live cost panel, launch on testnet, then promote to mainnet.</p></figcaption></figure>

1. **Details** — name, symbol, description, external link.
2. **Upload** — your artwork and metadata. Studio quotes the permanent-storage cost live as you add files.
3. **Whitelist** *(optional)* — allowlist phases and presale pricing. See [Whitelists](/create-and-launch/whitelists).
4. **Mint** — supply, price, per-wallet limits, and the mint window (start/end times).
5. **Marketplace** — royalties and secondary-trading start.
6. **Mainnet** — launch on testnet to rehearse, then promote to mainnet.

Your work **autosaves locally as a draft**, and you can **Download** or **Import** a draft to move it between devices.

{% hint style="info" %}
All times use a **UTC / local toggle**. Times shown in your local zone are labelled "(local time)" so there's never any ambiguity about when your mint opens.
{% endhint %}

{% hint style="info" %}
**One NFT standard underneath.** Every collection type uses the **CW721** standard on Cosmos Hub, so they all work with the Stargaze marketplace and support on-chain creator royalties. What changes between types is the minting mechanics — not the underlying NFT.
{% endhint %}

## Collection types

### PFP / Generative (Vending)

The classic profile-picture drop: a fixed supply of items revealed randomly as people mint. Best for generative collections built from layered traits (100s to 10,000s of pieces). Pairs perfectly with the [NFT Generator](/create-and-launch/creator-tools).

[Create a Vending collection →](https://studio.stargaze.zone/collections/vending/create)

### Open Edition

<figure><img src="/files/A7LrWkw4AKEFzYXRQPTi" alt="New Open Edition collection in Studio 2.0"><figcaption><p>Open Edition — one artwork, minted as many times as you allow.</p></figcaption></figure>

A single artwork minted as many times as you want, usually within a time window. The fastest path from an idea to a live drop — no per-token art needed.

[Create an Open Edition →](https://studio.stargaze.zone/collections/open-edition/create)

### 1/1

<figure><img src="/files/UPFUOCOke1btyDv5RFdq" alt="New 1/1 collection in Studio 2.0"><figcaption><p>1/1 — curated single-edition art, each token with its own image and metadata.</p></figcaption></figure>

For one-of-a-kind pieces, each with its own image and metadata. You create the collection, then add your 1/1 tokens to it — one at a time or as a batch.

Unlike Vending and Open Edition drops, a 1/1 collection has **no launchpad or public mint page**. Each piece is minted **directly to your own wallet** as you add it. From there, you can **list it for sale on the Stargaze marketplace**, or transfer or airdrop it to someone — it's yours to do with as you like.

[Create a 1/1 collection →](https://studio.stargaze.zone/collections/base/create)

## Next steps

* [Whitelists](/create-and-launch/whitelists) — add allowlist phases and presale pricing
* [Manage Your Collection](/create-and-launch/managing-your-collection) — change pricing, timing, and metadata after launch
* [Costs & Fees](/create-and-launch/costs-and-fees) — what each type costs to launch


# Whitelists

A whitelist (allowlist) lets a specific set of wallets mint before — or on better terms than — the public. Studio 2.0 supports **multi-phase** whitelists, so you can run, say, a free early-supporter phase, then a discounted community phase, then the public mint, each with its own price, timing, and wallet list.

<figure><img src="/files/vADdTytNRcnYKfy9X5Ky" alt="Whitelist manager in Studio 2.0"><figcaption><p>The Whitelist manager: preview and export members, configure phases, and set a whitelist on a collection.</p></figcaption></figure>

## How whitelists work

Each phase has:

* **Its own list of wallets** — these mint during that phase.
* **Its own price and window** — often a discount, opening before the public mint.
* **Per-wallet limits** — how many each address can mint.

Phases run back-to-back: when one ends, the next begins, and the public mint opens after the last phase closes.

## Adding wallets

You can build a phase's list from:

* **A CSV or pasted list** of addresses. Both `cosmos1…` and `stars1…` addresses are accepted (Studio converts them automatically).
* **A holder snapshot** — allowlist the holders of another collection. Build the list with [Snapshots](/create-and-launch/creator-tools), then drop it in.

Studio **de-duplicates** every list automatically, so overlapping sources never create problems.

## Preview and export your members

Studio 2.0 keeps a local copy of each phase's member list so you can **preview** it (with a full-list view) and **download it as a CSV** at any time — one list per phase.

{% hint style="info" %}
The whitelist contract itself only stores a cryptographic fingerprint of your list (a "merkle root"), not the addresses. Studio keeps the readable copy for you on the device you built it on. If you need it elsewhere, download the CSV.
{% endhint %}

## Creating and setting a whitelist

<figure><img src="/files/gACsnCKopDG5gzGKtv7j" alt="Create a whitelist in Studio 2.0"><figcaption><p>Build a standalone whitelist, then point it at any of your collections.</p></figcaption></figure>

You can add a whitelist while creating a collection, or build one on its own and attach it later:

1. Open [Whitelists → Create](https://studio.stargaze.zone/manage/whitelists/create).
2. Add your phases, prices, windows, and wallet lists.
3. Pick the network (testnet or mainnet) and the mint token (ATOM or STARS).
4. Deploy the whitelist, then use **Set on collection** to attach it to any collection you manage.

Studio runs a pre-flight check (matching mint token, mint not yet started) before it sets the whitelist, so you can't accidentally attach an incompatible one.

## Next steps

* [Manage Your Collection](/create-and-launch/managing-your-collection) — adjust phase timing after launch
* [Creator Tools](/create-and-launch/creator-tools) — snapshot holders to build an allowlist


# Managing Your Collection

After launch, the **Collection Manager** is where you run your drop — update pricing and timing, airdrop tokens, manage your whitelist, set royalties, and edit metadata. Admin-only actions are enforced on-chain, so only the collection's creator wallet can make changes.

<figure><img src="/files/VgnUizROaCcY3Ej2ACI6" alt="Collection Manager in Studio 2.0"><figcaption><p>Paste a collection address to load it, then manage it. The network toggle keeps testnet and mainnet separate.</p></figcaption></figure>

## Loading a collection

Open [Manage a Collection](https://studio.stargaze.zone/manage) and paste your collection address (the one shown when you launched). Toggle **Mainnet / Testnet** to match where your collection lives. Connect your wallet to broadcast changes; once connected, your own collections are listed automatically.

## What you can change

Depending on the collection type, the manager lets you:

* **Pricing** — update the mint price and per-wallet limit.
* **Timing** — change the mint start, mint end, and secondary-trading start.
* **Airdrop** — mint tokens directly to any address (great for team allocations or giveaways).
* **Supply tools** — shuffle the reveal order, or burn the remaining unminted supply.
* **Withdraw** — collect your mint proceeds.
* **Whitelist** — attach or replace the whitelist. See [Whitelists](/create-and-launch/whitelists).

{% hint style="info" %}
**Linked times.** When you change a whitelist phase boundary or the mint start, Studio automatically carries the change to everything that depends on it — in a single transaction — so your phases and mint window always stay consistent. No hunting through multiple screens to keep dates in sync.
{% endhint %}

## Royalties

<figure><img src="/files/Joz3sDLHfCeh81wLGqfz" alt="Royalties manager in Studio 2.0"><figcaption><p>Set or update your secondary-sale royalty and payout address.</p></figcaption></figure>

Set the percentage you earn on secondary sales and the address it's paid to — a single wallet, a multisig, or a split. Your royalty is paid automatically to that address on every resale. A common range is **2–5%**: high enough to earn, low enough that it doesn't discourage trading. You can update it later from [Royalties](https://studio.stargaze.zone/manage/royalties).

{% hint style="warning" %}
**Renew your royalties every year.** A collection's royalties are reduced to 0% if the creator doesn't stay active. To keep them enforced, renew your creator activity once a year from the [Royalties](https://studio.stargaze.zone/manage/royalties) manager in Studio.
{% endhint %}

## Update metadata

<figure><img src="/files/pnS05urJRZwXg147J4MK" alt="Update metadata in Studio 2.0"><figcaption><p>Update the metadata of individual tokens in your collection.</p></figcaption></figure>

Update the metadata of individual **tokens** in your collection — the pointer to each token's image, name, and traits. From [Update Metadata](https://studio.stargaze.zone/manage/metadata) you can also permanently **freeze** a token's metadata so it can never change again.

## What can't be changed

Some things are fixed at launch and permanent:

* **Total supply** (for fixed-supply collections)
* **The collection's contract address**
* **Your permanent Arweave art** (that's the point — it can't be lost *or* swapped)

## Next steps

* [Whitelists](/create-and-launch/whitelists) — manage allowlist phases
* [Costs & Fees](/create-and-launch/costs-and-fees) — what management actions cost in gas


# Launch Day & Beyond

Your collection is built and tested — here's how to run mint day and keep building afterward.

## Launch day

**Before the mint opens**

* Announce the final details and timing to your community
* Share the direct link to your collection's page
* Be available to answer questions as people arrive

**During the mint**

* Follow the mint on your collection's page on the marketplace
* Engage with your community and celebrate milestones
* Use the [Collection Manager](/create-and-launch/managing-your-collection) if you need to adjust timing or airdrop — most issues are quick to resolve; reach [creator support](/help/community-and-support) if you need a hand

## Secondary market

Once minted, your NFTs trade on the **Stargaze marketplace**:

* Collectors can list, make offers, and resell freely
* Your **creator royalty is paid automatically** on every resale (see [Costs & Fees](/create-and-launch/costs-and-fees))
* Keep an eye on floor price, volume, and holder distribution to gauge your collection's health

{% hint style="warning" %}
**Renew your royalties every year.** A collection's royalties are reduced to 0% if the creator doesn't stay active. Keep them enforced by renewing your creator activity once a year from the [Royalties manager](/create-and-launch/managing-your-collection) in Studio.
{% endhint %}

## Rewarding holders

Want to airdrop to your holders or run a follow-up drop?

1. Export a holder list with [Snapshots](/create-and-launch/creator-tools).
2. Airdrop tokens straight to those wallets from the [Collection Manager](/create-and-launch/managing-your-collection), or use the list as a whitelist for your next mint.

## Revealing later

Vending collections reveal randomly as people mint. If you launched with placeholder art and want to reveal the real pieces afterward, update the token metadata from [Update Metadata](/create-and-launch/managing-your-collection) — the on-chain art pointer is the token field you can change after launch.

## Building for the long term

The collections that last tend to:

* **Keep a real community** — regular communication, and a reason for holders to stay engaged
* **Add utility** — holder-only access, allowlists for future drops, collaborations
* **Evolve** — companion collections, trait upgrades, cross-collection events

## Need help?

* Check the [FAQ](/create-and-launch/faq)
* Join the Stargaze **Discord**
* Reach out to [creator support](/help/community-and-support)


# Creator Tools

Studio 2.0 bundles the utilities you need to prepare and run a collection — generating art, building metadata, optimizing files, and snapshotting holders — so you don't have to leave the app or hand-edit files.

## NFT Generator

<figure><img src="/files/ceDdK09HNdg2BVjBp1go" alt="NFT Generator in Studio 2.0"><figcaption><p>Layer traits, set rarities, and generate a full collection — art and metadata together — in your browser.</p></figcaption></figure>

Build a full generative collection from a folder of trait layers. Set rarity weights, add exclusion rules and required pairs, reserve 1/1s, and generate the artwork **and** its metadata together — ready to upload and mint via Vending. Everything runs in your browser (up to 2,000 tokens in-app, more via generate-to-folder).

[Open the NFT Generator →](https://studio.stargaze.zone/stargen)

## Meta Maker

<figure><img src="/files/pTBCFFjNy38ITfsBNyt1" alt="Meta Maker in Studio 2.0"><figcaption><p>Generate CW721 / Stargaze-compliant metadata JSON without hand-editing files.</p></figcaption></figure>

Generate correctly-formatted metadata JSON without touching a text editor. Modes include a single repeated template, a custom list (paste names or a CSV), batches with their own traits, and weighted-random combinations. It exports the metadata as a set of numbered JSON files you can use for your collection.

[Open Meta Maker →](https://studio.stargaze.zone/meta-maker)

## Image & Video Resizer

<figure><img src="/files/G8wivBwYlsdTTFyIQzBV" alt="Image and Video Resizer in Studio 2.0"><figcaption><p>Compress images and video before paying for permanent storage.</p></figcaption></figure>

Compress your images (to WebP) and video (to MP4) before you upload. Because Arweave storage is priced by total file size, shrinking your files first is the simplest way to lower your permanent-storage cost — often significantly.

[Open the Resizer →](https://studio.stargaze.zone/resizer)

## Snapshots

<figure><img src="/files/2rvNJRnW6SSZQWDbEpdD" alt="Holder Snapshots in Studio 2.0"><figcaption><p>Export a holder or owner list from any collection — ready for airdrops and allowlists.</p></figcaption></figure>

Export a holder or owner list from any Cosmos Hub collection as a CSV — the foundation for airdrops and whitelists. Snapshots resolves staking/DAO contracts to real holders, merges holdings across Cosmos Hub and Osmosis for bridged collections, and offers an addresses-only export for allowlists.

[Open Snapshots →](https://studio.stargaze.zone/snapshots)

## Arweave Uploader

<figure><img src="/files/eNqgmS463wR9588K3kTG" alt="Arweave Uploader in Studio 2.0"><figcaption><p>Permanently store a large collection on Arweave with your own credit, then launch.</p></figcaption></figure>

For large or advanced uploads (including collections over 1 GB), the Uploader stores your files permanently on Arweave and gives you back the permanent addresses to launch with.

[Open the Uploader →](https://studio.stargaze.zone/uploader)

## Next steps

* [Creating a Collection](/create-and-launch/creating-a-collection) — turn your generated art into a live drop
* [Whitelists](/create-and-launch/whitelists) — use a snapshot as an allowlist


# Developer Tools

Studio 2.0 includes a set of advanced, on-chain tools for power users and builders. You don't need these to launch a normal collection — but they're there when you want direct control.

{% hint style="warning" %}
These tools broadcast real transactions to the blockchain. Use the **testnet** toggle to experiment safely before doing anything on mainnet.
{% endhint %}

## Contract Console

<figure><img src="/files/GvCWz3qRObFFMf68jMVd" alt="Contract Console in Studio 2.0"><figcaption><p>Query and execute against any CosmWasm contract directly.</p></figcaption></figure>

Send raw queries and execute messages against any CosmWasm contract. Useful for inspecting contract state or running actions Studio doesn't expose in its guided flows.

[Open the Contract Console →](https://studio.stargaze.zone/contracts)

## Token Factory

<figure><img src="/files/cuY1H8MQiQppnoFOtfde" alt="Token Factory in Studio 2.0"><figcaption><p>Create a native token denom via the chain's token factory module.</p></figcaption></figure>

Create a native token denomination using the chain's `x/tokenfactory` module. Handy for projects that need their own native denom alongside their NFTs.

[Open the Token Factory →](https://studio.stargaze.zone/tokenfactory/create)

## Oracle

<figure><img src="/files/ZVZPm5Oex4vY7DmgmSmw" alt="Oracle tool in Studio 2.0"><figcaption><p>Instantiate and interact with an on-chain oracle contract.</p></figcaption></figure>

Instantiate and interact with an on-chain oracle — create it, execute against it, and post attestations. An advanced building block for apps that need verifiable on-chain data.

[Open the Oracle tool →](https://studio.stargaze.zone/oracle)

## Authz

<figure><img src="/files/srCkiCncjO4sM8pr8YNJ" alt="Authz grants in Studio 2.0"><figcaption><p>Grant and revoke on-chain permissions with authz.</p></figcaption></figure>

Manage `authz` grants — delegate specific on-chain permissions to another address for a set time, and revoke them when you're done. Useful for automation and delegated operations.

[Open Authz →](https://studio.stargaze.zone/authz)

## Next steps

* [Developers overview](/developers/overview) — contract references and integration docs
* [Creating a Collection](/create-and-launch/creating-a-collection) — the guided, no-code flows


# Guidelines

Standards and best practices for launching on Stargaze. Following these keeps your collection in good standing and helps collectors trust it.

## What we encourage

Collections that:

* Feature **original artwork**
* Have **clear, honest descriptions**
* Provide genuine value to collectors
* Represent real creative effort

## Not allowed

The following will get a collection removed:

* Stolen or plagiarized artwork
* Copyright infringement
* Impersonating other artists or projects
* Spam or duplicate collections
* Pornographic content

## Verification

Notable collections may be verified with a **blue checkmark**, which adds visibility on the marketplace. Verification applications aren't open at the moment.

## Best practices

* **Be transparent** — share a realistic roadmap (if you have one), disclose your team, and communicate openly about challenges.
* **Get your metadata right** — accurate traits, clean image formatting, working external links, and complete descriptions.
* **Price fairly** — research comparable collections, don't overprice the initial mint, and leave room for secondary growth.
* **Build genuine community** — engage before, during, and after launch, and deliver on what you promise.

## Staying safe

Scammers and impersonators are common in NFT communities. Protect yourself:

* The **Stargaze team will never DM you first** — on Discord or anywhere else.
* Don't click links sent by strangers, and don't trust anyone who messages you claiming to be Stargaze support.
* Only use official links — start from [studio.stargaze.zone](https://studio.stargaze.zone) and the official Stargaze Discord.
* **Never share your seed phrase or private keys** with anyone, for any reason.

## Reporting

See something wrong? Use the **Report** button on any collection, or contact moderation via the Stargaze **Discord**.

## Questions?

* Join the creator channels on **Discord**
* Review the [FAQ](/create-and-launch/faq)
* Contact **creator support** for specific situations


# FAQ & Troubleshooting

Common questions about Studio 2.0. Still stuck? See [Community & Support](/help/community-and-support).

## General

**What's different about Studio 2.0?** It stores your art and metadata **permanently on Arweave** — pay once, kept forever — instead of on IPFS, which needs ongoing pinning. It also adds a full collection manager, built-in creator tools, and a testnet-first workflow. See [What is Arweave?](/create-and-launch/what-is-arweave).

**Do I need to know how to code?** No. The creation and management flows are fully guided. The [Developer Tools](/create-and-launch/developer-tools) are optional extras for advanced users.

**Which wallet do I need?** Keplr — your normal Cosmos wallet, the same one you use to collect on Stargaze.

## Testnet & mainnet

**Do I have to use testnet?** It's strongly recommended. You rehearse the on-chain steps for free on testnet — the app tops up your testnet ATOM automatically — so you can get everything right before going live. Storage is the exception: Arweave has no testnet, so that upload is real and permanent, but you pay for it once and it carries over to mainnet.

**If I test on testnet, do I re-upload for mainnet?** No. Your Arweave files are permanent and network-agnostic, so mainnet reuses the exact files from testnet. You only pay the on-chain creation fee and gas to go live — never a second storage charge.

## Storage & costs

**Are my files really permanent?** Yes. Once uploaded to Arweave, they're stored forever with no renewals — and because the address is content-based, the file can't be swapped or lost.

**Why is storage paid in ATOM?** Studio 2.0 quotes and charges Arweave storage in Cosmos-native ATOM, right in the app — no credit card or separate storage account needed. See [Costs & Fees](/create-and-launch/costs-and-fees).

**How do I keep my storage cost low?** Shrink your files before uploading with the [Image & Video Resizer](/create-and-launch/creator-tools). Storage is priced by size, so smaller files cost less.

**Can my collection be minted in STARS?** Yes — you can price your mint in ATOM or STARS. Network fees (creation, gas, storage) are always in ATOM.

## After launch

**What can I change after launching?** Pricing, per-wallet limits, mint start/end, trading start, royalties, whitelist, and (where allowed) metadata — all from the [Collection Manager](/create-and-launch/managing-your-collection).

**What can't I change?** Total supply (for fixed-supply collections), the contract address, and your permanent Arweave art.

## Troubleshooting

**My collection's images aren't showing on the marketplace yet.** Freshly uploaded Arweave files can take a little time to propagate across gateways before every image resolves everywhere. This usually settles on its own shortly after upload. If images are still missing well after launch, reach out in [Community & Support](/help/community-and-support).

**A transaction failed with an "out of gas" error.** Make sure your wallet is on the right network and has enough ATOM for gas, then retry. If it persists, hard-refresh the page to load the latest version of Studio and try again.

**The manager says "connect your wallet to broadcast actions."** Loading a collection to view it doesn't require a wallet, but making changes does — and only the collection's creator wallet can perform admin actions. Connect the wallet you launched with.

**My whitelist members aren't showing on another device.** Studio keeps a readable copy of your member list on the device you built it on. To move it, use **Download CSV** on the [Whitelists](/create-and-launch/whitelists) page and re-import it where you need it. The whitelist itself still works — minting isn't affected.


# What is a Stargaze Name?

A **Stargaze Name** is a short, human-readable identity for your Cosmos Hub wallet.

Instead of this:

```
cosmos1h7vk2ycx8m4gq3n0dzp9awufe5s6tlr4jb2xdq7mve3n8ku0y9rs2pfw6c
```

people see this:

```
@stargazer
```

Same wallet. One is impossible to remember and easy to get wrong; the other is you.

## What a name gives you

Registering a name gives you four things at once:

* **An identity.** Your name replaces your address everywhere on Stargaze — the navbar, your profile, activity feeds, notifications, search results, owner and buyer rows.
* **A profile.** Your name carries a profile picture, a banner, and links (X, Discord, Telegram, website, EVM address). Set them once and they follow you across the site.
* **An address it points to.** By default your own wallet — but a name can also point at a collection contract, which is how projects get a clean collection URL.
* **An NFT.** The name *is* a CW721 NFT in your wallet. You can hold it, transfer it, list it, or auction it like any other collectible.

## The format

Stargaze Names on the Cosmos Hub are **bare** — there is no `.stars`, `.cosmos`, or any other suffix. The name is just the word. Stargaze displays it with an `@` in front, the way a social handle is shown, but the `@` is not part of the name.

| Rule               | Detail                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------ |
| Length             | 3 to 62 characters                                                                         |
| Allowed characters | lowercase letters `a–z`, digits `0–9`, and hyphens `-`                                     |
| Not allowed        | uppercase, spaces, dots, emoji, or any other symbol                                        |
| Hyphens            | cannot be the first or last character, and cannot sit in the 3rd and 4th position together |

Names are not case-sensitive because uppercase simply isn't valid — `Stargazer` is rejected, `stargazer` is the name.

## Names are leased, not owned permanently

This is the most important thing to understand before registering.

A name is registered for a **term of 1 to 10 years**, paid up front in ATOM. Before that term ends you renew it. If you never renew, the name eventually goes back to the public and someone else can take it.

This is deliberate. It keeps the namespace in circulation rather than allowing names to be held indefinitely by wallets that have been abandoned.

Selling or transferring a name does **not** reset the clock. The buyer inherits whatever time is left on the lease and has to renew it themselves.

See [Renewing a Name](/stargaze-names/renewals) for exactly how renewals, the grace period, and expiry work.

## Where names show up on Stargaze

<table><thead><tr><th width="230">Where</th><th>What you see</th></tr></thead><tbody><tr><td><strong>Names</strong> in the top navbar</td><td>Register, Trade, and My Names</td></tr><tr><td><a href="https://stargaze.zone/names">stargaze.zone/names</a></td><td>Search for a name and register it</td></tr><tr><td><a href="https://stargaze.zone/m/names">stargaze.zone/m/names</a></td><td>The Names collection on the marketplace — browse, buy, and sell names</td></tr><tr><td><code>/m/names/&#x3C;name></code></td><td>An individual name's page, like any other NFT</td></tr><tr><td>Profile → <strong>Names</strong> tab</td><td>Every name a wallet owns, its expiry date, and Edit / Renew buttons if it's yours</td></tr><tr><td>Your profile header</td><td>Your name as your display name, plus the profile picture and banner you set on it</td></tr><tr><td>Everywhere an address appears</td><td>Activity, notifications, search, offers, owner rows — the address is replaced by the name it resolves to</td></tr><tr><td>Collection URLs</td><td>A collection whose creator pointed a name at it gets a readable URL instead of a contract address</td></tr></tbody></table>

## Coming from the Stargaze chain?

Names that existed on the original Stargaze chain were migrated to the Cosmos Hub for you — you don't need to re-register them. They arrived with a **one-year lease** starting from the August 2026 migration, so they will need renewing like any other name.

Check yours: open your profile, go to the **Names** tab, and look at the **Expires** column.

{% hint style="info" %}
Migrated names kept their text records where possible, but it's worth opening **Edit** once to confirm your links and profile picture are the ones you want.
{% endhint %}

## Next steps

* [Registering a Name](/stargaze-names/registering-a-name) — check availability, pricing, and claim one
* [Renewing a Name](/stargaze-names/renewals) — keep it, step by step
* [Managing Your Name](/stargaze-names/managing-your-name) — profile picture, banner, links, and where it points
* [Buying & Selling Names](/stargaze-names/buying-and-selling-names) — trade names on the marketplace


# Registering a Name

Everything happens on one page: [stargaze.zone/names](https://stargaze.zone/names).

## Before you start

You need:

* A **Keplr** wallet connected to Stargaze. See [Creating a Wallet](/start-here/creating-a-wallet) and [Connecting to Stargaze](/start-here/connecting-to-stargaze).
* **ATOM** on the Cosmos Hub for the registration price, plus a fraction of a cent for gas. See [Getting ATOM](/start-here/getting-atom).

## What a name costs

Names are priced by **length**, per year, in ATOM. Shorter names are rarer, so they cost more.

| Name length          | Price per year |
| -------------------- | -------------- |
| 3 characters         | 100 ATOM       |
| 4 characters         | 10 ATOM        |
| 5 or more characters | 1 ATOM         |

The term you choose is anywhere from **1 to 10 years**, and pricing is linear — a 5-year registration of a 6-character name costs 5 ATOM. There is no bulk discount for registering longer, but there is no penalty either, and it means you can't forget to renew for a decade.

{% hint style="info" %}
The price you see in the search bar is the price for **one year**. The full total for your chosen term is shown in the registration panel before you sign anything.
{% endhint %}

## Step by step

### 1. Search for your name

Go to [stargaze.zone/names](https://stargaze.zone/names) and type the name you want into the search box. You don't need to connect a wallet to search.

As you type, Stargaze checks the name against the chain and shows one of:

* A green tick and a price → **available**, you can register it
* **Not available** → someone already owns it (see [Already taken?](#already-taken) below)
* A red validation message → the name breaks one of the format rules

### 2. Check the format rules

A name must be:

* **3 to 62 characters**
* Made only of **lowercase letters, digits, and hyphens**
* Not starting or ending with a hyphen, and without hyphens in the 3rd and 4th position together

Typing an uppercase letter, a space, or a dot will show an error rather than silently correcting it — there is no `.stars` suffix on the Cosmos Hub.

### 3. Connect your wallet

If you aren't connected, the button reads **Connect Wallet**. Connect, and it becomes **Register**.

### 4. Choose your term

Click **Register** to open the registration panel. Set **Years** with the stepper — anywhere from 1 to 10.

The summary updates live and shows:

* **Name** — what you're registering
* **Registration** — the number of years
* **Total** — the full price in ATOM

### 5. Decide whether to point the name at your wallet

Below the summary there's a checkbox: **Associate with your wallet address**.

Tick it if you want this name to become your identity right away — your address will resolve to it, and Stargaze will start showing `@yourname` instead of `cosmos1…` everywhere.

Leave it unticked if you're registering a name to hold, gift, or resell. You can associate it later at any time from [Managing Your Name](/stargaze-names/managing-your-name).

{% hint style="warning" %}
If your wallet already resolves to a different name, a note tells you so. Ticking the box repoints your address to the new name — one address can point at only one name at a time. The old name stays yours; it just stops being your display name.
{% endhint %}

### 6. Register and sign

Click **Register** and approve the transaction in Keplr. When it confirms you'll see a **Registration Successful** screen with your new name, and a share button if you want to post it.

The name is now an NFT in your wallet.

### 7. Set up your profile

Open your profile, go to the **Names** tab, and click **Edit** on your new name to add a profile picture, a banner, and your links. See [Managing Your Name](/stargaze-names/managing-your-name).

## Presale (whitelist) registration

Before public registration opened, Stargaze ran a three-stage **presale** for whitelisted wallets. If a stage is live, the Names page shows it as a **Presale** panel with a tab per stage, a live countdown, and an **Eligible** / **Not Eligible** badge once your wallet is connected.

During a presale stage:

* **5+ character names are free** for the first year
* **3–4 character names are half price** for the first year
* Each stage has its own **per-wallet allowance** — the panel shows how many you have left
* Registration is **limited to whitelisted wallets** while a stage is live; everyone else waits for public registration

{% hint style="info" %}
The discount only ever covers the **first year**. If you pick a longer term during a presale, the extra years are added at the normal price in the same transaction, and the panel breaks that out as "1st year — whitelist" and "Years 2–N — full price".
{% endhint %}

**Public registration opened on 11 August 2026, 19:00 UTC.** From then on, anyone can register any available name at the normal price.

## Recently expired names carry a premium

If a name lapsed recently, it enters a 21-day **premium window** before it becomes ordinary again. It's registerable, but the price is the normal price plus a surcharge that starts at **100 ATOM** and falls steadily to zero across those 21 days.

When that applies, the page tells you: *"This name recently expired and carries a temporary premium that decreases over time."* Wait, and it gets cheaper. See [Renewing a Name](/stargaze-names/renewals#the-lifecycle-of-a-name) for the full lifecycle.

## Already taken?

If the name you want is owned, you have four options:

1. **Buy it.** Check whether it's listed on [the Names collection](https://stargaze.zone/m/names) — see [Buying & Selling Names](/stargaze-names/buying-and-selling-names).
2. **Make an offer.** Even an unlisted name can receive an offer on its page; the owner can accept it.
3. **Try a variation.** Hyphens and digits are valid characters.
4. **Wait for it to lapse.** Names expire. A name that isn't renewed becomes registerable again after its grace and premium windows — roughly 111 days after its expiry date.

## Next steps

* [Managing Your Name](/stargaze-names/managing-your-name) — point it somewhere, set your picture and links
* [Renewing a Name](/stargaze-names/renewals) — don't lose it
* [Names FAQ](/stargaze-names/faq)


# Renewing a Name

A Stargaze Name is leased, not owned forever. Renewing is how you keep it. It takes about thirty seconds and one transaction.

## Summary

* Your name has an **expiry date**. Find it in your profile's **Names** tab.
* Renew any time before that date — **renewing early costs you nothing extra**, because the new term is added on top of your existing one.
* If you miss it, you get **90 days of grace** to renew. Your name stops working during those 90 days, but nobody else can take it.
* After the grace period, the name is released. Someone else can register it, and it's gone.

## Where to find your expiry date

1. Connect your wallet.
2. Open **Profile → Names** (or the **Names** menu in the navbar → **My Names**).
3. The **Expires** column shows the date for every name you own. Sort by **Expiring Soonest** to put the urgent ones on top.

A red badge appears when something needs attention:

| Badge       | Meaning                                                                     |
| ----------- | --------------------------------------------------------------------------- |
| *(none)*    | Registered and working normally                                             |
| **Grace**   | Expired. Still yours, but it has stopped resolving. Renew now.              |
| **Expired** | Past the grace period. It can no longer be renewed and may already be gone. |

{% hint style="warning" %}
Stargaze does not email or message you before a name expires. Nothing will chase you. Check the **Names** tab now and then, or put a reminder in your calendar a month before the date.
{% endhint %}

## How to renew, step by step

### 1. Open your Names tab

Connect your wallet, then go to **Profile → Names**.

### 2. Click Renew

Each name you own has **Edit** and **Renew** buttons on the right of its row. Click **Renew**.

{% hint style="info" %}
If a name is currently **listed** or in a **live auction**, the Edit button is disabled — but Renew still works. You never have to delist a name to keep it alive.
{% endhint %}

### 3. Choose how many years to add

Use the **Years** stepper. You can add anywhere from 1 year up to the point where the total lease would exceed the 10-year cap.

For example, a name that expires in 3 years can be extended by up to 7 more.

### 4. Check the summary

The panel shows exactly what will happen:

* **Name** — the name being renewed
* **Renewal** — how many years you're adding
* **Current expiry** — today's expiry date
* **New expiry** — the date after this renewal
* **Total** — the price in ATOM

Read the **New expiry** line. That is the whole point of the transaction.

### 5. Renew and sign

Click **Renew** and approve in Keplr. You'll get a **Renewal Successful** confirmation showing the new expiry date.

## Renewing early

**Renewing early is always safe, and is the recommended practice.**

When you renew, the new years are added to your **existing expiry date**, not to today. Renew a name eleven months early and you keep those eleven months — they are added to, not replaced by, the term you just bought.

There is therefore no advantage in waiting:

* You can renew the day after you register.
* You can renew on any day of the lease.
* You can renew several times; each renewal stacks on the last.
* The only limit is the **10-year cap** — the lease can never extend more than 10 years past today.

### If the Years stepper is missing

If a name is already at the 10-year cap, the panel hides the stepper and says:

> This name is already at its maximum lease term and cannot be renewed right now.

This is expected: the name is secured for a decade. The cap moves forward with time, so the lease can be extended again later.

## What renewal costs

Renewal is charged at the **standard length-based price**, the same as registration:

| Name length          | Price per year |
| -------------------- | -------------- |
| 3 characters         | 100 ATOM       |
| 4 characters         | 10 ATOM        |
| 5 or more characters | 1 ATOM         |

Two things to know:

* **Presale and whitelist discounts never apply to renewals.** Those covered the first year of a registration only.
* **There is no late fee.** Renewing during the grace period costs exactly the same as renewing early.

## The lifecycle of a name

Every name moves through the same four states. They are worked out purely from the expiry date and the clock — there's no queue and no manual review.

| State          | When                  | Does it resolve? | Who can act                                                                                    |
| -------------- | --------------------- | ---------------- | ---------------------------------------------------------------------------------------------- |
| **Registered** | Up to the expiry date | ✅ Yes            | Anyone can renew it                                                                            |
| **Grace**      | 90 days after expiry  | ❌ No             | Anyone can renew it. Nobody can register it.                                                   |
| **Premium**    | The next 21 days      | ❌ No             | Anyone can register it, at the normal price plus a surcharge that decays from 100 ATOM to zero |
| **Available**  | After that            | ❌ No             | Anyone can register it, at the normal price                                                    |

```
 registered            expiry           +90 days          +21 days
      │  Registered       │    Grace        │   Premium      │   Available
      ▼───────────────────▼─────────────────▼────────────────▼──────────────▶
        works normally      stops working     someone else     someone else
        renew any time      renew any time    can take it      can take it
```

### Renewing during the grace period

You keep the right to renew for **90 full days** after expiry, and it costs the normal price. But two things are true during grace:

1. **Your name stops working.** It no longer resolves to your address. Your profile falls back to showing `cosmos1…`, and anyone sending to your name will find nothing there.
2. **You lose the lapsed time.** The renewal still extends from your **original expiry date**, so any days spent in grace come out of the new term. Lapse for 60 days and renew for a year, and you get roughly 305 usable days.

The renewal panel says this directly when it applies:

> This name is in its grace period and has stopped resolving. Renewing extends from the original expiry date, not from today.

### After the grace period

Once the 90 days are up, renewal is no longer possible. The panel will tell you:

> This name is past its grace period and can no longer be renewed. It must be registered again.

At that point the name enters the 21-day **premium** window and then becomes fully available. You can still get it back by **registering** it again — but so can anybody else, and during the premium window the price carries a surcharge that starts at 100 ATOM and falls to zero over the 21 days.

## Renewing someone else's name

Renewal is permissionless: **anyone can renew any name**, and the name stays with its current owner. You cannot take a name by renewing it.

This is useful in several situations:

* A project can renew the names of its team or community members.
* A DAO can renew a name held in a multisig from any member's wallet.
* You can renew a friend's name as a gift.

To do it, open the owner's profile, go to their **Names** tab, and use the name's page — or renew it directly from your own wallet against that name.

## If you bought a name from someone else

Buying a name **does not reset its lease**. You inherit whatever term was left when you bought it, which could be years or could be days.

Check the expiry the moment the name lands in your wallet, and renew if it's close. See [Buying & Selling Names](/stargaze-names/buying-and-selling-names#checking-the-lease-before-you-buy).

## Next steps

* [Managing Your Name](/stargaze-names/managing-your-name) — profile picture, banner, links
* [Buying & Selling Names](/stargaze-names/buying-and-selling-names) — trading, and what to check first
* [Names FAQ](/stargaze-names/faq)


# Managing Your Name

Once you own a name you can decide what it points at, what picture and banner it shows, and which links it carries. All of it lives in one place.

## Opening the editor

1. Connect your wallet.
2. Go to **Profile → Names** (or the **Names** menu → **My Names**).
3. Click **Edit** on the name you want to change.

Everything below is edited in that one panel and saved in a **single transaction**, so multiple changes require only one signature.

{% hint style="info" %}
Viewing someone else's profile shows a **View** button instead, which opens the same panel read-only. It's a quick way to see who a name points at and what links it carries.
{% endhint %}

## Associated address — what the name points at

The **Associated Address** is the address people reach when they resolve your name. Pick one of three modes:

<table><thead><tr><th width="220">Mode</th><th>What it does</th></tr></thead><tbody><tr><td><strong>Wallet Address</strong></td><td>Points the name at your own connected wallet. This is what makes <code>@yourname</code> appear instead of your address across Stargaze.</td></tr><tr><td><strong>Collection Address</strong></td><td>Points the name at a collection contract you created. The collection then gets a readable URL and shows the name on the site.</td></tr><tr><td><strong>No Association</strong></td><td>The name resolves to nothing. Use this for names you hold to trade or gift.</td></tr></tbody></table>

For **Collection Address**, a dropdown lists the collections your wallet created — pick one and the address fills itself in. You can also paste a contract address directly; it must be a valid Cosmos Hub **contract** address, and you must be its admin.

{% hint style="warning" %}
**One address, one name.** An address can resolve to only one name at a time. Pointing a second name at the same wallet moves the association — the first name stays yours, it just stops being your display name.
{% endhint %}

## Profile picture and banner

Two pickers let you choose NFTs you already own:

* **Profile Image NFT** — becomes your avatar on Stargaze
* **Banner NFT** — becomes the banner across the top of your profile

Click the picker, choose a collection, then choose a token. You must **own the NFT** at the moment you save; the chain checks it.

If you later sell that NFT, the pointer stays where it is — it just points at something you no longer own. Update it when that happens.

## Links and records

Five records can be attached to a name:

| Record          | Format                                                                    |
| --------------- | ------------------------------------------------------------------------- |
| **X (Twitter)** | handle only, 2–15 characters (letters, numbers, underscores)              |
| **Discord**     | username, 2–32 lowercase characters (letters, numbers, dots, underscores) |
| **Telegram**    | username, 5–32 characters (letters, numbers, underscores)                 |
| **Website**     | a full URL, e.g. `https://example.com`                                    |
| **EVM Address** | `0x` followed by 40 hex characters                                        |

Type the value, leave the rest blank, and hit **Save Changes**. Clearing a field removes that record.

### Verified records

An X handle can carry a **Verified** badge. If you edit a record that is currently verified, a note appears under the field:

> Saving a change to this record removes its verification.

That's expected — verification is tied to the exact value that was checked, so changing the value invalidates it.

## Saving

**Save Changes** builds one transaction containing only the fields you changed, and Keplr shows it for approval. Fields you didn't touch are left alone.

The button stays disabled until there's a real change to save, so if nothing happens when you click it, nothing has changed yet.

## Actions that clear your settings

{% hint style="danger" %}
**Moving a name erases everything attached to it.** Whenever a name changes hands — a transfer, a sale, or simply being placed into marketplace escrow — its associated address, its reverse link, all five text records, its profile picture and its banner are cleared.
{% endhint %}

That means:

1. **Transferring or selling a name** hands the buyer a completely clean name. Nothing of yours travels with it. That's by design — you don't want your Discord handle following a name you sold.
2. **Listing a name for sale escrows it**, which counts as a move. Listing and then cancelling the listing gets the name back, but **your records will be gone** and you'll have to set them up again.

Consider this before listing a name you use as your identity. If you are testing the market on price, be prepared to set your profile up again.

Renewing a name does **not** touch any of this — renewals never move the NFT.

## When editing is blocked

The **Edit** button is greyed out in two cases, with a tooltip explaining why:

* *Listed names cannot be edited until they are delisted*
* *Auctioned names cannot be edited while the auction is live*

While a name sits in marketplace or auction escrow, your wallet isn't holding it, so the chain won't accept edits from you. Cancel the listing or auction to get it back.

**Renew** remains available the whole time.

## Next steps

* [Renewing a Name](/stargaze-names/renewals) — keep it alive
* [Buying & Selling Names](/stargaze-names/buying-and-selling-names) — what a listing does to your name
* [Names FAQ](/stargaze-names/faq)


# Buying & Selling Names

Names are NFTs, so they trade on Stargaze exactly like art does — listings, offers, and reserve auctions. Two characteristics distinguish names from an ordinary collectible, and both are covered on this page.

Browse them all at [stargaze.zone/m/names](https://stargaze.zone/m/names).

## Buying a name

### Buy a listed name

1. Open the [Names collection](https://stargaze.zone/m/names) and find the name — use the search and the collection filters.
2. Open the name's page and check its **expiry** (see below).
3. Click **Buy Now** and approve the transaction.

The name lands in your wallet immediately.

### Make an offer on any name

A name doesn't have to be listed to receive an offer:

1. Open the name's page.
2. Click **Make Offer**, enter your amount and expiry.
3. Confirm.

Your offer sits there until the owner accepts it, you cancel it, or it expires. You can see all your open offers under **Profile → Offers**.

### Bid in an auction

Some names are sold by **reserve auction** instead of a fixed price. Place a bid and it's held in escrow; if someone outbids you, you're refunded automatically.

## Checking the lease before you buy

{% hint style="danger" %}
**A name that has expired is still tradeable.** The marketplace can only see who holds the NFT — it cannot see the lease. So an expired name can be listed, bought and paid for, and then **re-registered by somebody else**, and there is no refund. Always check the expiry before you buy or bid.
{% endhint %}

Before you commit to a name, confirm which state it's in:

| State                 | Safe to buy?                                                                                                                                                                                         |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Registered**        | Yes — you inherit the remaining lease. Renew it when you're ready.                                                                                                                                   |
| **Grace**             | Risky. The name has expired and stopped resolving. It's still renewable, so renew it *immediately* after buying — you have until the grace period ends.                                              |
| **Premium / Expired** | Not advisable. Anyone can register that name directly from the [Names page](https://stargaze.zone/names), and doing so takes it out of the buyer's hands. Register it yourself instead of buying it. |

The quickest check is the owner's profile: open **Profile → Names** for the wallet selling it and read the **Expires** column and its badge. A **Grace** or **Expired** badge is your warning.

The same applies to bidding. If a released name is re-registered while your bid is live, the auction is cancelled and **your bid is refunded in full** — you lose no money, but you don't get the name.

## Selling a name

### List it for sale

1. Go to **Profile → Names** and open the name.
2. Click **List for Sale**, set your price, and confirm.

The name appears in the Names collection for anyone to buy.

### Accept an offer

Open the name's page, review the offers, and click **Accept**. Funds arrive in your wallet and the name goes to the buyer.

### Run an auction

Create a reserve auction from the name's page if you'd rather let the market find the price. You set the reserve, the duration, and optionally a buy-now price.

## Listing clears your records

{% hint style="warning" %}
**Listing a name moves it into escrow, and moving a name clears everything attached to it** — the address it points at, its profile picture, its banner, and all five links. Cancelling the listing returns the name, but not those settings. You'll have to set them up again.
{% endhint %}

Listing is therefore reversible for the name but not for your profile setup. Take that into account before listing a name you use as your identity.

While a name is listed or in a live auction its **Edit** button is disabled — the chain won't accept edits from you while the marketplace is holding it. **Renew** still works throughout, so a listed name can never expire out from under you for lack of access.

## Transferring without selling

To send a name to another wallet — a gift, or moving it to your own hardware wallet — open the name's page and use **Transfer**.

A transfer clears the same settings as a listing. The new owner gets a clean name and sets it up themselves.

## What a sale costs

Fees are the standard Stargaze marketplace fees, paid by the seller:

| Fee             | Amount              |
| --------------- | ------------------- |
| Marketplace fee | 2%                  |
| Royalty         | 5%                  |
| Gas             | fractions of a cent |

On a 100 ATOM sale the seller receives 93 ATOM.

The lease itself is untouched by a sale — no fee, no reset, no renewal. See [Renewing a Name](/stargaze-names/renewals).

## What makes a name valuable

The market decides, but the usual drivers are:

* **Length.** 3- and 4-character names are scarce, and priced that way at registration too.
* **Memorability.** Real words and clean handles beat random strings.
* **Relevance.** Project names, ticker symbols, community terms.
* **Time left on the lease.** A name with eight years on it is worth more than the same name with three weeks.

Check comparable sales in the collection's activity feed before pricing anything.

## Next steps

* [Renewing a Name](/stargaze-names/renewals) — the first thing to do after buying
* [Managing Your Name](/stargaze-names/managing-your-name) — set it up once it's yours
* [Fees](/collect/fees) — how marketplace fees work generally


# Names FAQ

## The basics

<details>

<summary>Does my name end in <code>.stars</code>?</summary>

No. Stargaze Names on the Cosmos Hub are **bare** — the name is just the word, with no suffix at all. Stargaze displays it with an `@` in front (`@stargazer`) the way a social handle is shown, but the `@` isn't part of the name either. Typing a dot into the search box will fail validation, because dots aren't a valid character.

</details>

<details>

<summary>What characters can a name contain?</summary>

Lowercase letters `a–z`, digits `0–9`, and hyphens. Between 3 and 62 characters long. A hyphen can't be the first or last character, and hyphens can't sit in the 3rd and 4th position together.

Uppercase isn't converted, it's rejected — the valid form of `Stargazer` is `stargazer`.

</details>

<details>

<summary>What does a name cost?</summary>

Per year, in ATOM: **100** for a 3-character name, **10** for 4 characters, **1** for 5 or more. You choose a term of 1 to 10 years and pay for all of it up front. See [Registering a Name](/stargaze-names/registering-a-name).

</details>

<details>

<summary>Can I own more than one name?</summary>

Yes, as many as you like. Only one of them can be the name your address resolves to at any moment — that's the one shown as your identity across Stargaze. The rest sit in your wallet and can be traded, gifted, or pointed at collections.

</details>

<details>

<summary>Can I change my name after registering?</summary>

Not the name itself — a name is fixed once minted. What you change is which name your address points at. Register the new name, tick **Associate with your wallet address**, and your identity moves. The old name stays yours until you sell it or let it lapse.

</details>

## Renewals and expiry

<details>

<summary>How do I know when my name expires?</summary>

**Profile → Names**, the **Expires** column. Sort by *Expiring Soonest* to bring the urgent ones to the top. There are no email or push reminders, so set a calendar reminder yourself.

</details>

<details>

<summary>Do I lose time if I renew early?</summary>

No. The years you buy are added to your **existing expiry date**, not to today. Renewing early is free of any penalty and is the safest habit. See [Renewing a Name](/stargaze-names/renewals#renewing-early).

</details>

<details>

<summary>Is renewing more expensive than registering?</summary>

No — it's the same length-based price. There's no late fee either. The one difference is that presale and whitelist discounts never apply to renewals; those covered the first year of a registration only.

</details>

<details>

<summary>What happens the day my name expires?</summary>

It stops resolving — your profile falls back to your raw address and the name no longer points anywhere. But it stays yours for **90 more days** (the grace period), during which you can renew it at the normal price and nobody else can register it.

</details>

<details>

<summary>I let my name lapse. Can I get it back?</summary>

Within 90 days of expiry, yes — just renew it. After that the name is released and anyone can register it. For the following 21 days it carries a **premium** surcharge that starts at 100 ATOM and decays to zero, then it becomes an ordinary available name. You can re-register it yourself, but so can anyone else.

</details>

<details>

<summary>Can someone else renew my name and steal it?</summary>

No. Renewal is permissionless — **anyone** can renew **any** name — but renewing never changes who owns it. Paying to renew a name you don't own is simply a gift to its owner.

</details>

<details>

<summary>Why does renewing during grace give me less than a full year?</summary>

Because the renewal extends from your **original expiry date**, not from today. Days spent lapsed come out of the new term. Lapse for 60 days and renew for a year, and roughly 305 days remain.

</details>

<details>

<summary>The Years stepper is missing from the renewal panel.</summary>

That means the name is already at its 10-year maximum lease and can't be extended further right now. Nothing is wrong — come back later, as the cap moves forward with time.

</details>

## Using your name

<details>

<summary>How do I get my name to show up instead of my address?</summary>

Point it at your wallet. Either tick **Associate with your wallet address** while registering, or afterwards open **Profile → Names → Edit** and choose **Wallet Address**. See [Managing Your Name](/stargaze-names/managing-your-name).

</details>

<details>

<summary>Can I set a profile picture and banner?</summary>

Yes — both come from NFTs you own, chosen in the name's **Edit** panel. You must own the NFT when you save. See [Managing Your Name](/stargaze-names/managing-your-name).

</details>

<details>

<summary>Can I point a name at my collection instead of my wallet?</summary>

Yes. In the **Edit** panel choose **Collection Address** and pick one of the collections your wallet created. The collection then gets a readable URL and shows the name on Stargaze.

</details>

<details>

<summary>Why is the Edit button greyed out?</summary>

The name is listed for sale or in a live auction, so the marketplace is holding it and the chain won't accept edits from your wallet. Cancel the listing or auction to edit again. **Renew** stays available the whole time.

</details>

## Buying and selling

<details>

<summary>Do my links and picture transfer with the name when I sell it?</summary>

No, and that's deliberate. Any move of the name — sale, transfer, or being placed into marketplace escrow — clears the address it points at, all five text records, the profile picture and the banner. The buyer receives a clean name.

The catch: **listing a name is a move**. Listing and then cancelling gets the name back but not your settings. See [Managing Your Name](/stargaze-names/managing-your-name#actions-that-clear-your-settings).

</details>

<details>

<summary>Does buying a name reset its expiry date?</summary>

No. You inherit whatever time is left on the lease. Check the expiry immediately after buying and renew if it's close.

</details>

<details>

<summary>Can I buy an expired name safely?</summary>

Be careful. An expired name is still a tradeable NFT, but anyone can register it out from under the buyer, with no refund. Buying a name in its **grace** period is workable if you renew immediately. Buying one that's past grace is not — register it directly instead. See [Buying & Selling Names](/stargaze-names/buying-and-selling-names#checking-the-lease-before-you-buy).

</details>

<details>

<summary>What are the fees on a name sale?</summary>

2% marketplace fee plus a 5% royalty, both paid by the seller, plus gas. A 100 ATOM sale nets the seller 93 ATOM.

</details>

## Migrating from the Stargaze chain

<details>

<summary>I had a name on the old Stargaze chain. Do I need to register it again?</summary>

No. Names from the Stargaze chain were migrated to the Cosmos Hub for you. They arrived with a **one-year lease** from the August 2026 migration, so check **Profile → Names** for the expiry date and renew before then.

</details>

<details>

<summary>Do my old text records still work?</summary>

Records were carried over where possible. Open **Edit** once to confirm your links and profile picture are what you want.

</details>

## Further help

See [Community & Support](/help/community-and-support).


# Integrating Names

Technical reference for resolving, registering, and displaying Stargaze Names from your own app, wallet, or indexer.

Everything below is on-chain and permissionless — no API key, no allowlist.

## Contracts

| Contract            | Role                                                                                             | Mainnet (`cosmoshub-4`)                                             |
| ------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| **name-collection** | The NFT + resolver. Owner, records, avatar, banner, forward and reverse resolution.              | `cosmos1pq7vpw5k3ad4jlaskuhm66gjapump23zz69ut9fck2p5k5p4sq9s79da69` |
| **name-registrar**  | The controller. Pricing, the lease clock, lifecycle, fee routing. Sole minter of the collection. | `cosmos1agnzrv9mwkufzjwux2yy3ff077x6phetdzgd2tffsr72ah33eunqt5pmnq` |
| **marketplace v2**  | Secondary sales. Escrows the NFT while listed.                                                   | `cosmos1tl0ptdmlz422z5pj20zujzyt3c96qp2g9vp83uj9pyj8q994tzhsl77adr` |
| **reserve auction** | Auctions. Escrows the NFT *and* the high bid.                                                    | `cosmos1jyx8zpvjxq2vdmquvrw6cwl2qp9slmnyy8dnpj3cgyvava2x7lmqhj3mmy` |

Testnet (`provider`):

| Contract        | Address                                                             |
| --------------- | ------------------------------------------------------------------- |
| name-collection | `cosmos1hl6dx3yepsm8tjz80jxp6c6tchm4mqljk6yp63gxj7h8n7xj3rgsjns5rc` |
| name-registrar  | `cosmos1af8xd3ctlahs3ccdweyvd6pmwsxmkjv76jfkef6f3hs6dsv9646snkfrq0` |

Mainnet and testnet hold completely independent state — a name registered on one does not exist on the other.

{% hint style="info" %}
Never hardcode the collection address if you can avoid it. Query the registrar's `{"config":{}}` and read `collection` from the response.
{% endhint %}

## System overview

A name is a **CW721 v0.22 NFT whose `token_id` is the name string**. Owning the NFT is owning the name. The **collection** holds ownership, records, and both directions of resolution. The **registrar** holds the lease clock (`EXPIRY[name]`), prices registrations, and is the only address allowed to mint or reclaim. Lifecycle status is not stored anywhere — it is derived from `expiry` plus the current block time.

## Common integration pitfalls

Five contract behaviours that regularly cause defects. Review them before implementing.

1. **The registrar does not resolve names.** It exposes six queries — `expiry`, `status`, `price`, `is_available`, `config`, and `whitelist_usage` — none of which map a name to an address. Resolution is implemented on the **collection**, behind the CW721 `extension` wrapper.
2. **An unregistered name returns an error, not `null`.** Over LCD the response is an HTTP 500 carrying `"Name not found"`. Most wallets have no name, so this is the expected path rather than an exceptional one: treat it as "no name", and do not log it, retry it, or surface it as a failure.
3. **`associated_address` and `owner_of` are not interchangeable.** A name owned by wallet A may point to wallet B, or to a contract. `owner_of` returns a well-formed but incorrect answer, and the two values coincide for most names, so the defect rarely appears during testing. Always resolve through `associated_address`.
4. **Resolution is expiry-gated.** Forward and reverse resolution return a result only while the lease is current. Both queries begin returning errors as soon as a name enters its grace period, even though the NFT remains owned and tradeable.
5. **Prices are denominated in `uatom`, not `ustars`.** The `price` query performs no availability check and will return a quote for a name that is already registered. Pair it with `status` before presenting a price.

## Resolving a name

### Forward — name → address

```bash
COL=cosmos1pq7vpw5k3ad4jlaskuhm66gjapump23zz69ut9fck2p5k5p4sq9s79da69
Q=$(echo -n '{"extension":{"msg":{"associated_address":{"name":"stargazer"}}}}' | base64)
curl -s "https://hub-rest.stargaze-apis.com/cosmwasm/wasm/v1/contract/$COL/smart/$Q"
# {"data":"cosmos1h7vk2ycx8m4gq3n0dzp9awufe5s6tlr4jb2xdq7mve3n8ku0y9rs2pfw6c"}
```

### Reverse — address → name

```bash
Q=$(echo -n '{"extension":{"msg":{"name":{"address":"cosmos1h7v..."}}}}' | base64)
curl -s "https://hub-rest.stargaze-apis.com/cosmwasm/wasm/v1/contract/$COL/smart/$Q"
# {"data":"stargazer"}
```

An address resolves to **at most one** name — the contract clears any previous association when a new one is set.

### With CosmJS

```ts
import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate';

const client = await CosmWasmClient.connect(RPC);

/** name -> address, or null when unregistered/expired */
async function resolveName(name: string): Promise<string | null> {
  try {
    return await client.queryContractSmart(COLLECTION, {
      extension: { msg: { associated_address: { name } } },
    });
  } catch {
    return null; // "Name not found" is the common case, not an error condition
  }
}

/** address -> name, or null when the address has no current name */
async function reverseLookup(address: string): Promise<string | null> {
  try {
    return await client.queryContractSmart(COLLECTION, {
      extension: { msg: { name: { address } } },
    });
  } catch {
    return null;
  }
}
```

Cache reverse lookups aggressively — they change rarely and you will call them on every address you render.

## Records, avatar, and banner

All on the collection, all behind the same `extension` wrapper, and — unlike resolution — **not** expiry-gated.

| Query                                          | Returns                              |
| ---------------------------------------------- | ------------------------------------ |
| `{"text_records":{"name":"stargazer"}}`        | `[{ name, value, verified }]`        |
| `{"image_nft":{"name":"stargazer"}}`           | `{ collection, token_id }` or `null` |
| `{"banner_nft":{"name":"stargazer"}}`          | `{ collection, token_id }` or `null` |
| `{"is_twitter_verified":{"name":"stargazer"}}` | `bool`                               |

```json
[
  { "name": "twitter", "value": "stargazezone",           "verified": true },
  { "name": "discord", "value": "stargazer",              "verified": null },
  { "name": "website", "value": "https://stargaze.zone",  "verified": null }
]
```

Record keys used by Stargaze: `twitter`, `discord`, `telegram`, `website`, `evm_address`. The contract doesn't restrict the key set, so treat unknown keys as opaque. `verified` is set by a verifier oracle and resets to `null` whenever the value changes.

Avatar and banner are **pointers**, not images — resolve `{collection, token_id}` through the CW721 the usual way. The owner is checked when the pointer is set, not when it's read, so a pointer can outlive the owner's holding of that NFT.

## The lease

### State machine

Status is a pure function of `expiry`, the config windows, and the clock. There is no status field on-chain and no cron job.

| State          | Condition              | Resolves | Registerable by                        | Renewable |
| -------------- | ---------------------- | -------- | -------------------------------------- | --------- |
| **Registered** | `now ≤ expiry`         | ✅        | nobody                                 | anyone    |
| **Grace**      | `≤ expiry + 90d`       | ❌        | nobody                                 | anyone    |
| **Premium**    | `≤ expiry + 90d + 21d` | ❌        | anyone, at `base·years + surcharge(t)` | —         |
| **Available**  | after that             | ❌        | anyone, at `base·years`                | —         |

```
status(name, t):
  e = expiry(name)
  if e is null:                    Available
  elif t <= e:                     Registered
  elif t <= e + GRACE:             Grace
  elif t <= e + GRACE + PREMIUM:   Premium
  else:                            Available
```

The premium surcharge decays **linearly** to zero across the 21-day window, measured from `expiry + GRACE`.

### Registrar queries

| Query                                 | Returns                                                                      |
| ------------------------------------- | ---------------------------------------------------------------------------- |
| `{"config":{}}`                       | `{ collection, config }` — the collection address plus every parameter below |
| `{"expiry":{"name":"…"}}`             | `{ expiry }` — nanosecond timestamp, `null` if never registered              |
| `{"status":{"name":"…"}}`             | `{ status: registered\|grace\|premium\|available, expiry }`                  |
| `{"is_available":{"name":"…"}}`       | `bool`                                                                       |
| `{"price":{"name":"…","years":1}}`    | `{ price, denom }` — includes the premium surcharge when applicable          |
| `{"whitelist_usage":{"address":"…"}}` | discounted-registration usage under the live whitelist stage, or `null`      |

`price` also accepts `sender`, `stage`, `proof_hashes`, and `allocation` to quote the whitelist-member price — it errors in exactly the cases `register` would.

### Live config (mainnet)

```json
{
  "denom": "uatom",
  "base_price": "1000000",
  "min_chars": 3,
  "max_chars": 63,
  "min_years": 1,
  "max_years": 10,
  "grace_period_secs": 7776000,
  "premium_period_secs": 1814400,
  "release_surcharge": "100000000"
}
```

Read these from the chain rather than hardcoding them; they are governance-adjustable.

### Pricing

Per year, derived from `base_price` and the name's length. The multipliers are compiled into the contract; only `base_price` is configurable.

| Length   | Price / year                  |
| -------- | ----------------------------- |
| 3 chars  | `base_price × 100` (100 ATOM) |
| 4 chars  | `base_price × 10` (10 ATOM)   |
| 5+ chars | `base_price × 1` (1 ATOM)     |

Whitelist-member pricing halves the 3–4 char tiers and makes 5+ free, **for one year only**, and never discounts the premium surcharge.

## Execute messages

### Register

```json
{
  "register": {
    "name": "alice",
    "years": 1,
    "max_price": "1000000",
    "stage": null,
    "proof_hashes": null,
    "allocation": null
  }
}
```

Attach `funds ≥ price` in `uatom`; overpayment is refunded. `max_price` is a slippage guard against the decaying premium — the tx reverts rather than overpaying. The NFT is minted (or reclaimed) to the sender and `EXPIRY` is set to `now + years·YEAR`.

Whitelist registrations supply `stage`, `proof_hashes`, and optionally `allocation`; the merkle leaf is `"{stage}{sender}{allocation}"` with `None` parts omitted. A proof that can't be validated **reverts** — it never silently falls back to full price. Free registrations must attach no funds. The discount is limited to 1-year terms; extend with a full-price `renew` in the same transaction.

Two gates apply to `register` and never to `renew`: nothing registers before `config.registration_start_time`, and while a whitelist stage is live, proof-less registration is rejected outright (no full-price fallback).

### Renew

```json
{ "renew": { "name": "alice", "years": 1 } }
```

Permissionless — any address may pay. Allowed while `now ≤ expiry + GRACE`; rejected past grace. Charged at the plain tier price (never discounted, no surcharge) and **extends from the existing expiry**, so renewing early loses nothing and renewing late loses the lapsed time. Rejected if the result would exceed `now + max_years·YEAR`.

### Name execute messages (on the collection)

Sent as `{"update_extension":{"msg": … }}`, owner-gated:

| Message                                                                 | Effect                                                                                                     |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `{"associate_address":{"name":"…","address":"…"\|null}}`                | Set or clear forward + reverse resolution. The address must be the sender's own, or a contract they admin. |
| `{"add_text_record":{…}}` / `update_text_record` / `remove_text_record` | Manage records. Each edit resets `verified` to `null`.                                                     |
| `{"update_image_nft":{"name":"…","nft":{…}\|null}}`                     | Set or clear the avatar pointer. Ownership of the referenced NFT is checked at set time.                   |
| `{"update_banner_nft":{…}}`                                             | Same, for the banner.                                                                                      |

Several of these may be batched into a single transaction, which is what the Stargaze interface does on save.

## Design constraints

### Any transfer clears the name's state

Every `transfer_nft` / `send_nft` — **regardless of caller**, including the marketplace during escrow — clears the name's entire side-map: associated address, reverse entry, all text records, avatar, and banner. A transferred name arrives clean.

Because listing escrows the NFT, a **list-then-cancel round trip also clears the owner's records**. If your UI lets users list a name, warn them first.

`burn` is rejected on this collection; only the registrar destroys token state, via `reclaim` on the release path.

### Lease expiry is not visible to the marketplace

CW721 `owner_of` reflects NFT ownership, not the lease. So:

* A name in **grace, premium, or available** is still a normal, owned, tradeable and auctionable NFT.
* A buyer can purchase such a name and have it **re-registered out from under them** — the registrar reclaims the token on the next `register`.
* A bidder on such a name can have the auction cancelled at any moment. The high bid is refunded **in full**, so no funds are lost, but the bid never wins.

The contracts deliberately do not gate transfers on expiry — that would deadlock escrow. **The mitigation is entirely off-chain: any UI or indexer that shows a name listing or auction must surface `status`/`expiry` and warn or block on anything that isn't `registered`.** For any marketplace surface built over this collection, this obligation sits with the integrator, not the contract.

## Indexing

For integrations that index rather than query live:

* **Ingest** `wasm-register`, `wasm-renew`, `wasm-set-whitelist`, and `wasm-update-config` from the registrar (authoritative for expiry); `wasm` `action=transfer_nft`/`send_nft`/`mint`, `wasm-reclaim`, `wasm-associate-address`, the `*-text-record` events, `wasm-update-image-nft`, and `wasm-update-banner-nft` from the collection (authoritative for owner, records, resolution). Always disambiguate by `_contract_address`, and process events in `(height, tx_index, msg_index, event_index)` order.
* **Store `expiry`, compute `status`.** Lifecycle transitions emit **no event** — a name entering grace or being released happens silently as the clock passes a boundary. If you need status filters or user notifications, run a scheduler that re-materializes status near window boundaries.
* **Mirror the wipe rules.** `transfer_nft`, `send_nft`, and `reclaim` all clear associated address, reverse, records, avatar, and banner. Omitting them leaves stale records on sold names.
* **Gate cached resolution on `status == registered`**, or your answers will drift from the on-chain ones the moment a lease lapses.
* **Reconcile periodically.** Re-query `owner_of`, `expiry`, `associated_address`, and `text_records` for recently-touched names and correct drift. This is inexpensive insurance against missed events.

## Display conventions

Conventions Stargaze follows, which integrators are encouraged to match:

* Render a name as `@name`. The `@` is presentation only — never send it to the chain.
* Names are bare. Don't append `.stars`, `.cosmos`, or anything else.
* Fall back to a truncated address when reverse resolution returns nothing, which is most of the time.
* Never render an un-copyable truncated address as the only representation of an address.
* Validate client-side before quoting a price: 3–62 characters, `^[a-z0-9-]+$`, no leading or trailing hyphen, no hyphens in the 3rd and 4th positions together.

## Next steps

* [Developer Overview](/developers/overview) — chain info and CW721 basics
* [What is a Stargaze Name?](/stargaze-names/what-is-a-stargaze-name) — the product behaviour these contracts implement


# FAQ

Frequently asked questions about using Stargaze.

For migration-specific questions, see the [Migration FAQ](/migration/faq).

## Getting Started

### What is Stargaze?

Stargaze is the leading NFT Marketplace and Launchpad on the Cosmos Hub. Buy, sell, and create NFTs with ease.

### What wallet should I use?

We recommend Keplr or Leap. Both work well with Stargaze.

### What tokens can I use?

ATOM is the primary currency and also native to Cosmos Hub.

### How do I get ATOM?

Buy on exchanges like Coinbase, Kraken, or Binance, then withdraw to your Cosmos wallet.

***

## Buying & Selling

### How do I buy an NFT?

Find an NFT you like, click "Buy Now" (if listed), and approve the transaction in your wallet.

### How do I sell an NFT?

Go to your profile, select the NFT, click "List for Sale", set your price, and confirm.

### Can I make offers?

Yes! Click "Make Offer" on any NFT to propose a price.

### What are the fees?

3% marketplace fee on sales, plus any creator royalties. Gas fees are minimal.

### How do royalties work?

Creators set royalty percentages. Royalties are automatically paid on every secondary sale.

***

## Creating Collections

### How do I launch a collection?

Use Stargaze Studio at studio.stargaze.zone. Upload your art, set up minting, and deploy.

### Do I need to code?

No. Studio handles everything through a visual interface.

### What does it cost to launch?

Deployment costs \~20-100 USDC depending on collection type and size, plus small gas fees.

### Can I set up whitelists?

Yes. Studio supports multiple whitelist phases with different prices and timing.

***

## Names

### What is a Stargaze Name?

A human-readable identity (like `yourname.stars`) linked to your wallet address.

### How much do names cost?

Based on length: 3-character names cost more, 5+ character names are affordable.

### Do names expire?

Yes. Names require annual renewal. There's a 30-day grace period after expiration.

### Can I sell my name?

Yes. Names are NFTs and can be traded on the marketplace.

***

## Technical

### Is Stargaze on Ethereum?

No. Stargaze is on the Cosmos Hub (part of the Cosmos/IBC ecosystem).

### What NFT standard does Stargaze use?

CW721 - the standard NFT contract for Cosmos/CosmWasm.

### Can I transfer NFTs to other chains?

Some NFTs support ICS-721 (interchain NFT standard) for cross-chain transfers.

### Is my wallet safe?

Stargaze never has access to your private keys. You approve every transaction.

***

## Troubleshooting

### My transaction failed

* Check you have enough ATOM for gas
* Try again (network may have been busy)
* See [Troubleshooting](/help/troubleshooting) for more

### The site isn't loading

* Clear browser cache
* Try a different browser
* Check if wallet extension is updated

***

## Support

### Where can I get help?

* This documentation
* Discord community
* Twitter @StargazeZone

### How do I report a bug?

Join Discord and post in #support with details about what happened.

### How do I report stolen art?

Use the "Report" button on any collection or contact us on Discord.


# Troubleshooting

Solutions to common issues on Stargaze.

## Wallet Issues

### Wallet won't connect

**Try these steps:**

1. Refresh the page
2. Make sure wallet extension is installed and unlocked
3. Check for pending popups (may be behind other windows)
4. Try disconnecting and reconnecting
5. Clear browser cache and try again

**Still not working?**

* Update your wallet extension
* Try a different browser
* Disable other wallet extensions temporarily

### Wrong network

If prompted to switch networks:

1. Click "Switch Network" in the popup
2. Or manually switch to Cosmos Hub in your wallet settings

### Transaction stuck/pending

Transactions are usually instant. If stuck:

1. Wait a few minutes
2. Check transaction status in your wallet
3. Refresh the page
4. The transaction may have failed silently - check your balances

***

## Transaction Errors

### "Insufficient funds"

You need ATOM for gas fees. Solutions:

* Get at least 0.1 ATOM in your wallet
* Gas fees are small but required for every transaction

### "Transaction failed"

Common causes:

* Network congestion - wait and retry
* Insufficient gas - shouldn't happen with default settings
* Item already sold - someone else bought it first

### "Rejected by user"

You clicked "Reject" in your wallet. Simply retry and click "Approve" this time.

### "Out of gas"

Rare on Cosmos. If it happens:

* Try the transaction again
* Contact support if it persists

***

## Display Issues

### NFTs not showing

1. Refresh the page
2. Verify you're connected with the right wallet
3. Clear browser cache
4. NFTs may take a moment to index after purchase

### Images not loading

* Images are stored on IPFS
* Slow loading can happen during high traffic
* Try refreshing
* Check your internet connection

### Wrong prices showing

* Prices update in real-time
* Hard refresh (Ctrl/Cmd + Shift + R)
* May be a caching issue - clear cache

### Site looks broken

* Clear browser cache
* Disable browser extensions temporarily
* Try incognito/private mode
* Update your browser

***

## Trading Issues

### Can't buy an NFT

* Item may have just sold
* You may not have enough funds
* Ensure you have ATOM for gas

### Can't list for sale

* Verify you own the NFT
* Check if it's already listed
* Ensure you have ATOM for gas

### Offer not appearing

* Offers need time to index
* Refresh the page
* Check your "Offers Made" in profile

***

## Minting Issues

### Can't mint

* Check if mint is live (timing)
* Verify you're whitelisted (if required)
* Ensure you have enough funds (mint price + gas)
* Check per-wallet limits

### Minted but don't see NFT

* May take a moment to appear
* Refresh your profile
* Check transaction was successful

### Wrong NFT received

* Minting is random within a collection

***

## Account Issues

### Can't update profile

* Ensure wallet is connected
* Try signing out and back in
* Clear cache and retry

### Notifications not working

* Check notification settings
* Verify email/Telegram is connected
* Check spam folder for emails

***

## Getting More Help

### Collect information

Before contacting support, gather:

* Your wallet address
* Transaction hash (if applicable)
* Screenshots of the issue
* Steps to reproduce the problem

### Contact options

* **Discord:** #support channel (fastest)
* **Twitter:** @StargazeZone
* **Email:** For sensitive issues

### Response times

* Discord: Usually within hours
* Complex issues may take longer
* Provide clear details for faster help


# Community & Support

Connect with Stargaze and get help when you need it.

## Official Channels

### Discord

The main community hub for Stargaze.

**Join:** [discord.gg/stargaze](https://discord.gg/stargaze)

**Channels:**

* `#general` - Community chat
* `#support` - Get help with issues
* `#announcements` - Official updates
* `#creator-chat` - For NFT creators

### Twitter

Follow for updates and announcements.

**Follow:** [@StargazeZone](https://twitter.com/StargazeZone)

### Telegram

Alternative chat community.

**Join:** [t.me/stargazezone](https://t.me/stargazezone)

## Getting Support

### Self-Service

Many questions are answered in:

* This documentation
* [FAQ](/help/faq)
* [Troubleshooting](/help/troubleshooting)

### Community Help & Official Support

For general questions:

1. Search Discord to see if it's been answered
2. Create a ticket in `#support` with clear details (wallet address and transaction)
3. Stargaze team will reply

## Reporting Issues

### Bugs

Found a bug? Report it:

1. Go to Discord `#support`
2. Describe what happened
3. Include screenshots if possible
4. Share transaction hashes if relevant

### Scams

Report suspicious activity:

* Fake collections
* Phishing attempts
* Impersonation

Use Discord `#support` .

### Stolen Art

If you see your art being used without permission:

1. Use the "Report" button on the collection
2. Open a ticket on Discord
3. We investigate all reports

## Safety Tips

### Stargaze will never:

* Ask for your seed phrase
* DM you first about "support"
* Ask you to connect to unknown sites
* Request payment for support

### Protect yourself:

* Verify all links before clicking
* Don't share your seed phrase with anyone
* Be skeptical of DMs offering help
* Check official announcements for real info

## Contributing

### Feedback

Have suggestions? We listen:

* Discord `#suggestions` channel
* Twitter replies
* Direct feedback to team members

### Community Calls

Occasional community calls happen on:

* Twitter Spaces
* Discord voice channels

Follow announcements for schedules.

### Creator Support

For creators launching collections:

* Discord `#creator-chat`
* Studio documentation
* One-on-one support for featured launches

## Links

| Resource      | URL                                                  |
| ------------- | ---------------------------------------------------- |
| Website       | [stargaze.zone](https://stargaze.zone)               |
| Studio        | [studio.stargaze.zone](https://studio.stargaze.zone) |
| Discord       | [discord.gg/stargaze](https://discord.gg/stargaze)   |
| Twitter       | [@StargazeZone](https://twitter.com/StargazeZone)    |
| Documentation | [docs.stargaze.zone](https://docs.stargaze.zone)     |

## Stay Updated

* Follow Twitter for announcements
* Enable Discord notifications for `#announcements`
* Check the blog for detailed updates
* Join community calls for deep dives


# Overview

Technical information for developers integrating with Stargaze on the Cosmos Hub.

## Architecture

Stargaze runs on the **Cosmos Hub** using CosmWasm smart contracts. All NFT collections use the **CW721** standard.

## Contract Standard

Stargaze uses CW721 (Cosmos NFT standard) with extensions for:

* Royalty payments
* Collection metadata
* Migration support

See [CW721 Contract Reference](/developers/cw721-reference) for message specs.

## Chain Information

| Property          | Value       |
| ----------------- | ----------- |
| Chain             | Cosmos Hub  |
| Chain ID          | cosmoshub-4 |
| Token             | ATOM        |
| Contract Standard | CW721       |

## Querying NFT Data

To query NFT data on-chain, use standard CosmWasm contract queries against the collection contract address.

For indexed data (listings, sales history, etc.), contact the Stargaze team for API access.

## Building on Stargaze

Stargaze operates on the Cosmos Hub. For general Cosmos development:

* [Cosmos SDK Documentation](https://docs.cosmos.network)
* [CosmWasm Documentation](https://docs.cosmwasm.com)
* [CW721 Spec](https://github.com/CosmWasm/cw-nfts)

## Stargaze Names

Names are CW721 NFTs with an address resolver and a fixed-term lease, and everything about them is queryable on-chain without an API key. See [Integrating Names](/stargaze-names/integrating-names) for contract addresses, forward and reverse resolution, the lease state machine, and indexing notes.

## API Access

Stargaze APIs and indexer access are not publicly available. For integration partnerships, contact the team via Discord.


# CW721 Reference

Stargaze NFT collections use CW721 contracts on the Cosmos Hub.

## Instantiate

Create a new collection:

```json
{
  "name": "Collection Name",
  "symbol": "SYMBOL",
  "minter": "cosmos1...",
  "creator": "cosmos1...",
  "collection_info_extension": {
    "description": "Collection description",
    "image": "ipfs://...",
    "external_link": "https://...",
    "royalty_info": {
      "payment_address": "cosmos1...",
      "share": "0.05"
    }
  }
}
```

## Execute Messages

### Transfer NFT

```json
{
  "transfer_nft": {
    "recipient": "cosmos1...",
    "token_id": "1"
  }
}
```

### Send NFT (to contract)

```json
{
  "send_nft": {
    "contract": "cosmos1...",
    "token_id": "1",
    "msg": "<base64-encoded-message>"
  }
}
```

### Approve

```json
{
  "approve": {
    "spender": "cosmos1...",
    "token_id": "1",
    "expires": { "at_height": 12345678 }
  }
}
```

### Revoke

```json
{
  "revoke": {
    "spender": "cosmos1...",
    "token_id": "1"
  }
}
```

### Approve All

```json
{
  "approve_all": {
    "operator": "cosmos1...",
    "expires": { "at_time": "1234567890000000000" }
  }
}
```

### Revoke All

```json
{
  "revoke_all": {
    "operator": "cosmos1..."
  }
}
```

### Burn

```json
{
  "burn": {
    "token_id": "1"
  }
}
```

### Update Collection Info

```json
{
  "update_collection_info": {
    "collection_info": {
      "name": "New Name",
      "symbol": "NEW",
      "extension": {
        "description": "Updated description",
        "royalty_info": {
          "payment_address": "cosmos1...",
          "share": "0.10"
        }
      }
    }
  }
}
```

## Query Messages

### Owner Of

Get the owner of a token:

```json
{
  "owner_of": {
    "token_id": "1",
    "include_expired": false
  }
}
```

### NFT Info

Get token metadata:

```json
{
  "nft_info": {
    "token_id": "1"
  }
}
```

**Response:**

```json
{
  "token_uri": "ipfs://...",
  "extension": {}
}
```

### All NFT Info

Get owner and metadata:

```json
{
  "all_nft_info": {
    "token_id": "1",
    "include_expired": false
  }
}
```

### Tokens (by owner)

List tokens owned by an address:

```json
{
  "tokens": {
    "owner": "cosmos1...",
    "start_after": "0",
    "limit": 100
  }
}
```

### All Tokens

List all tokens in collection:

```json
{
  "all_tokens": {
    "start_after": "0",
    "limit": 100
  }
}
```

### Num Tokens

Get total supply:

```json
{
  "num_tokens": {}
}
```

### Collection Info

Get collection metadata:

```json
{
  "get_collection_info_and_extension": {}
}
```

### Approvals

Get approvals for a token:

```json
{
  "approvals": {
    "token_id": "1",
    "include_expired": false
  }
}
```

### All Operators

Get all operators for an owner:

```json
{
  "all_operators": {
    "owner": "cosmos1...",
    "include_expired": false,
    "start_after": null,
    "limit": 100
  }
}
```

## Royalties

Royalties are set in the collection extension:

```json
{
  "royalty_info": {
    "payment_address": "cosmos1...",
    "share": "0.05"
  }
}
```

* `share` is a decimal (0.05 = 5%)
* Maximum royalty: 10% (0.10)
* Royalties are enforced by the marketplace contract

## Expiration Types

Used for approvals:

```json
// Block height
{ "at_height": 12345678 }

// Timestamp (nanoseconds)
{ "at_time": "1234567890000000000" }

// Never expires
{ "never": {} }
```

## External Resources

* [CW721 Spec](https://github.com/CosmWasm/cw-nfts/tree/main/packages/cw721)
* [CosmWasm Documentation](https://docs.cosmwasm.com)
* [Cosmos Hub Documentation](https://hub.cosmos.network)


# Press Kit

Brand assets and resources for media, partners, and community.

## Colors

| Color          | Hex       |
| -------------- | --------- |
| Black          | `#000000` |
| White          | `#FFFFFF` |
| Pink (Primary) | `#ED0074` |

## Logos

Section under construction. Request on Discord #support channel if needed.

## Usage Guidelines

* Use the gradient or pink logo on dark backgrounds
* Use the white logo on colored backgrounds
* Don't stretch, rotate, or alter the logo proportions
* Maintain clear space around the logo
* Don't add effects like shadows or outlines

## Contact

For media inquiries, reach out on [Discord](https://discord.gg/stargaze) or [Twitter](https://twitter.com/stargazezone).


