# Raw Shred Data Behavior

> Understand packets, deshredding, duplicates, forks, and the metadata that raw Shredstream does not contain.

Canonical: https://nolimitnodes.com/docs/api-reference/shredstream/raw-data

## Data and coding shreds

Data shreds carry pieces of ledger entries. Coding shreds carry erasure-recovery data. Your receiver groups them by slot and erasure set, then reconstructs entries when enough pieces exist.

See Solana&apos;s [Turbine documentation](https://solana.com/docs/core/turbine-block-propagation) and the [ledger shred module](https://docs.rs/solana-ledger/latest/solana_ledger/shred/index.html) for protocol detail.

## UDP behavior

Your client must expect:

- Duplicate packets
- Out-of-order packets
- Missing packets
- Incomplete shred sets
- Bursts that exceed average traffic

Move decoding off the socket read loop. Use bounded queues, increase socket buffers only after measurement, and publish drop counters.

## Fork behavior

A raw observation can belong to a branch that loses the fork choice. Treat it as an early signal rather than final state. Expire abandoned slot state and confirm important outcomes through gRPC or RPC.

## Metadata that does not exist yet

Raw shreds do not provide:

- Transaction success or error
- Program logs
- Pre and post balances
- Compute-unit consumption
- Processed, confirmed, or finalized commitment
- Server-side program or wallet filters

Use [Shredstream vs Yellowstone gRPC](https://nolimitnodes.com/compare/shredstream-vs-yellowstone-grpc) to choose the correct interface.
