# Alloy Constructs - Utility

This page is a deep dive into the following Alloy Construct metadata:

1. Alloy Construct Types
2. Alloy Construct Grade
3. Alloy Construct Rank
4. Alloy Value

### Alloy Construct Types

**Alloy** **Constructs** will be composed of multiple **Alloy Parts** that have various **Part Types**, but will be assigned a new **Construct Type** when the parts are assembled. This table shows the 8 possible **Construct Types** and their future application.

| Construct Types   | Construct Application                                                                     |
| ----------------- | ----------------------------------------------------------------------------------------- |
| Defense           | Shields, cloaking, evasive technology, and weapon defense systems                         |
| Energy            | Power generation and energy storage equipment                                             |
| Electromechanical | Robotics, manufacturing equipment, electrical systems, cooling systems                    |
| Communication     | Communication technology, ansible, sensors & navigation                                   |
| Whoosh            | Spacecraft, engines, thrusters, propulsion drives, rovers, vehicle components             |
| Structural        | Spacecraft hulls and skeletons, Walkways, Habitats, Warehouses, Ducting, etc              |
| Biocontrol        | Life support, agriculture, medical equipment, medicine production                         |
| Neotech           | Space-age technology including warp machines, antigravity drives, nanotech, transmutation |

### Construct Grade

**Construct Grade** summarizes the value and rarity of an **Alloy Construct** using six categories:

1. *Standard*
2. *Choice*
3. *Superior*
4. *Premium*
5. *Elite*
6. *Legendary*

Alloy Construct NFTs are tagged with their **Construct Grade**. To assign a **Construct Grade**, we must calculate the **Construct Score**, which is the sum of **normalized Construct Value** and **normalized Construct Complexity**. These are both in the range 0 - 1 so that **Construct Score** is in the range 0 - 2.

{% hint style="info" %}
**Normalized Construct Value** =\
(Construct Value - Min Construct Value)/(Max Construct Value - Min Construct Value)\
\
**Normalized Construct Complexity =**\
(Construct Complexity - Min Construct Complexity)/(Max Construct Complexity - Min Construct Complexity)\
\
\&#xNAN;***Construct Score*** = Normalized Construct Value + Normalized Construct Complexity
{% endhint %}

In other words, the **Construct Grade** will be determined by the combined values of the [**Alloy Value**](https://alloy-space.gitbook.io/alloy-space/nft-parts/alloy-value) and [**Part Complexity**](https://alloy-space.gitbook.io/alloy-space/nft-parts/part-complexity-rarity) of the **Alloy Parts** that were assembled to mint the **Alloy Construct**.

| Construct Grade | Construct Score Range | Estimated Proportion |
| --------------- | --------------------- | -------------------- |
| **Legendary**   | 1.95 <= CS            | 2.5%                 |
| **Elite**       | 1.85 <= CS < 1.95     | 5.0%                 |
| **Premium**     | 1.65 <= CS < 1.85     | 10.0%                |
| **Superior**    | 1.35 <= CS < 1.65     | 15.0%                |
| **Choice**      | 0.8 <= CS < 1.35      | 27.5%                |
| **Standard**    | CS < 0.8              | 40.0%                |

### Alloy Construct Rank

**Construct Rank** is a ***dynamic*** value that depends on the circulating **Alloy Constructs** in the Alloy Space Ecosystem, and must be recalculated for all similarly named constructs when a new Construct is minted. As such, this **Rank** cannot appear on the NFT, but is only shown in the **Alloy Space Marketplace** and player **Inventory**.

> For example, if a new ***Quidifier*** is minted, all circulating ***Quidifier*** **Construct Ranks** will have to be recalculated.

Construct Rank is calculated as follows:

1. Calculate the **Construct Score** and **Construct Grade** as per the above section.
2. Sort all minted constructs of the same name by their decreasing construct score. Suppose there are **N** of these.
3. Assign the row number to the sorted constructs, such that the construct with the highest **Construct Score** gets a rank of **#1** and that with the lowest receives a rank of **#N**
4. In the marketplace and inventory for this construct, the following will be displayed on the **Alloy Construct** cards: **"Rank: #x of N \<Construct Name>s"** (e.g. "Rank: #2 of 20 Quidifiers")

{% hint style="info" %}
The purpose of this dynamic ranking system is to display the scarcity and relative rank of a given **Alloy Construct.** This is not necessarily representative of its offer price value in the game, but is important for subjective valuation. This scarcity information could be valuable to a marketplace trader setting prices, or to a collector striving to get the top ranked individual of each Construct. A Construct with a low offer price (due to low constituent part value) could still fetch a high price in the marketplace if there are only a few of those Alloy Constructs in circulation.
{% endhint %}

### Calculating Alloy Value

The Alloy Value of an Alloy Construct is a unit-less quantification of the objective value of a part relative to other parts. It is a function of combined [**Part Complexity**](https://alloy-space.gitbook.io/alloy-space/nft-parts/part-complexity-rarity)$$(c)$$**,** [**Part Purity**](https://alloy-space.gitbook.io/alloy-space/nft-parts/part-purity)$$(p(a))$$, and **Part** **Age**$$(a)$$.\
\
After assembling a construct, you will be given a single opportunity to sell it for the Echo-9 Offer Price, which depends both on **Construct Alloy Value** ($$v$$) and the current **Alloy Value to Echo-9 Alloy Token exchange rate** ($$R$$). The formula is:\
\
**Echo-9 Part Offer Price** = $$R v = R (\gamma (\sum\_i^n c\_i + p\_i(a\_i))^\lambda)$$ **\[in $NIOZ]**\
\
Where $$\gamma$$ is the Construct Alloy Value multiplier and $$\lambda$$ is the Construct Alloy Value exponent, composed of $$n$$ parts indexed by $$i$$.
