# Smart contract architecture

The Interoperable Asset Store is powered by a set of smart contracts deployed on SEI EVM. These contracts form the foundation of the protocol, handling asset registration, licensing approvals, parent-child linkage, and automated royalty distribution. Together, they define how assets move through the system and how studios and creators interact with the protocol.

This chapter provides an overview of the core contract types and the role each one plays inside the Interoperable Asset Store.

### Asset Store contracts

Address (SEI): [0x165F79d307CbB9861bB5a080DA757B368CE57395](https://seitrace.com/address/0x165F79d307CbB9861bB5a080DA757B368CE57395)

#### AssetStoreUpgradeable

This is the central contract of the Interoperable Asset Store. It acts as the registry and coordination layer for all asset activity in the protocol.

**Key responsibilities:**

* Registers and verifies studios, creators, and collections
* Manages asset licensing rules and parent-child connections
* Executes automated royalty distribution in the Infinity Games token between creators, studios, and the ecosystem treasury
* Ensures that all interactions follow the licensing terms defined by the parent asset owner

AssetStoreUpgradeable is the entry point for studios submitting proposals, creators approving reuse, and the system enforcing economic logic.

#### NFTCollectionUpgradable

This is the default on-chain collection contract used for collections created directly through the Interoperable Asset Store. Each new collection deployed through the protocol uses this contract to maintain compatibility with the Asset Store.

**Key responsibilities:**

* Creates and stores tokenized gaming assets
* Manages royalty distribution for all assets in the collection
* Ensures collections follow the royalty and licensing logic defined by the parent asset

This contract ensures that collections created through the protocol inherit the required structure to support parent-child asset connections.

#### AbstractGamingStudioAsset

This contract standard is required for any studio that wants to integrate external assets into its own collection. Collections must upgrade to include this standard before minting child assets.

**Key responsibilities:**

* Provides the mint function for integrating approved assets from another collection
* Sets correct royalty percentages and assigns recipients automatically
* Performs validation checks to confirm the origin and authenticity of integrated assets
* Ensures that child assets always inherit immutable royalty logic

This module guarantees that collections cannot alter or bypass royalty rules, making parent-child economic relationships secure and tamper-proof.


---

# 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/smart-contract-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.
