# Smart Contracts

## Overview

The KAIO smart contracts are at the core of the KAIO platform. They implement the main business logic that enables the platform to work in an efficient and secure manner. This section of the documentation serves to explain how they operate. This page provides an overview and describes the smart contract architecture, while each sub-section focuses on the logic of specific contracts or groups of contracts:

* [Registries](/how-kaio-works/smart-contracts/registries.md) storing data and logic for specific groups.
* [Rules](/how-kaio-works/smart-contracts/rules.md) engines and modules used to apply restrictions to user operations.
* [Order Books](/how-kaio-works/smart-contracts/order-books.md) containing the instrument lifecycle logic for subscriptions, redemptions, and relevant fees.
* [Tokens](/how-kaio-works/smart-contracts/tokens.md) used throughout the KAIO system, denoting USD and tokenized shares.

## User Types

There are four user types, as described in the following table:

<table data-full-width="false"><thead><tr><th>User Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>Investor</strong></td><td>Investors are clients of private banks. They can hold and trade tokenized assets for the Instruments they meet the requirements for.</td></tr><tr><td><strong>Dealer</strong></td><td>Dealers are private banks and advisors that are responsible for onboarding investors, and managing their data. They can also manage orders on their behalf.</td></tr><tr><td><strong>Fund Admin</strong></td><td>Fund Admins are responsible for managing the Funds they control, and all the Instruments within the Fund.</td></tr><tr><td><strong>KAIO Admin</strong></td><td>The KAIO Admin has control of KAIO. They are responsible for onboarding new Dealers and Fund Admins, and creating new Funds and Instruments.</td></tr></tbody></table>

## Architecture

An explanation of the KAIO smart contract architecture can be found in: [Architecture](/how-kaio-works/architecture.md#smart-contract-architecture).


---

# 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.kaio.xyz/how-kaio-works/smart-contracts.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.
