> ## 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.

# Managing Payment Streams in the Aven Dashboard | Aven

> Create, monitor, and control USDC or XLM payment streams from the Aven dashboard. Pause, resume, or cancel streams and track work sessions in real time.

The Aven dashboard is your control center for creating and managing payment streams. As a client, you lock funds into an on-chain stream contract and Aven automatically releases them to a worker as time accrues — every second of active work translates directly into earned funds, all enforced by Soroban smart contracts on Stellar.

## Creating a Stream

<Steps>
  <Step title="Connect your Freighter wallet">
    Open the Aven dashboard and click **Connect Wallet** in the top navigation. Approve the connection in the Freighter popup. Make sure Freighter is set to **Stellar Testnet** before proceeding.
  </Step>

  <Step title="Navigate to Streams → Create New Stream">
    From the dashboard, click the **+ New Stream** button in the top-right of the streams list.
  </Step>

  <Step title="Fill in the stream parameters">
    Complete the creation form with the following details:

    * **Title** — a label for your own reference (required)
    * **Recipient address** — the worker's Stellar public key (`G...` format)
    * **Total amount** — total funds to lock, in USDC or XLM
    * **Asset** — choose USDC or XLM
    * **Duration** — total stream length in days (the dashboard converts this to ledgers automatically)
    * **Category** — Freelance, Salary, Bounty, Grant, AgentTask, or Subscription

    The dashboard computes the **rate per second** automatically from your total amount and duration. You will see a live preview of the per-second and per-hour rate before you submit.
  </Step>

  <Step title="Click 'Initialize Stream on Stellar'">
    Freighter pops up and asks you to review and sign the transaction. Confirm to broadcast it to the Stellar Testnet.
  </Step>

  <Step title="Stream is now Active">
    Once the transaction is confirmed, funds are locked in the stream contract and the stream status becomes **Active**. Share the stream ID with your worker so they can start logging sessions against it.
  </Step>
</Steps>

## Stream Parameters

<ParamField path="recipient" type="Address" required>
  The worker's Stellar public key in `G...` format. Must be a valid 56-character Stellar address.
</ParamField>

<ParamField path="total_amount" type="number" required>
  Total funds to lock in the stream, denominated in USDC or XLM. Must be greater than zero and covered by your available balance plus transaction fees.
</ParamField>

<ParamField path="duration" type="number" required>
  Total stream duration in days. The dashboard converts this value to Stellar ledgers (approximately 5 seconds per ledger on Testnet) and uses it to calculate the per-second payout rate.
</ParamField>

<ParamField path="asset" type="USDC | XLM" required>
  The payment token for this stream. Choose `USDC` for a USD-denominated stream or `XLM` for native Stellar tokens. USDC streams require a USDC trustline on both the sender and recipient accounts.
</ParamField>

<ParamField path="category" type="Freelance | Salary | Bounty | Grant | AgentTask | Subscription" required>
  The work category. This label feeds into the worker's on-chain reputation score, so it is worth choosing the most accurate option. Defaults to `Freelance`.
</ParamField>

<ParamField path="title" type="string" required>
  A human-readable label for the stream, visible to both you and the worker in the dashboard. For example: `"Smart Contract Audit – Phase 1"`.
</ParamField>

## Stream Status

| Status        | Meaning                                             | Actions Available |
| ------------- | --------------------------------------------------- | ----------------- |
| **Active**    | Stream is live; funds accrue every ledger           | Pause, Cancel     |
| **Paused**    | Temporarily halted; time is not accruing            | Resume, Cancel    |
| **Cancelled** | Terminated early; unearned funds returned to sender | None              |
| **Completed** | All deposited funds have been claimed               | None              |

## Stream Controls

Only the stream sender (client) can use these controls. Actions are signed with Freighter and executed as on-chain transactions.

* **Pause** — Temporarily halts the stream. Time stops accruing while the stream is paused. The worker can still submit pending work sessions for review, but no new earnings accumulate until you resume.
* **Resume** — Reactivates a paused stream. Time begins accruing again from the point of resumption.
* **Cancel** — Permanently terminates the stream. Any unearned funds (the portion of the locked balance not yet released to the worker) are returned to your account. Sessions that have already been approved and released remain valid and are not reversed.

<Note>
  Once a stream is cancelled, it cannot be reactivated. If you need to continue working with the same recipient, create a new stream.
</Note>

## Stream Detail View

Clicking any stream card opens the stream detail page, which shows:

* **Stream ID**, status badge, and category label
* **Sender** and **recipient** Stellar addresses
* **Total deposited**, **total withdrawn**, and a visual progress bar
* **Rate per ledger** and total duration in ledgers
* **Available**, **pending review**, **release-eligible**, and **disputed** amounts broken out by work session status
* All submitted **work sessions** with their individual statuses, timing, and git statistics
* A link to the **Stellar Expert** on-chain explorer for the stream contract

From this page you can also approve or dispute individual work sessions (see [Work Sessions](/dashboard/work-sessions)).
