> ## 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.

# describeProgram

> 프로그램의 디코딩된 명령어 이름, 이벤트 및 계정 역할을 나열하여 실제로 일치하는 Parsed Streams 필터를 구축할 수 있습니다.

필터 기반 API에서 가장 일반적인 실패는 유효하지만 아무것도 일치하지 않는 필터로, 일반적으로 추측된 명령어 또는 역할 이름입니다. `describeProgram`는 비교 대상의 정확한 이름을 반환하여 이를 방지합니다.

추천 흐름: `describeProgram`를 사용하여 정확한 명령어와 역할 이름을 얻고, 그 이름으로 필터를 구축한 후 [구독](/docs/ko/api-reference/parsed-streams/parsedtransactionsubscribe)합니다. [Track Jupiter Swaps](/docs/ko/parsed-streams/guides/track-jupiter-swaps) 가이드는 끝에서 끝까지 이를 안내합니다.

## Body

<ParamField body="params" type="array" required>
  <Expandable title="Query" defaultOpen>
    <ParamField body="program" type="string" required>
      프로그램 주소(base58) 또는 카탈로그 이름. **주소를 선호합니다**: 이름은 프로그램 버전에 따라 애매할 수 있습니다 (`jupiter`라는 카탈로그 항목이 여러 개 있을 수 있으며 이름 조회는 오래된 항목으로 해석될 수 있습니다). 이름으로 조회하는 경우, `result.id`가 구독하려는 프로그램인지 확인하세요.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="id" type="string">
  프로그램의 주소(base58).
</ResponseField>

<ResponseField name="name" type="string">
  프로그램의 카탈로그 이름.
</ResponseField>

<ResponseField name="instructions" type="string[]">
  디코딩된 명령어 이름, 매처가 정확히 비교하는 대로. `instructionNames` 필터 필드에서 이를 사용하세요.
</ResponseField>

<ResponseField name="events" type="string[]">
  파서가 이 프로그램에 대해 인식하는 이벤트 이름.
</ResponseField>

<ResponseField name="roles" type="string[]">
  디코딩된 계정 역할 이름. `accounts.roles` 필터 필드의 키로 사용하세요 — 대소문자 구분 없이 정확히 일치합니다.
</ResponseField>

<RequestExample>
  ```json Request theme={"system"}
  { "jsonrpc": "2.0", "id": 1, "method": "describeProgram", "params": [{ "program": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" }] }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "jsonrpc": "2.0", "id": 1,
    "result": {
      "id": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
      "name": "jupiter",
      "instructions": ["route", "shared_accounts_route", "exact_out_route"],
      "events": ["SwapEvent"],
      "roles": ["user_transfer_authority", "destination_token_account"]
    }
  }
  ```
</ResponseExample>
