# Architecture

The nucleus of Mundocrypto's architecture is the backend, which is running on the cloud. So, our team decided to choose AWS since Amazon is the most used, solid and efficient cloud integration in the cloud market.&#x20;

AWS provides S3 buckets which stores pre-assets. (Assets that are created before they are minted on a blockchain). This let us create a privacy layer to each pre-asset to avoid duplication.

Whenever the pre-asset is minted, it is released from the S3 bucket to store it publicly and securely on IPFS. Apart from each recorded asset ID in the blockchain, our smart contract record a hash of each asset.&#x20;

<figure><img src="/files/cSp8Yt1pvDIATzlKoyAk" alt=""><figcaption></figcaption></figure>

On the other hand, the game uses Unreal Engine 5, the most stable and realistic gaming engine in the industry, thanks to its latest updates: Lumen & Nanite. This lets us create the most expansive worlds with fully realistic animation and metasounds. Also, by using OpenGL or Android Vulcan in Android devices or Metal 2.0 in iOS devices, we will be able to support Mobile platforms in the near future.&#x20;

**Note:** Some features will not be available at the beginning in VR because UE5 has not been implemented yet.

Also, users will be able to connect with its web3 wallet to Mundocrypto.&#x20;

### State Changes

Our server will monitor and track data from the frontend to register every single change of state from all the assets in the metaverse. So, the changes of state are related to transfers of ownership in two lands, assets and the $MCT token. Here are two ways how this happens:

* **Environment Sale:** Whenever a new environment is going to be sold, a sale contract is deployed together with its predefined configuration. So, when the buyer decides which environment he/she will buy, the environment will go together with the sale contract.&#x20;
* **Asset Sale:** Builders create 3D models and submit them into our backend together with the price. So, we assign a hash for every 3D model and submit it to our smart contract. That way. the backend can mint a new token that represents it. Then, buyers submit a payment for this new token and receive it in exchange.

###


---

# 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://mundocrypto.gitbook.io/mundocrypto/technology/architecture.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.
