# Protocolo

{% hint style="info" %}
Actualmente en testnet (Amoy). Contratos 👇\
\
\&#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 %}

## Introducción

Prutopia ha desarrollado 3 Smart Contracts que permiten almacenar y manejar datos y metadatos, y exponer una lógica de negocio inmutable.

<figure><img src="https://3693647882-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8R7yxWpJyIpmFMS3atw%2Fuploads%2Fh7Ui81RI7tg0makQuwBt%2Fimage.png?alt=media&#x26;token=8abf0bcb-c266-44d1-b11a-d4e96387041f" alt=""><figcaption></figcaption></figure>

## Capa de datos

Viendo la blockchain como una base de datos, podemos identificar las siguientes entidades que almacenan todos los datos necesarios.

<figure><img src="https://3693647882-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8R7yxWpJyIpmFMS3atw%2Fuploads%2FHsuXl7e4X7xdl65CBE5q%2Fimage.png?alt=media&#x26;token=1b4a865f-160c-4982-8563-db9a9bf1405e" alt=""><figcaption></figcaption></figure>

## Detalles

Visita cada página para conocer más detalles sobre los Smart Contracts.

### User Smart Contract

{% content-ref url="protocolo/user-smart-contract" %}
[user-smart-contract](https://documentacion.prutopia.io/arquitectura/protocolo/user-smart-contract)
{% endcontent-ref %}

### Experience Smart Contract

{% content-ref url="protocolo/experience-smart-contract" %}
[experience-smart-contract](https://documentacion.prutopia.io/arquitectura/protocolo/experience-smart-contract)
{% endcontent-ref %}

### Work Record Smart Contract

{% content-ref url="protocolo/work-record-smart-contract" %}
[work-record-smart-contract](https://documentacion.prutopia.io/arquitectura/protocolo/work-record-smart-contract)
{% endcontent-ref %}

## Estructura tarifaria

{% hint style="info" %}
A pesar de que en la lógica del contrato se habilita la potencial opción de cobrar por cada registro, no está en el roadmap de corto plazo cobrar por este servicio.
{% endhint %}

### Experience

Las tarifas para agregar una experiencia pueden pagarse con el token nativo o con un ERC20 configurado. El precio es fijo. Este precio nunca puede ser superior a 10 MATIC o 5 USD y está codificado en el contrato.

### Work Record

No se cobran tarifas al agregar un WorkRecord (Registro de Trabajo), sino solo cuando se finaliza. Solo se puede pagar con un ERC20 configurado, utilizando únicamente tokens vinculados al USD. El monto se determina por un porcentaje del precio del WorkRecord, y esa es la razón para usar un token vinculado al USD. Este porcentaje nunca puede ser superior al 10% y está codificado en el contrato. Para montos pequeños hay un mínimo, que nunca puede ser superior a 5 USD. Este valor también está codificado.
