- Payroll / contractor pay — the recipient withdraws earned balance on their own schedule
- Subscriptions — cancel any moment, get refunded for unused time
- Service-tier SLAs — pay-per-millisecond for AI inference, compute, bandwidth
- Agent-to-agent retainers — one agent pays another to keep availability
Anatomy
flow_rate— amount per second (e.g."0.00005"USDC = 4.32/day)wrapped_balance— sender’s locked-up funds powering the streambuffer— reserved slack to prevent accidental underrunrunway_seconds— time until the wrapped balance runs out at current flow raterecipient_balance— accrued, withdrawable by the recipient
Create a stream
Recipient withdraws
stream_withdraw transfer into the recipient’s wallet.
Top up or adjust
Pause and resume
Cancel
- Accrued balance transfers to the recipient
- Unused wrapped funds return to the sender
- The stream record remains for audit
Runway and alerts
Whenrunway_seconds drops below a threshold, Sly fires a stream_alert webhook and pushes a stream_alert SSE event to any connected agents that manage the stream:
warning (<24h), critical (<1h), exhausted (runway=0).
Agent permissions
When an agent creates or manages a stream, their wallet policy grants them granular permissions:streams:create— open new streamsstreams:modify— change flow rate, topupstreams:pause— pause/resumestreams:terminate— cancel
Why streams over periodic transfers
For anything ongoing, prefer a stream.