# Protocol

{% hint style="info" %}
Contracts on Polygon Mainnet 👇\
\
\&#xNAN;***PrutopiaUser***: [0xd00B2f8b8Dc2cDF3066A0670693333A520BC4137](https://polygonscan.com/address/0xd00B2f8b8Dc2cDF3066A0670693333A520BC4137)\
\&#xNAN;***PrutopiaExperience***: [0x8047198D98312CC655846C1C10D7d32bf000ebd8](https://polygonscan.com/address/0x8047198D98312CC655846C1C10D7d32bf000ebd8)\
\&#xNAN;***PrutopiaWorkRecord***: [0x0DB66B7697a6e6B74c764E34E49e2Af9D210D2C9](https://polygonscan.com/address/0x0DB66B7697a6e6B74c764E34E49e2Af9D210D2C9)

Contracts on Polygon Amoy (Testnet) 👇\
\
\&#xNAN;***PrutopiaUser***: [0xFCA5E805ADaE635e85af273a7209922283cf8F47](https://amoy.polygonscan.com/address/0xFCA5E805ADaE635e85af273a7209922283cf8F47)\
\&#xNAN;***PrutopiaExperience***: [0x55A69384eE9eb00cef7eF292C2f4f3300F48668e](https://amoy.polygonscan.com/address/0x55A69384eE9eb00cef7eF292C2f4f3300F48668e)\
\&#xNAN;***PrutopiaWorkRecord***: [0x74d286406E02aC4B33460EC43c994709eA63fB9f](https://amoy.polygonscan.com/address/0x74d286406E02aC4B33460EC43c994709eA63fB9f)
{% endhint %}

## Overview

Prutopia has developed 3 Smart Contracts that allow storing and handling data and metadata, and expose an unmutable business logic.

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

## Data Layer

Seeing the Blockchain as a Database, we can identify the following entities that store all necessary data.

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

## Details

Visit each page to know more details about the Smart Contacts.

### User Smart Contract

{% content-ref url="/pages/daoYdUvbF0HfwvQ373G4" %}
[User Smart Contract](/architecture/protocol/user-smart-contract.md)
{% endcontent-ref %}

### Experience Smart Contract

{% content-ref url="/pages/72o8nlwHEYPsWdOQI8dq" %}
[Experience Smart Contract](/architecture/protocol/experience-smart-contract.md)
{% endcontent-ref %}

### Work Record Smart Contract

{% content-ref url="/pages/ClkrFcqzm3xN0GLLtQWS" %}
[Work Record Smart Contract](/architecture/protocol/work-record-smart-contract.md)
{% endcontent-ref %}

## Fee Structure

{% hint style="info" %}
Although the contract logic enables the potential option to charge for each registration, it is not in the short-term roadmap to charge for this service.
{% endhint %}

### Experience

Fees for adding an Experience can be paid with Native Token or with a configured ERC20. Price is fixed. This price can never be higher than 10 MATIC or 5 USD and is hardcoded in the contract.

### Work Record

Fees aren't charged when adding a Work Record but only when it is ended. It can be only paid with a configured ERC20, using only USD pegged. The amount is determined by a percentage on the Work Record price, and that the reason for using a USD pegged token. This percentage can never be higher than a 10% and is hardcoded in the contract. For small amounts there is a minimum, that can never be higher than 5 USD. This value is also hardcoded.


---

# 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.prutopia.io/architecture/protocol.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.
