# Streaming

## User Streaming <a href="#user-streaming" id="user-streaming"></a>

User streaming enables individuals to set up continuous token flows to recipients.

Access user streaming at [stream.realms.today](https://stream.realms.today/)

## Creating a User Stream <a href="#creating-a-user-stream" id="creating-a-user-stream"></a>

{% stepper %}
{% step %}

### Access Streaming

Navigate to [stream.realms.today](https://stream.realms.today/)

and connect your wallet.
{% endstep %}

{% step %}

### Configure Stream <a href="#step-2---configure-stream" id="step-2---configure-stream"></a>

Set up your stream parameters:

* **Recipient**: The wallet address receiving the stream
* **Token**: The token to stream (SOL, USDC, etc.)
* **Amount**: Total amount to be streamed
* **Duration**: Time period for the stream (days, weeks, months)
* **Start Date**: When the stream begins
  {% endstep %}

{% step %}

### Fund and Start <a href="#step-3---fund-and-start" id="step-3---fund-and-start"></a>

Deposit the tokens and activate the stream.
{% endstep %}
{% endstepper %}

### Managing Your Streams <a href="#managing-your-streams" id="managing-your-streams"></a>

* **View Active Streams**: Monitor ongoing streams and remaining balances
* **Cancel Stream**: Stop the stream and reclaim remaining tokens
* **Withdraw**: Recipients can withdraw accumulated tokens at any time

## DAO Streaming <a href="#dao-streaming" id="dao-streaming"></a>

DAO streaming enables governance-controlled token distribution for grants, salaries, vesting, and other recurring payments.

* **User Side**: View and manage your incoming DAO payments at [v2.realms.today/my-payments](https://v2.realms.today/my-payments)
* **DAO Side**: Create and manage streams through DAO instructions

#### Use Cases <a href="#use-cases" id="use-cases"></a>

* **Contributor Payments**: Pay team members over time
* **Grant Distribution**: Stream funds to grant recipients
* **Token Vesting**: Distribute vested tokens to stakeholders
* **Partnership Deals**: Gradual payments for long-term agreements

### Creating a DAO Stream <a href="#creating-a-dao-stream" id="creating-a-dao-stream"></a>

{% stepper %}
{% step %}

### Step 1 - Create Proposal

Submit a proposal to create a new stream from the DAO treasury.
{% endstep %}

{% step %}

#### Define Parameters <a href="#step-2---define-parameters" id="step-2---define-parameters"></a>

Specify stream details in the proposal:

* **Recipient Address**: Who receives the stream
* **Treasury Account**: Source of funds
* **Token and Amount**: What and how much to stream
* **Schedule**: Duration and start time
  {% endstep %}

{% step %}

#### Community Vote <a href="#step-3---community-vote" id="step-3---community-vote"></a>

DAO members vote on the streaming proposal.
{% endstep %}

{% step %}

#### Execution <a href="#step-4---execution" id="step-4---execution"></a>

If approved, the stream is created and starts automatically.
{% endstep %}
{% endstepper %}

### Managing DAO Streams <a href="#managing-dao-streams" id="managing-dao-streams"></a>

* **View All Streams**: See active streams from the treasury
* **Cancel via Proposal**: Stop a stream through governance vote
* **Modify Streams**: Change parameters through new proposals

DAO streams can only be created, modified, or cancelled through governance proposals.

### Stream Details <a href="#stream-details" id="stream-details"></a>

#### How Tokens Accumulate <a href="#how-tokens-accumulate" id="how-tokens-accumulate"></a>

Tokens accumulate linearly over time. For example, a 30-day stream of 3000 USDC releases 100 USDC per day.

#### Withdrawal <a href="#withdrawal" id="withdrawal"></a>

* Recipients can withdraw accumulated tokens anytime
* No need to wait until stream completion
* Partial withdrawals are supported

#### Cancellation <a href="#cancellation" id="cancellation"></a>

When a stream is cancelled:

* Recipient keeps already-streamed tokens
* Remaining tokens return to the sender (user or DAO treasury)

{% hint style="warning" %}
Always ensure sufficient token balance in the source account for the entire stream duration.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.realms.today/realms-v2/features/streaming.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
