# Data Streaming

> For data pipelines, aggregators, or indexers, real-time account state streaming on Solana with light account hot/cold lifecycle tracking. Stream Light token accounts, mint accounts, and PDAs via Laserstream gRPC.

- Skill: `modbender/data-streaming` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add modbender/data-streaming`
- Raw SKILL.md: https://api.skillmd.com/api/skills/modbender/data-streaming/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: modbender (https://skillmd.com/u/modbender)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/modbender/data-streaming

---


# Data Streaming

Stream Light Protocol account state transitions via Laserstream gRPC.

## Workflow

1. **Clarify intent**
   - Recommend plan mode, if it's not activated
   - Use `AskUserQuestion` to resolve blind spots
   - All questions must be resolved before execution
2. **Identify references and skills**
   - Match task to [domain references](#domain-references) below
   - Locate relevant documentation and examples
3. **Write plan file** (YAML task format)
   - Use `AskUserQuestion` for anything unclear — never guess or assume
   - Identify blockers: permissions, dependencies, unknowns
   - Plan must be complete before execution begins
4. **Execute**
   - Use `Task` tool with subagents for parallel research
   - Subagents load skills via `Skill` tool
   - Track progress with `TodoWrite`
5. **When stuck**: spawn subagent with `Read`, `Glob`, `Grep`, DeepWiki MCP access and load `skills/ask-mcp`

## When NOT to use

For simple account lookups, call `get_account_interface` from `light-client`. It races hot and cold lookups automatically.

This skill is for continuous data pipelines: aggregators, market makers, and indexers that need real-time state change notifications rather than point queries.

## Domain references

| Audience | Reference |
| -------- | --------- |
| All — shared architecture (read first) | [references/shared.md](references/shared.md) |
| Token accounts (SPL-compatible, 165 bytes) | [references/token-accounts.md](references/token-accounts.md) |
| Mint accounts (borsh-deserialized, metadata) | [references/mint-accounts.md](references/mint-accounts.md) |
| Compressible PDAs (per-program, discriminator check) | [references/pdas.md](references/pdas.md) |

## Account type decision

| Streaming... | Account type | Key difference |
|---|---|---|
| SPL-compatible token balances | Token accounts | `PodAccount` parsing, 165-byte layout |
| Mint supply, metadata, authorities | Mint accounts | `Mint::deserialize`, borsh layout |
| Your program's PDA state | Compressible PDAs | 8-byte discriminator check, per-program filter |

## Program addresses

| Program | Address |
|---------|---------|
| Light Token Program | `cTokenmWW8bLPjZEBAUgYy3zKxQZW6VKi7bqNFEVv3m` |
| Light System Program | `SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7` |

## External references

| Resource | Link |
|----------|------|
| Photon indexer | [github.com/helius-labs/photon](https://github.com/helius-labs/photon) |
| Streaming tokens toolkit | [zkcompression.com/light-token/toolkits/for-streaming-tokens](https://www.zkcompression.com/light-token/toolkits/for-streaming-tokens) |
| Streaming mints toolkit | [zkcompression.com/light-token/toolkits/for-streaming-mints](https://www.zkcompression.com/light-token/toolkits/for-streaming-mints) |

## SDK references

| Package | Link |
|---------|------|
| `@lightprotocol/stateless.js` | [API docs](https://lightprotocol.github.io/light-protocol/stateless.js/index.html) |
| `light-client` | [docs.rs](https://docs.rs/light-client/latest/light_client/) |


## Security

This skill does not pull, store, or transmit external secrets. It provides code patterns, documentation references, and development guidance only.

- **No credentials consumed.** The skill requires no API keys, private keys, or signing secrets. `env: []` is declared explicitly.
- **User-provided configuration.** RPC endpoints, wallet keypairs, and authentication tokens (Privy, wallet adapters) are configured in the user's own application code — the skill only demonstrates how to use them.
- **API keys.** Reference code uses `HELIUS_API_KEY` as a placeholder. For production, set your RPC provider key as an environment variable.
- **Subagent scope.** This skill may spawn read-only subagents that use `Read`, `Glob`, and `Grep` to search the local repository. Restrict the working directory to your project.
- **Install source.** `npx skills add Lightprotocol/skills` installs from the public GitHub repository ([Lightprotocol/skills](https://github.com/Lightprotocol/skills)). Verify the source before running.
- **Audited protocol.** Light Protocol smart contracts are independently audited. Reports are published at [github.com/Lightprotocol/light-protocol/tree/main/audits](https://github.com/Lightprotocol/light-protocol/tree/main/audits).

