Stargaze
  • Welcome
    • Coming from Ethereum?
    • Coming from Solana?
    • Coming from Coinbase or other exchange?
    • Coming from MANTRA?
  • Introduction
    • What is Stargaze?
    • Meet the Team
  • Core Apps
    • Launchpad
      • Minters
      • Whitelists
      • Minter and Whitelist Fees
    • Marketplace
      • Governance Parameters
    • Names
    • Live Auctions
    • Infinity Swap
      • How it works
      • Price Mechanics
      • Swap
      • Why use Infinity Swap
      • Infinity Swap Fees
      • Examples
    • DAO DAO
    • StarDEX
      • Navigating StarDEX
      • Swapping Tokens
      • Providing Liquidity
      • Pool Analytics & Metrics
      • Managing and Removing Liquidity
  • Creators
    • Launching a Collection on Stargaze
    • Collection Guidelines
    • Content Guidelines
    • Featured Projects
  • Creator Tools
    • Stargaze Studio
      • Create an NFT Collection
        • Upload Assets and Metadata
        • Configure Collection and Minting Details
        • Creating a Standard Collection
          • Upload Assets and Metadata
          • Configure Collection and Minting Details: Standard Collection
          • Whitelist and Royalty Options
        • Creating an Open/Limited Edition Collection
          • Upload Assets and Metadata
          • Configure Collection and Minting Details: OE/LE
          • Whitelist and Royalty Options
        • Creating a 1/1 Collection
          • Upload Assets and Metadata
          • Configure Collection Details: 1/1 Collection
          • Whitelist and Royalty Options
          • Adding Additional Tokens to a 1/1 Collection
        • Creating a Burn to Mint Collection
          • Upload Assets and Metadata
          • Configure Collection and Minting Details: Standard Collection
          • Whitelist and Royalty Options
      • Interact with a Collection
        • Execute Messages
        • Query Data
    • Launching an NFT project via CLI
      • 1. Setup a basic project
        • 1a. Need help?
      • 2. Configure your project
      • 3. Add assets and metadata
        • Pinata Upload
      • 4. Instantiate minter contract on testnet
      • 5. Whitelist
      • 6. Mint from your contract
      • 7. Query contract
      • 8. Testing your contract on testnet
      • 9. Launching on mainnet
        • 9a. Launching on mainnet with Keplr (optional)
    • Create a Multisig Wallet
      • Create a Multisig using Keplr
      • Create a Multisig using DAO DAO
      • Create a Multisig using CLI
    • Stargaze Studio Fees
  • Developers
    • CosmWasm Contracts
      • Contract Code IDs
      • Deploy to Testnet
      • Deploy to Mainnet
    • Stargaze API
    • Indexers
      • Constellations
      • SubQuery
    • Token Factory
    • Minting and Trading Denoms
  • Tokenomics
    • STARS Token
    • Fair Burn
    • Real Yield
    • Governance
  • Nodes & Validators
    • Getting Setup
    • Running a Full Node
    • Setting up Cosmovisor
    • Running a Validator
    • Configuring StateSync
    • Running a Relayer
    • Foundation Delegation Program
  • Extras
    • FAQ
    • Stargaze Assets
    • Ranking and Algorithms
Powered by GitBook
On this page
  • Why community-governed CosmWasm?
  • How do I write a contract that works with Stargaze?
  • How do I obtain a deploy address for permissionless contract deployment?
  1. Developers

CosmWasm Contracts

PreviousStargaze Studio FeesNextContract Code IDs

Last updated 8 months ago

Stargaze runs community-governed CosmWasm. All this means is that custom smart contracts have to be uploaded via governance.

Why community-governed CosmWasm?

Because Stargaze has zero gas, smart contracts have to be designed to not exceed compute or storage limits.

Without going through governance, it would be easy to upload a malicious contract that exploits having zero gas (such as a state bloat attack). By going through governance, custom contracts can be reviewed by the community and core team.

How do I write a contract that works with Stargaze?

  1. Write your contract, deploy it on , and make sure it works as intended.

  2. If the contract charges any fees, be sure to take advantage of Stargaze’s Developer Royalties. Developer Royalties enable developers to earn 50% of all fees that go through their custom contracts.

  3. Submit a post, explaining what your contract does, with a link to the source code. Smart contracts on Stargaze are required to be open source. Non-contract code such as frontend and backend may be private.

  4. Contact the Core Team for a review and audit of your code.

  5. After validating the project with the community and team, submit a governance proposal with the contract code. See the following command to submit your proposal: starsd tx gov submit-proposal wasm-store -h.

How do I obtain a deploy address for permissionless contract deployment?

Trusted development teams can request a whitelisted deployment address via governance, following a process similar to contract deployment.

  1. Submit a Commonwealth post detailing the team's background, the purpose for obtaining the deployment address, and the benefits to Stargaze. .

  2. Allow ample time for discussion. A minimum of one week.

  3. Submit the proposal to chain governance. .

Developer Royalties cannot be combined with bounties or Community Pool funding. For example, if you receive Community Pool funding for your contract, it cannot also receive Developer Royalties.

Join for more information on deploying on testnet. The testnet is completely permissionless. A faucet is also available in Discord.

testnet
Commonwealth
Here's an example
Here's an example
Discord