> For the complete documentation index, see [llms.txt](https://docs.cropxyz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cropxyz.com/tech/plot.md).

# Anatomy of a Plot

The general structure of a plot is broken up into three main layers, represented by three different smart contracts that interact with each other. All three layers function to provide more functionality and can be improved with minimal impact to other layers.

![Overview of a plot.](/files/euDjmQAyL8ENrviGvdQO)

## On-chain Representation

### Plot Core

#### Main Plot NFT

This is contract that acts as the primary ERC721. This functions to store the base stats of each plot and the ownership.

#### Contract Address:

`0x389e11255a78db6c8eddf8b5e112470f026d19e2`

#### Polygon Link:

{% embed url="<https://polygonscan.com/token/0x389e11255a78db6c8eddf8b5e112470f026d19e2>" %}
Plot Core Contract
{% endembed %}

### Plot Actions

#### Set of possible actions on a plot

This is the contract that changes the harvesting state of the plot. Also it serves as the focal point of any interactions with a plot.

#### Contract Address:

`0xC9B265c10840A24230cf103818baeABaF31518AB`

#### Polygon Link:

{% embed url="<https://polygonscan.com/address/0xC9B265c10840A24230cf103818baeABaF31518AB>" %}
Plot Actions Contract
{% endembed %}

### Plot Metadata

#### On-chain metadata constructor

Given all the traits of a plot, this constructs the base 64 encoded JSON payload that is used to render the plot metadata. In addition, it provides some aggregations that are useful for Plot Actions layer.

#### Contract Address:

`0x90bCfcBf0352E76D60601698a96B4c15e5671815`

#### Polygon Link:

{% embed url="<https://polygonscan.com/address/0x90bCfcBf0352E76D60601698a96B4c15e5671815>" %}
Plot Metadata Contract
{% endembed %}
