> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skatechain.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> High level overview of Skate Execution Network

## Components

Skate Execution Network consists of **a set of executors**, **a transaction relayer**, and **Executor Registries** on kernel and periphery chains:

1. **Executors**

These specialized entities, either from Skate or third-party providers, handle user intents across blockchains. They must manage their own cross-chain inventories and execution plans. In exchange, they receive fees from users who need their transactions settled through Skate.

2. **Relayer**

The relayer oversees the confirmation results from [Skate AVS](/main/infrastructure-components/eigencloud-avs) and attests to them, effectively preparing the required settlement data for executors.

3. **Executor Registry**

The Executor Registry manages the addition and removal of executors.

## Execution Flow

<Steps>
  <Step title="Watch Intent">
    Watch intents on ActionBox from user across periphery. Either via API or self-indexing.
  </Step>

  <Step title="Reserve Intent">
    Await approved intents by Skate AVS. Then reserve interested intents to fill on Kernel Message Box
  </Step>

  <Step title="Retrieve approved tasks">
    Intents flow through Kernel Apps are then processed into tasks. Executors need to settle the registered intents based on these tasks information
  </Step>

  <Step title="Settle Tasks">
    Once approved tasks is acknowledged. Executors schedule settlement on corresponding periphery chains, effectively end a Skate Intent flow
  </Step>
</Steps>

The flow diagram below depicts an intent processed by Execution Network

<Card title="Execution Network flow">
  ```mermaid theme={null}
    flowchart TB
      periphery["Periphery Apps (e.g. Skate AMM)"]
      AB["Action Box (Periphery)"]
      executor[Skate Executor]
      MB["Message Box (Kernel)"]
      relayer[Relayer]
      signed_data[Approved Tasks]

      executor -- "1) Watch intents" --> AB
      AB -..-> executor

      executor -- "2) input Intent to reserve execution" --> MB

      MB -. tasks .-> relayer
      relayer -- "watch " --> MB

      relayer -- "validate & sign" --> signed_data

      executor -- "3) retrieve approved tasks" --> signed_data
      signed_data -..-> executor

      executor -- "4) settle with attested data" --> periphery
  ```
</Card>
