> For the complete documentation index, see [llms.txt](https://docs.autonomynetwork.io/autonomy-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autonomynetwork.io/autonomy-docs/autonomy-network/products/autostation/tutorial-conditions/part-3-uploading-to-autostation.md).

# Part 3: uploading to AutoStation

We can upload the contract to AutoStation so that we and everyone else can mix and match with everyone else's actions/conditions contracts. Since we've actually made 2 conditions in `TimeConditions` (each function is a separate condition), we'll have to upload each one separately. Let's do `betweenTimes` first.

### 1.

Deploy the contract using Remix or any framework (our repo uses Brownie and has a deploy script here) and verify the code on Polygonscan (we'll use Polygon for this tutorial). Verifying the code is needed for the AutoStation UI to know the ABI so that it can display the inputs to users in the UI when someone uses this condition. Our contract is [0x171ee22328a936d7e9D67Af0978fE973403F09c7](https://polygonscan.com/address/0x171ee22328a936d7e9d67af0978fe973403f09c7#code). For the constructor we need the `routerUserVeriForwarder` variable. This can be found in [Deployed Contracts](/autonomy-docs/developers/deployed-contracts.md).

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

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

### 2.

Go to <https://autostation.io/app/upload> and fill out the inputs. The name should describe what it does at a glance. The function from the contract should be `betweenTimes`.

<figure><img src="/files/3mMjWd8vypPoc1hClHzU" alt=""><figcaption></figcaption></figure>

### 3.

Hit "Upload Condition" and make the transaction to add it to the UI. This transaction essentially calls an AutoStation contract that just emits an event specifying all the information about the condition so that the UI can watch it and add it to the UI. The transaction cost compared to using a centralized database acts as a spam preventor.

### 4.

Repeat steps 1-3 for `everyTimePeriod`, except selecting `everyTimePeriod` as the function this time.

Now we're done! You can find your condition in the UI, marked as unverified. Submit a request in the discord for someone from the review team to review the condition and add it to the verified list. This doesn't guarantee that the condition works or even that it's not malicious, as that can never be guaranteed, but you can be reasonably sure that they work as intended. The next part describes how to create a request on Autonomy that uses this condition - this isn't necessary to know since the AutoStation UI does this for you, but it's useful for understanding how it all works.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.autonomynetwork.io/autonomy-docs/autonomy-network/products/autostation/tutorial-conditions/part-3-uploading-to-autostation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
