> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 사전 처리된 트랜잭션: 실행 전 Solana 데이터 (Shred 제거 없음)

> 처리된 커밋먼트에 도달하기 전에 실행 전 Solana 트랜잭션을 스트리밍합니다. Helius가 shred 디코딩을 처리하며, 서명된 트랜잭션을 WebSocket을 통해 수신합니다.

## 개요

사전 처리된 트랜잭션은 **`processed` 커밋 수준에 도달하기 전에** 제공되는 실행 전 Solana 트랜잭션입니다. Helius는 주요하게는 벨리데이터에 도착할 때 바로 디코딩된 shred와 예약된 트랜잭션 ([사전 확인](/docs/ko/pre-confirmations/overview)) 신호를 통해 여러 실행 전 소스를 집계하여, 이를 단일 중복 제거된 스트림으로 전달합니다. 수신할 원시 shred 패킷이나 여기에 대해 운영할 Shred 제거 인프라는 필요하지 않습니다.

사전 확인 신호에서 출처된 트랜잭션은 전용 [사전 확인](/docs/ko/pre-confirmations/overview) 제품보다 이 피드에 늦게 도착하며, 이는 가장 빠른 접근을 제공합니다.

사전 처리된 트랜잭션을 소비하는 주요 방법은 [`preprocessedSubscribe` WebSocket 방법](/docs/ko/preprocessed-transactions/preprocessed-subscribe)입니다 (공개 베타) — **모든 유료 요금제**에서도 사용 가능하며, **메시지당 0.1 크레딧**이 부과됩니다. 이전 [gRPC 전달](/docs/ko/preprocessed-transactions/grpc)은 이 방법으로 대체될 예정입니다.

<CardGroup cols={2}>
  <Card title="preprocessedSubscribe (WSS)" icon="tower-broadcast" href="/docs/ko/preprocessed-transactions/preprocessed-subscribe">
    사전 처리된 트랜잭션을 스트리밍하는 추천 방법입니다: 계정 필터링, 압축된 바이너리 페이로드, 모든 유료 요금제.
  </Card>

  <Card title="gRPC (레거시)" icon="binary" href="/docs/ko/preprocessed-transactions/grpc">
    이전의 LaserStream 기반 전달. 폐기 예정 — 새로운 통합은 WebSocket 방법을 사용해야 합니다.
  </Card>
</CardGroup>

## 사전 처리된 트랜잭션이 라이프사이클에서 차지하는 위치

Solana의 아키텍처에서 트랜잭션은 완전히 처리되기 전에 여러 단계를 거칩니다:

1. **Shred 수신** → 벨리데이터가 트랜잭션 shred(데이터 조각)을 수신합니다. ← \*\*[원시 shred (UDP)](/docs/ko/shred-delivery/raw-shreds)\*\*가 여기서 전달됩니다.
2. **Shred 디코딩** → Shred는 원시 트랜잭션으로 디코딩됩니다. ← **사전 처리된 트랜잭션은 주로 여기서 전달됩니다.**
3. **트랜잭션 실행** → 런타임에서 트랜잭션이 실행됩니다.
4. **메타데이터 생성** → 사전/사후 잔액, 로그, 오류 정보가 계산됩니다.
5. **커밋먼트** → 트랜잭션이 처리/확인/최종 상태에 도달합니다. ← **[LaserStream gRPC](/docs/ko/laserstream)** 및 \*\*[LaserStream WebSocket](/docs/ko/rpc/websocket)\*\*은 여기서 전달됩니다.

실행 후 구독은 단계 5에서 데이터를 전달하며, 전체 실행 및 메타데이터 생성 후입니다. 사전 처리된 트랜잭션은 단계-2 타이밍에 전달되며, shred 디코딩 후, 실행 완료 전에 이루어집니다. 더 빠른 신호를 원하면, [사전 확인](/docs/ko/pre-confirmations/overview)는 트랜잭션이 shred가 되기 전에 예약된 트랜잭션을 스트리밍합니다.

**트레이드오프:** 트랜잭션 데이터를 더 빨리 받지만, 잔액 변화, 로그 또는 오류 정보와 같은 실행 메타데이터는 제공되지 않습니다.

<Warning>
  **이것은 트랜잭션 전용 스트림입니다.** 계정 및 프로그램 상태 업데이트는 런타임에서 트랜잭션이 실행될 때까지 존재하지 않습니다. 실시간 계정 또는 프로그램 업데이트가 필요하다면 — 토큰 잔액, 본딩 곡선 상태, 프로그램 계정 — **[LaserStream gRPC](/docs/ko/laserstream)에서 `processed` 커밋먼트**를 사용하세요.
</Warning>

## 어떤 데이터가 제공되나요?

사전 처리된 트랜잭션은 완전한 서명된 트랜잭션을 포함하지만, 실행 메타데이터는 포함하지 않습니다:

### 이용 가능한 데이터

* ✅ **트랜잭션 서명** - 고유한 트랜잭션 식별자
* ✅ **계정 키** - 트랜잭션이 참조하는 모든 계정
* ✅ **명령어** - 완전한 명령어 데이터 및 프로그램 호출
* ✅ **최근 블록해시** - 트랜잭션 만료 참조
* ✅ **서명들** - 모든 트랜잭션 서명
* ✅ **슬롯 번호** - 트랜잭션이 관찰된 슬롯

### 누락된 데이터

* ❌ **트랜잭션 메타데이터** - 토큰 잔액 변화, 사전/사후 잔액, 트랜잭션 상태
* ❌ **트랜잭션 오류** - 트랜잭션 실패 여부를 결정할 수 없습니다
* ❌ **내부 명령어** - 교차 프로그램 호출(CPI)이 포함되지 않습니다
* ❌ **로그 메시지** - 프로그램 로그는 실행 중에 생성됩니다
* ❌ **소비된 컴퓨트 유닛** - 실행 메트릭은 사용할 수 없습니다

사전 처리된 트랜잭션은 "제안서"를 받고 "결과"는 받지 못한다고 생각하세요. 발신자가 시도한 내용을 알 수 있지만 실제로 어떻게 되었는지는 모릅니다.

## 전달 보장

전달은 최선의 노력으로 이루어지며, 보장되지 않으며, 과거 재생이 없습니다. 스트리밍된 트랜잭션은 실행 전 신호로, 커밋 수준이 아니라 실패할 수 있거나, 누락되거나, 다른 포크에 착지할 수 있습니다. 서명으로 중복 제거하고, 실행 결과가 중요할 때는 처리된 또는 확인된 스트림과 조정하세요.

보장된 전달 및 완전한 데이터가 필요한 중요한 애플리케이션의 경우, 대신 [LaserStream gRPC](/docs/ko/laserstream)를 사용하세요.

## 사전 처리된 트랜잭션을 언제 사용해야 하나요

Shred 디코더를 운용하지 않고도 디코딩된 실행 전 트랜잭션을 원하는 지연 민감 애플리케이션:

* propAMM
* 스나이퍼
* 복사 거래자
* 청산 봇
* 차익 거래

모든 마이크로초가 중요하고 라인 속도로 디슈레드할 수 있다면 [원시 shred (UDP)](/docs/ko/shred-delivery/raw-shreds)를 사용하세요. 무엇보다 가장 빠른 신호가 필요하다면 [사전 확인](/docs/ko/pre-confirmations/overview)을 사용하세요.

## 가격

[`preprocessedSubscribe`](/docs/ko/preprocessed-transactions/preprocessed-subscribe)은 **모든 유료 요금제**에서 이용 가능하며 **메시지당 0.1 크레딧**이 부과됩니다 — 전달된 트랜잭션당 한 메시지. 레거시 [gRPC 전달](/docs/ko/preprocessed-transactions/grpc)은 비압축된 스트리밍 데이터 0.1MB당 2 크레딧을 Professional 요금제 구독자에게 제공합니다. 자세한 내용은 [크레딧](/docs/ko/billing/credits)을 참조하세요.

## 자주 하는 질문

<AccordionGroup>
  <Accordion title="사전 처리된 구독 필터를 실시간으로 업데이트할 수 있나요?">
    아니오, 필터는 초기 `preprocessedSubscribe`에 의해 고정됩니다. 간격을 피하려면 새 필터로 두 번째 연결을 열고, 구독 확인을 기다린 다음 서비스를 새 필터로 전환하는 것이 좋습니다.
  </Accordion>

  <Accordion title="사전 처리된 구독의 동시 구독 제한은 API 키당인가요 계정당인가요?">
    10개의 동시 연결 제한은 Helius 프로젝트별로 적용됩니다. 동일한 프로젝트에 대한 두 번째 API 키를 생성하면 같은 10-연결 제한을 공유합니다.
  </Accordion>
</AccordionGroup>

## 다음 단계

<CardGroup cols={2}>
  <Card title="preprocessedSubscribe로 구독" icon="tower-broadcast" href="/docs/ko/preprocessed-transactions/preprocessed-subscribe">
    엔드포인트, 계정 필터링, 바이너리 페이로드 레이아웃 및 코드 예제.
  </Card>

  <Card title="사전 확인" icon="bolt" href="/docs/ko/pre-confirmations/overview">
    트랜잭션이 shred가 되기 전에 예약된 트랜잭션이 스트리밍됩니다 — 가장 빠른 트랜잭션 신호.
  </Card>

  <Card title="원시 Shreds (UDP)" icon="network-wired" href="/docs/ko/shred-delivery/raw-shreds">
    UDP를 통해 비처리된 shred 패킷. 디슈레딩은 직접 구현합니다.
  </Card>

  <Card title="Helius 보낸이" icon="paper-plane" href="/docs/ko/sending-transactions/sender">
    가장 빠르게 트랜잭션을 착지시키며, 보이는 대로 행동합니다.
  </Card>
</CardGroup>
