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

# Aven Architecture: System Design and Data Flow

> A high-level view of how the Aven dashboard, CLI, Soroban contracts, and Stellar network fit together to stream payments and mint attestations atomically.

## Overview

Aven is built from four cooperating layers. Each layer has a single responsibility and communicates with the next through well-defined boundaries — a signed transaction, a JSON payload, or a contract invocation.

<Steps>
  <Step title="Client layer">
    The dashboard (web app) and the `aven-stellar` CLI. Clients create streams, workers track sessions.
  </Step>

  <Step title="Protocol layer">
    Three Soroban smart contracts: **Stream**, **Attestation**, and **Reputation**.
  </Step>

  <Step title="Settlement layer">
    The Stellar network — Testnet today, Mainnet at launch.
  </Step>

  <Step title="Identity layer">
    Freighter (or any Stellar wallet) signs every state-changing transaction.
  </Step>
</Steps>

## Data flow

1. A client funds a **Stream** contract in USDC or XLM.
2. A worker runs `aven-stellar start`, which reads local Git activity and produces a signed session report.
3. `aven-stellar stop` submits the report to the Stream contract.
4. The Stream contract releases funds **and** invokes the Attestation contract in a single atomic transaction.
5. The Reputation contract reads all attestations for a given address on demand.

## Trust model

* **No custodial servers.** Aven never holds keys or funds.
* **Atomic payout + proof.** Payment and attestation succeed or fail together — there is no state where one exists without the other.
* **Portable identity.** A worker's reputation is derived entirely from on-chain attestations tied to their Stellar address.

<Card title="Deep dive" icon="book-open" href="/contracts/overview">
  Read the Smart Contracts section for full ABIs and storage layouts.
</Card>
