Table of Contents
Introduction
GrowStreams is a real-time money streaming protocol built on Vara Network that enables continuous, per-second token flows between addresses. Unlike traditional payment systems that process transactions in batches — daily, weekly, or monthly — GrowStreams allows tokens to flow continuously at a specified rate.
What is Money Streaming?
Money streaming allows you to send tokens to another address at a specific rate per second. For example, instead of paying someone $1,000 per month, you can stream tokens at approximately $0.0004 per second. The receiver can withdraw their accrued balance at any time.
Key Benefits
- Per-second payments — Get paid continuously, not in batches
- Instant withdrawals — Receivers can claim tokens anytime
- Low transaction costs — 8x cheaper than Ethereum L2 solutions
- Programmable — Automate payroll, subscriptions, grants, and more
- Secure escrow — All funds held in audited vault contracts
Use Cases
- Freelance and gig work payments
- DAO contributor salaries
- Open source bounties
- SaaS subscriptions
- Creator patronage
- Revenue sharing
- Automated payroll
- Grant disbursement
Getting Started
System Requirements
- A modern web browser (Chrome, Firefox, Brave, or Safari)
- A Vara-compatible wallet extension
- Access to Vara testnet
- An internet connection
Supported Wallets
Installing SubWallet
Connecting to Vara Network
Getting Testnet VARA
To use GrowStreams on testnet, you need testnet VARA tokens for transaction fees.
GROW Token Management
GROW is the test token used in GrowStreams testnet. You'll need GROW tokens to create and fund payment streams.
Accessing the Token Interface
Minting GROW Tokens
For testing purposes, you can mint free GROW tokens.
Checking Your Balance
- Top navigation bar — total balance
- GROW token page — detailed view
- Vault page — deposited vs available
- Streams page — allocated amounts
Approving the Vault
Before depositing GROW tokens into the vault, you must approve the vault contract to spend your tokens.
Vault Operations
The TokenVault is an escrow contract that securely holds your GROW tokens. When you create a stream, tokens are allocated from your vault balance.
Understanding the Vault
- Secure token storage with audited contracts
- Automatic allocation for active streams
- Withdraw unallocated tokens anytime
- Emergency pause functionality
- Multi-token support (future)
Vault Balance Categories
// Deposited: total tokens you've sent to vault
// Allocated: tokens reserved for active streams
// Available: tokens you can withdraw or use for new streams
Depositing to Vault
Withdrawing from Vault
Creating Streams
Understanding Streams
A stream is a continuous, per-second token flow from your address (sender) to another address (receiver).
Stream Configuration
Flow rate is specified in the smallest token unit (for GROW: 1e-12).
Flow Rate Reference
| Description | Flow Rate (per second) | Hourly | Daily |
|---|---|---|---|
| Slow drip | 1,000,000,000 | 0.0036 GROW | 0.0864 GROW |
| Moderate | 10,000,000,000 | 0.036 GROW | 0.864 GROW |
| Fast | 100,000,000,000 | 0.36 GROW | 8.64 GROW |
| Very fast | 1,000,000,000,000 | 3.6 GROW | 86.4 GROW |
Recommended Deposit = Flow Rate × Seconds × 1.2 (20% safety margin)
1 GROW/hour = 1,000,000,000,000 / 3,600 = 277,777,778 per second
1 GROW/day = 1,000,000,000,000 / 86,400 = 11,574,074 per second
Creating Your First Stream
Managing Active Streams
Viewing Your Streams
Stream Dashboard Details
- Stream Status — Current state indicator (Active/Paused/Stopped)
- Flow Information — Rate, duration, total streamed
- Balance Information — Deposited, streamed, remaining buffer
- Receiver Balance — Withdrawable amount for receiver
- Action Panel — Pause, resume, deposit, stop buttons
Pausing a Stream
When to Pause
- Temporary work stoppage
- Waiting for milestone verification
- Adjusting payment terms
- Low buffer warning
After Pausing
- Token flow stops immediately
- Accrued balance is settled
- Buffer remains allocated
- Status changes to "Paused"
Adding Deposits
Add more tokens to extend a stream's duration.
New Duration = New Buffer / Flow Rate
Stopping a Stream
// Refund goes to your vault as "available" balance
Receiving Streams
Viewing Incoming Streams
Checking Withdrawable Balance
// The system calculates this automatically and displays it in GROW tokens
Withdrawing Accrued Tokens
Withdrawal Strategy
- Withdraw daily for regular income
- Withdraw weekly to minimize transactions
- Withdraw anytime you need liquidity
Advanced Features
Buffer Health Indicators
Example:
Buffer: 100 GROW · Flow Rate: 0.001 GROW/second
Time Remaining: 100 / 0.001 = 100,000 seconds ≈ 27.8 hours
Stream Liquidation
When buffer drops too low, streams can be liquidated by anyone on the network.
Real-time Balance Updates
- Ticker Animation — Balance counts up continuously
- Progress Bars — Visual buffer depletion gauge
- Timeline View — Stream history and projections
- Auto-refresh — Updates every 5 seconds
Troubleshooting
- Ensure wallet extension is installed and unlocked
- Refresh the page
- Check you're on Vara Testnet
- Clear browser cache
- Try a different browser
- Wait 10–15 seconds for blockchain confirmation
- Refresh the page
- Check transaction on Vara explorer
- Disconnect and reconnect wallet
- Check your vault available balance
- Deposit more GROW tokens to vault
- Ensure you've approved the vault
- Verify deposited tokens aren't fully allocated
- Verify receiver address is valid
- Ensure deposit ≥ (flow_rate × 3,600)
- Check vault has available balance
- Verify flow rate is greater than 0
Transaction Errors
| Error Type | Cause | Fix |
|---|---|---|
| Insufficient Gas | Not enough VARA for fees | Get more testnet VARA from faucet. Ensure you have at least 1 VARA. |
| Rejected by User | You declined in wallet popup | Click the action again and approve in wallet when popup appears. |
| Network Timeout | Connection issue | Check internet connection. Wait 30 seconds and retry. |
| Invalid Parameters | Form validation missed an issue | Review all form fields. Check minimum buffer requirements. |
| Contract Error | Smart contract rejected action | Review parameters. Check all requirements. Contact support if persists. |
Wallet Connection Problems
- Extension is installed and enabled
- Browser allows extensions
- Wallet is unlocked
- Using SubWallet, Polkadot.js, or Talisman
Quick Reference
Essential Links
Contract Addresses — Vara Testnet
All Formulas at a Glance
Available = Deposited - Allocated
// STREAMS
Minimum Buffer = Flow Rate × 3,600 seconds
Recommended Deposit = Flow Rate × Duration × 1.2
Time Remaining = Current Buffer / Flow Rate
// RECEIVING
Withdrawable = (Flow Rate × Seconds Elapsed) - Already Withdrawn
// RATE CONVERSIONS
1 GROW/hour = 277,777,778 smallest units/second
1 GROW/day = 11,574,074 smallest units/second
// LIQUIDATION TRIGGER
Buffer < (Flow Rate × 3,600) → Stream liquidatable
// STOP REFUND
Refund = Deposited - Total Streamed