> For the complete documentation index, see [llms.txt](https://fifo-docs.gitbook.io/colibri/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fifo-docs.gitbook.io/colibri/colibri-rpc-streamer/rpc-streamer.md).

# Overview

`@colibri/rpc-streamer` turns repeated Stellar RPC reads into an awaited stream of callbacks. Use it for indexing ledgers, processing contract events, consuming typed transaction/operation records, or building an application-specific ingestor. It does not provide a database, exactly-once delivery, or an automatic retry policy.

```sh
deno add jsr:@colibri/rpc-streamer jsr:@colibri/core
```

## Choose a guide

* [Stream events](/colibri/colibri-rpc-streamer/events.md): filters, decoded events, and a bounded first run.
* [Stream ledgers](/colibri/colibri-rpc-streamer/ledgers.md): complete ledgers and their transactions.
* [Stream transactions and operations](/colibri/colibri-rpc-streamer/transactions-and-operations.md): native operation records, parent transaction status, and ledger checkpoints.
* [Live, archive, and automatic modes](/colibri/colibri-rpc-streamer/modes.md): retention and inclusive ranges.
* [Configuration](/colibri/colibri-rpc-streamer/configuration.md): constructors, defaults, and tuning.
* [Progress and recovery](/colibri/colibri-rpc-streamer/recovery.md): shutdown, checkpoints, and error behavior.
* [Custom streamers](/colibri/colibri-rpc-streamer/custom.md): implement an ingestor without replacing the control loop.
* [Errors](/colibri/reference/errors/rpc-streamer.md): every declared `RPC_*` code.

[`RPCStreamer.event()`](/colibri/colibri-rpc-streamer/events.md) and [`createEventStreamer()`](/colibri/colibri-rpc-streamer/events.md) are equivalent factories; [`RPCStreamer.ledger()`](/colibri/colibri-rpc-streamer/ledgers.md) and [`createLedgerStreamer()`](/colibri/colibri-rpc-streamer/ledgers.md) are the ledger equivalents. [`RPCStreamer.transaction()`](/colibri/colibri-rpc-streamer/transactions-and-operations.md)/[`createTransactionStreamer()`](/colibri/colibri-rpc-streamer/transactions-and-operations.md) and [`RPCStreamer.operation()`](/colibri/colibri-rpc-streamer/transactions-and-operations.md)/[`createOperationStreamer()`](/colibri/colibri-rpc-streamer/transactions-and-operations.md) add transaction and operation callbacks. All variants return the generic `RPCStreamer<T>`, not a separate lifecycle API. Existing event and ledger callback types are unchanged.

See the [generated API reference](https://jsr.io/@colibri/rpc-streamer/doc) for exact signatures and the [examples repository](https://github.com/fazzatti/colibri-examples) for complete projects.
