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

# Architecture

> Ingest SDK Structure

![](https://mintcdn.com/stellardevelopmentfoundation/1iVxlvEjme-PeN5h/assets/ingest-sdk/architecture.png?fit=max\&auto=format\&n=1iVxlvEjme-PeN5h\&q=85\&s=449056f3da7ad29b4ff08b169d151851)

## Ingest SDK Structure

Ingest SDK is organized into three main components:

1. **[Ledger Backends](https://developers.stellar.org/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends)**: Used to stream ledgers from the Stellar network. `https://github.com/stellar/go-stellar-sdk/tree/main/ingest/ledgerbackend`
2. **[Ledger Readers](https://developers.stellar.org/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerreaders.md)** : Iterators to extract individual changes or transactions from a ledger. `https://github.com/stellar/go-stellar-sdk/tree/main/ingest`
3. **[Ledger Processors](https://github.com/stellar/go-stellar-sdk/tree/main/processors)** : Functions to process individual changes or transactions and extract meaningful data such as accounts, offers, claimable balance, etc. They are used in conjunction with `Ledger Readers` to interpret and transform ledger data.
