# ShredPrism

> Serialized Solana entries over the Jito ShredStream interface, delivered over gRPC with TLS from dedicated regions.

Source: https://docs.constant-k.com/shredprism/

ShredPrism delivers serialized Solana entries over gRPC, from the block the leader is producing. It is the earliest view of Solana data that constant-k offers.

## Compatibility and identity

ShredPrism serves the Jito ShredStream interface, `shredstream.ShredstreamProxy/SubscribeEntries`. A client written for Jito ShredStream connects unchanged, with the endpoint and the `x-token` metadata changed.

The interface is Jito's; the payload inside it is standard Solana entries. The protocol file is `shredstream.proto` in [jito-labs/mev-protos](https://github.com/jito-labs/mev-protos).

ShredPrism combines shreds sourced from the fastest known shred providers with shreds from constant-k's own validator. Combining sources means a fragment missed by one can still arrive.

## Endpoints

| Region    | Host and port                          |
| :-------- | :------------------------------------- |
| New York  | `prism-newyork.constant-k.com:55577`   |
| Frankfurt | `prism-frankfurt.constant-k.com:55577` |

Connections must use TLS, with the API key in the `x-token` header. Your connection details appear on the [My Account](https://www.constant-k.com/my-account/) page once Nexus is active.

## Delivery

| Property  | Behaviour                                                                                                                                         |
| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |
| Stage     | Reassembly done; deserialization and everything after it belongs to the reader. See [Data Stages](https://docs.constant-k.com/get-started/data-stages/).                     |
| Payload   | Serialized entries, with the slot they belong to                                                                                                  |
| Transport | gRPC over HTTP/2 with TLS, so data arrives in order and lost packets are retransmitted. A dropped UDP shred stream packet is gone without notice. |
| Content   | Every transaction and every slot, unfiltered                                                                                                      |

Each response carries a slot number and a byte string of serialized proof-of-history entries, each entry with its own transactions. [Entries](https://docs.constant-k.com/shredprism/entries/) covers the layout, the decoders and the delivery properties of the feed, and the [Quickstart](https://docs.constant-k.com/shredprism/quickstart/#protocol) has the service, method and metadata.

## Access and limits

ShredPrism is included on Nexus. Limits apply per region.

| Limit                | Nexus                              |
| :------------------- | :--------------------------------- |
| Concurrent streams   | One stream per key, in each region |
| Bandwidth limit      | None                               |
| Per-request metering | None                               |
| Stream type          | The full Solana feed over gRPC     |
| Shred visibility     | Pre-block, sub-slot                |

A second stream on the same key in the same region is refused, and the stream you already hold keeps running. The status and its message are in the [Quickstart troubleshooting table](https://docs.constant-k.com/shredprism/quickstart/#troubleshooting).

## Related

ShredPrism carries serialized entries, deserialized and filtered by your own code. [Turbo Kaldera](https://docs.constant-k.com/kaldera/turbo-kaldera/) carries decoded pre-execution transactions, already filtered, and [Kaldera](https://docs.constant-k.com/kaldera/) carries execution results. The [service comparison](https://docs.constant-k.com/kaldera/#kaldera-turbo-kaldera-shredprism-or-websockets) sets the four streaming services side by side, and [Data Stages](https://docs.constant-k.com/get-started/data-stages/) places each one on the pipeline.

- [ShredPrism Quickstart](https://docs.constant-k.com/shredprism/quickstart/)

- [Entries](https://docs.constant-k.com/shredprism/entries/)

- [Data Stages](https://docs.constant-k.com/get-started/data-stages/)

- [Plans & Limits](https://docs.constant-k.com/get-started/plans-and-limits/#shredprism-limits)
