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

# Protocol Overview

Here we cover the general flow: Dev/SDK → Blockchains → Runner Nodes ↔ IPFS → Performer → Consensus → AA

<figure><img src="https://258555021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0oqis4JDhDSIVRhBEmPf%2Fuploads%2FaKxuKFrTQQVoSDabwDH1%2Fimage.png?alt=media&amp;token=bfd10aea-e817-43f9-b1f0-f8d0bc7fb059" alt=""><figcaption></figcaption></figure>

Developers utilise Ditto **TypeScript SDK** to define **deferred, multi-chain workflows, create** [**ZeroDev Smart Sessions**](https://zerodev.app/) and register them on-chain. **Ditto Runner Nodes** watch multiple chains for registration events, pull **workflow metadata from IPFS**, keep a live schedule of active workflows, and **process/simulate** them at the right time. Each runner **reports to the Performer**, which aggregates results. Runner attestations are used to reach **consensus on settlement**. Final, agreed outcomes are executed through the **Account Abstraction (AA) layer** (ERC-7579 modules), producing on-chain settlements and receipts back to the dApp. You can learn more about our SDK [here](https://github.com/dittonetwork/ditto-workflow-sdk).
