# Smart Contracts Overview

Unikura's smart contract technology is broadly divided into two layers

## Unikura Collectibles Contract

In Unikura, we link collectibles checked by Unikura's Validator network to NFTs on the blockchain. These NFTs mostly follow the ERC-721 token standard, but they also have special Unikura features.

1. Only certain addresses can mint these. Unikura NFTs are directly linked to collectibles Unikura manages, stopping worthless NFTs from entering the market. This means all NFTs minted by our smart contract are connected to collectibles we have checked.
2. We use metadata to show links to real-world collectibles. Unikura NFTs also prove who owns the real-world collectibles. With this, real-world collectibles and blockchain are connected.

{% content-ref url="/pages/YQe5qyRSWmc41LPWjkbW" %}
[Unikura Collectibles](/technology/smart-contract-reference/unikura-collectibles.md)
{% endcontent-ref %}

## Unikura Market Contract

As said before, right now, only Unikura can mint Unikura Tokens. Real users must send money to Unikura to turn collectibles into tokens. We have a smart contract for handling these user orders. It has three main parts:

1. The order feature for minting Unikura NFTs. We use orders on the blockchain and Unikura's internal data to see if an order is correct. If the order is right, we start getting the Unikura NFT ready for the user.
2. The order completion feature. When validation is done, we create NFTs through the Unikura Collectible Contract and send money to the seller.
3. The order reject feature. We use this if there's a problem with a collectible and Unikura decides not to mint the NFT. Then, we refund the crypto to the user who placed order for the mint.

{% content-ref url="/pages/CLgmvUHcoFpG4rLyr9Aj" %}
[Unikura Market](/technology/smart-contract-reference/unikura-market.md)
{% endcontent-ref %}

{% hint style="info" %}
All contracts can be upgraded. Basically, upgrades are done to improve service quality, but we will communicate in advance if there are possible inconveniences for NFT holders.
{% endhint %}


---

# 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.unikura.xyz/technology/smart-contracts-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.
