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

# Program

> Stream account changes for every account owned by a program.




## AsyncAPI

````yaml asyncapi-spec/solana-rpc-websocket.yaml program
id: program
title: Program
description: |
  Stream account changes for every account owned by a program.
servers:
  - id: production
    protocol: wss
    host: rpc.raze.bot
    bindings: []
    variables: []
address: /
parameters: []
bindings: []
operations:
  - &ref_1
    id: programSubscribe
    title: Program subscribe
    description: Subscribe to all account changes under a program.
    type: receive
    messages:
      - &ref_4
        id: programSubscribeRequest
        payload:
          - name: programSubscribe request
            description: Subscribe to all account changes under a program.
            type: object
            properties:
              - name: jsonrpc
                type: string
                description: '2.0'
                required: true
              - name: id
                type: integer
                required: true
              - name: method
                type: string
                description: programSubscribe
                required: true
              - name: params
                type: array
                description: >
                  `[program_id, config?]`


                  - `program_id` (string) — base58 program pubkey

                  - `config` (optional) — `{ encoding, filters, commitment }`.
                  `filters` matches `getProgramAccounts` (`memcmp`, `dataSize`).
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - jsonrpc
            - id
            - method
            - params
          properties:
            jsonrpc:
              type: string
              const: '2.0'
              x-parser-schema-id: <anonymous-schema-55>
            id:
              type: integer
              example: 1
              x-parser-schema-id: <anonymous-schema-56>
            method:
              type: string
              const: programSubscribe
              x-parser-schema-id: <anonymous-schema-57>
            params:
              type: array
              description: >
                `[program_id, config?]`


                - `program_id` (string) — base58 program pubkey

                - `config` (optional) — `{ encoding, filters, commitment }`.
                `filters` matches `getProgramAccounts` (`memcmp`, `dataSize`).
              example:
                - Vote111111111111111111111111111111111111111
                - encoding: base64
              x-parser-schema-id: <anonymous-schema-58>
          x-parser-schema-id: <anonymous-schema-54>
        title: programSubscribe request
        description: Subscribe to all account changes under a program.
        example: No examples found
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: programSubscribeRequest
    bindings: []
    extensions: &ref_0
      - id: x-parser-unique-object-id
        value: program
  - &ref_2
    id: programUnsubscribe
    title: Program unsubscribe
    description: Cancel a program subscription.
    type: receive
    messages:
      - &ref_5
        id: accountUnsubscribeRequest
        payload:
          - name: Unsubscribe request
            description: Cancel a previously created subscription.
            type: object
            properties:
              - name: jsonrpc
                type: string
                description: '2.0'
                required: true
              - name: id
                type: integer
                required: true
              - name: method
                type: string
                description: >-
                  One of `accountUnsubscribe`, `logsUnsubscribe`,
                  `programUnsubscribe`, `signatureUnsubscribe`,
                  `slotUnsubscribe`, `slotsUpdatesUnsubscribe`,
                  `rootUnsubscribe`.
                required: true
              - name: params
                type: array
                description: '`[subscription_id]`'
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - jsonrpc
            - id
            - method
            - params
          properties:
            jsonrpc:
              type: string
              const: '2.0'
              x-parser-schema-id: <anonymous-schema-11>
            id:
              type: integer
              example: 2
              x-parser-schema-id: <anonymous-schema-12>
            method:
              type: string
              description: >-
                One of `accountUnsubscribe`, `logsUnsubscribe`,
                `programUnsubscribe`, `signatureUnsubscribe`, `slotUnsubscribe`,
                `slotsUpdatesUnsubscribe`, `rootUnsubscribe`.
              example: accountUnsubscribe
              x-parser-schema-id: <anonymous-schema-13>
            params:
              type: array
              description: '`[subscription_id]`'
              example:
                - 128617
              x-parser-schema-id: <anonymous-schema-14>
          x-parser-schema-id: <anonymous-schema-10>
        title: Unsubscribe request
        description: Cancel a previously created subscription.
        example: No examples found
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: accountUnsubscribeRequest
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: receiveProgramNotifications
    title: programNotification
    description: Account update for an account owned by the subscribed program.
    type: send
    messages:
      - &ref_6
        id: programNotification
        payload:
          - name: programNotification
            description: Pushed for each account-state change under the program.
            type: object
            properties:
              - name: jsonrpc
                type: string
                description: '2.0'
                required: false
              - name: method
                type: string
                description: programNotification
                required: false
              - name: params
                type: object
                required: false
                properties:
                  - name: subscription
                    type: integer
                    required: false
                  - name: result
                    type: object
                    required: false
                    properties:
                      - name: context
                        type: object
                        required: false
                        properties:
                          - name: slot
                            type: integer
                            required: false
                      - name: value
                        type: object
                        required: false
                        properties:
                          - name: pubkey
                            type: string
                            required: false
                          - name: account
                            type: object
                            required: false
                            properties:
                              - name: lamports
                                type: integer
                                required: false
                              - name: owner
                                type: string
                                required: false
                              - name: data
                                type: array
                                required: false
                              - name: executable
                                type: boolean
                                required: false
                              - name: rentEpoch
                                type: integer
                                required: false
                              - name: space
                                type: integer
                                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            jsonrpc:
              type: string
              const: '2.0'
              x-parser-schema-id: <anonymous-schema-60>
            method:
              type: string
              const: programNotification
              x-parser-schema-id: <anonymous-schema-61>
            params:
              type: object
              properties:
                subscription:
                  type: integer
                  example: 128620
                  x-parser-schema-id: <anonymous-schema-63>
                result:
                  type: object
                  properties:
                    context:
                      type: object
                      properties:
                        slot:
                          type: integer
                          example: 418263100
                          x-parser-schema-id: <anonymous-schema-66>
                      x-parser-schema-id: <anonymous-schema-65>
                    value:
                      type: object
                      properties:
                        pubkey:
                          type: string
                          example: 9QU2QSxhb24FUX3Tu2FpczXjpK3VYrvRudywSZaM29mF
                          x-parser-schema-id: <anonymous-schema-68>
                        account:
                          type: object
                          properties:
                            lamports:
                              type: integer
                              example: 2039280
                              x-parser-schema-id: <anonymous-schema-70>
                            owner:
                              type: string
                              example: Vote111111111111111111111111111111111111111
                              x-parser-schema-id: <anonymous-schema-71>
                            data:
                              type: array
                              example:
                                - AQAAAA...
                                - base64
                              x-parser-schema-id: <anonymous-schema-72>
                            executable:
                              type: boolean
                              example: false
                              x-parser-schema-id: <anonymous-schema-73>
                            rentEpoch:
                              type: integer
                              example: 18446744073709552000
                              x-parser-schema-id: <anonymous-schema-74>
                            space:
                              type: integer
                              example: 3731
                              x-parser-schema-id: <anonymous-schema-75>
                          x-parser-schema-id: <anonymous-schema-69>
                      x-parser-schema-id: <anonymous-schema-67>
                  x-parser-schema-id: <anonymous-schema-64>
              x-parser-schema-id: <anonymous-schema-62>
          x-parser-schema-id: <anonymous-schema-59>
        title: Program notification
        description: Pushed for each account-state change under the program.
        example: No examples found
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: programNotification
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
receiveOperations:
  - *ref_3
sendMessages:
  - *ref_4
  - *ref_5
receiveMessages:
  - *ref_6
extensions:
  - id: x-parser-unique-object-id
    value: program
securitySchemes: []

````