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

# Introduction

{% hint style="info" %}
Yagi Automation is a network of keepers on StarkNet L2 that automate protocol actions
{% endhint %}

There are three participants in our system:

* **Task authors** create automations. These are smart contracts that need to be invoked on a regular basis,
* **Automation keepers** execute automations,
* **End-users** use different automations to take advantage of emerging yield opportunities.

Yagi is a protocol that connects task authors and automation keepers and a community that connects task authors with end-users.

## Why Automation?

Some types of smart contracts require regular upkeep. For example, vaults need to harvest rewards, trading strategies require rebalancing of positions and players playing on-chain games seek to automate their farming.

StarkNet (like other built-in networks) does not support automated smart contract invocation. Smart contracts can only be invoked from "outside" the network whether by an external user or a computer program that mimics a user interaction.

But it's problematic for smart contract teams to maintain their own automation infrastructure:

* **Opportunity cost**. Developing a bot distracts developer time from the core product,
* **No redundancy**. A single bot is a single point of failure,
* **Centralization**. A protocol relying on the team's own proprietary execution infrastructure could be tactically exploited (e.g., by withholding or front-running executions at certain points in time).

Yagi is a network of keepers that will execute smart contracts as required by their authors. To create an automated smart contract, a task author will create a Yagi task and define **when** it should be called and **how** it should be called by the keepers. After deploying the task, keepers will begin automated execution.

{% hint style="info" %}
StarkNet transactions are currently free so Yagi Automation is free to use.
{% endhint %}

## Benefits of Yagi Automation

There are several benefits to using Yagi Automation:

* No need to deploy off-chain code, creating a task only requires building 2 smart contract functions,
* Increased reliability by working with a network of keepers,
* On-chain transparency of execution requirements and parameters builds trust from community.

## Why StarkNet?

In short, we believe StarkNet is the best available architecture for enabling mass-automation on-chain. Due to low transaction cost, automations on StarkNet will be cheaper than anywhere else and also will be able to execute more complex tasks. As a result, we expect Yagi automations will enable entirely new use cases for DeFi, NFTs, gaming and other verticals.

You can read our more detailed perspective about this:

{% embed url="<https://medium.com/yagi-fi/provable-vs-composable-computation-or-why-cairo-will-supersede-solidity-6b00e69bfc9e>" %}

### Guides: Jump right in

Follow our handy guides to get started on the basics as quickly as possible:

{% content-ref url="/pages/srP6qPuRdHQfqI42QU0A" %}
[How it Works](/developers/automation/how-it-works.md)
{% endcontent-ref %}

{% content-ref url="/pages/OGDLgB4UG6c74VR5T6mh" %}
[How to Create a Task](/developers/automation/how-to-create-a-task.md)
{% endcontent-ref %}

{% content-ref url="/pages/2009akHOU8pUiEfGhVCt" %}
[Security](/developers/automation/security.md)
{% endcontent-ref %}

### Fundamentals: Dive a little deeper

Learn the fundamentals of Yagi to get a deeper understanding of our main features:

{% content-ref url="/pages/TyD28oNzyzrqvynHF6lA" %}
[Tasks](/developers/automation/tasks.md)
{% endcontent-ref %}

{% content-ref url="/pages/p9lYTkplf8DQBmcnFCor" %}
[Keepers](/developers/automation/keepers.md)
{% endcontent-ref %}
