# Overview

<figure><img src="/files/d8J126QdgKabM2VGHuBT" alt=""><figcaption><p>Overall Structure</p></figcaption></figure>

Our ecosystem is structured in three layers: Data Layer, Protocol Layer, and Application Layer.

### Data Layer&#x20;

Taking a pragmatic approach, we currently use fractal Bitcoin as the DStorage place and DA layer. However, as fractal Bitcoin's functionality strengthens, we will adopt a greater degree of on-chain integration: using fractal Bitcoin as the smart contract layer and Bitcoin as the DStorage place.

### **Protocol Layer**&#x20;

Composed of game server, game engine, mod library, and fragments. Their relationships are as follows:

* **Game Engine**: Developers use the game engine to create mods, and the mod library is a collection of these mods.
* **Module Library**: Game developers can prioritize reusing composable mods from the mod library, then add their own game-specific custom mods (optionally adding these to the mod library), and combine them with specific rules and frontend visuals to create games.
* **Fragment**: As a game developer, you can define the number of game editions. Each edition is called a fragment, which can be understood as a game template. Fragment owners can customize the parameters within the game.
* **Game Server**: Games built under our framework are automatically matched with a game server, eliminating the need for developers to deploy servers themselves.

### Application Layer

Consists of UniWorlds Studio, UniWorlds App, and Asset Marketplace

* **UniWorlds Studio**: An editor based on the game engine, serving as the user interface that developers will interact with.
* **UniWorlds App**: All game ecosystem components combined and presented in the form of a mobile app.
* **UniWorlds Marketplace**: Built into the UniWorlds App, it's an asset trading platform independent of individual games.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.uniworlds.io/ecosystem/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
