# Architecture

The Interoperable Asset Store is built on an architecture that connects smart contracts, encrypted storage, and permission logic into a unified system. Its purpose is to ensure that gaming assets can be registered, licensed, and reused across multiple games while preserving creator control and verified economic behavior.

This section explains how the protocol is structured at the system level. It covers how the Interoperable Asset Store is organized and how its components interact, how the core smart contract modules handle asset registration, licensing approvals, royalty rules, and parent-child relationships, how the protocol establishes permanent links between original assets and their approved reused versions, how encrypted files are stored on IPFS and connected to on-chain metadata, and how the permission model ensures that only approved studios gain access to encrypted parent asset files.

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


---

# 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://infinity-games.gitbook.io/infinity-games-docs/interoperable-asset-store/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.
