Welcome!
What is Moonstream?
Moonstream is economic infrastructure for web3 games. It makes it easy to manage blockchain game economies.
One of the biggest challenges for web3 game designers and game developers is that putting your game economy on-chain turns it into a real economy. This takes control of your game economy away from you, the game designer. Your community is in charge now:

This means that you can no longer freely manipulate your game economy to improve your game.
Moonstream gives you the tools you need to keep your economy healthy and sustainable. And to make sure your players are having fun.
Terminus
The Terminus smart contract standard is a modification of the EIP-1155 Multi-Token Standard designed to represent items, achievements, and experience in web3 games. Terminus is also useful as an access control mechanism for smart contracts and APIs.
The Moonstream Engine
The Moonstream Engine provides:
- Query API - A REST API that allows game developers and game designers to monitor their on-chain game economy in real time.
- Leaderboards - An API that makes it easy for game developers to combine on- and off-chain game activity to assign points to players.
- Dropper - A tool which allows game designers and game developers to reward their players for in-game activities with on-chain items, experience, and game currencies. Game designers can specify rewards using spreadsheets. Game developers can POST rewards to the Moonstream Engine API.
- Crafting - An on-chain crafting system that web3 games can use to represent the workings of their economies directly on the blockchain.
- Game mechanics - A library of game mechanics that game developers and game designers can compose to build fully on-chain game experiences for their player community.
- Entity - Moonstream Entity overview, schemes, API and client library use cases.
Tooling
In addition to the Moonstream web3 game engine, Moonstream also maintains several tools for the benefit of the web3 developer community:
-
Inspector Facet - A tool which makes it easy for anyone to inspect upgradable smart contracts implementing the EIP-2535 Diamond standard, which is very useful for web3 game projects.
-
moonworm
- A code generator which makes it easy for anyone to analyze and interact with Ethereum smart contracts.
Supported blockchains
Moonstream currently supports any EVM-based blockchain, such as Ethereum, Polygon, Gnosis Chain, and more.
Open source software
The Moonstream community believes firmly in the principles of Free Software.
Moonstream is completely open source software, free for anyone to use and modify as they please.
Moonstream.to also offers the Moonstream game engine as a hosted service, available at Moonstream.to.
We do not believe in forcing our views upon our users. We do not use copyleft licenses. We favor the much more permissive Apache License, Version 2.0.
We do not believe in the open core business model. Every feature available on Moonstream.to is also freely available to anyone who chooses to host their own instance of the Moonstream Engine.
The only code that we write that is not open source is the code related to our security operations. You can read more about this decision in our policy document:
Tech stack
Moonstream is built primarily using the following programming languages:
Moonstream is designed with PostgreSQL as its primary storage mechanism.
Many features of Moonstream make heavy use of Bugout, an open source ontology built by the same core team as Moonstream.
Moonstream uses the following tools to interact with blockchains:
This documentation was generated using mkdocs
. It uses many packages in the mkdocs
ecosystem, such as:
- The Material for mkdocs theme
mkdocstrings
to autogenerate documentation from docstrings
APIs
Moonstream favors the use of simple HTTP APIs that do not store state at the API layer. All state is stored in and accessed from a database.
Moonstream does not natively offer websocket-based APIs or even HTTP/2-based streaming APIs. This means that Moonstream API instances are stateless and can be managed easily even by individuals or small teams.
Administration
All our technology is designed to be deployed on Linux servers, with little preference about where those servers are hosted. We do not use docker in production. We only use it to run integration tests of our services.
Created: August 7, 2023