# 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 %}


---

# 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.cropxyz.com/tech/plot.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.
