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

# getProgramAccounts

> Mengembalikan semua akun yang dimiliki oleh Pubkey program yang diberikan.

<Info>
  **Fitur Baru**: `getProgramAccounts` kini mendukung parameter `changedSinceSlot` untuk pembaruan inkremental. Jika ditentukan, metode ini hanya mengembalikan akun yang telah diubah pada atau setelah nomor slot yang diberikan. Fitur ini sangat cocok untuk alur kerja pengindeksan waktu nyata dan sinkronisasi data.
</Info>

## Parameter Permintaan

<ParamField body="address" type="string" required>
  Kunci publik (alamat) program Solana yang akunnya akan dikueri, dalam bentuk string yang dikodekan dengan base-58.
</ParamField>

<ParamField body="commitment" type="string">
  Tingkat komitmen untuk permintaan.

  * `confirmed`
  * `finalized`
  * `processed`
</ParamField>

<ParamField body="minContextSlot" type="number">
  Slot minimum tempat permintaan dapat dievaluasi.
</ParamField>

<ParamField body="withContext" type="boolean">
  Bungkus hasil dalam objek JSON RpcResponse.
</ParamField>

<ParamField body="encoding" type="string">
  Format pengodean untuk data akun yang dikembalikan.

  * `jsonParsed`
  * `base58`
  * `base64`
  * `base64+zstd`
</ParamField>

<ParamField body="dataSlice" type="object">
  Minta potongan data akun.
</ParamField>

<ParamField body="dataSlice.length" type="number">
  Jumlah byte yang akan dikembalikan.
</ParamField>

<ParamField body="dataSlice.offset" type="number">
  Offset byte tempat pembacaan dimulai.
</ParamField>

<ParamField body="changedSinceSlot" type="number">
  Hanya kembalikan akun yang diubah pada atau setelah nomor slot ini. Berguna untuk pembaruan inkremental.
</ParamField>

<ParamField body="filters" type="array">
  Sistem pemfilteran canggih untuk mengueri pola data akun Solana tertentu secara efisien.
</ParamField>


## OpenAPI

````yaml id/openapi/rpc-http/getProgramAccounts.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    API pengindeksan akun program Solana tingkat lanjut untuk melakukan kueri
    dan memfilter akun yang dimiliki oleh program tertentu dengan kemampuan
    pemfilteran data yang canggih.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Endpoint RPC Mainnet
  - url: https://devnet.helius-rpc.com
    description: Endpoint RPC Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getProgramAccounts
      description: >
        Mengambil semua akun yang dimiliki oleh program Solana tertentu dengan
        kemampuan pemfilteran yang canggih.

        API penting ini memungkinkan pengembang melakukan kueri secara efisien
        terhadap struktur data on-chain yang digunakan oleh

        program apa pun, dengan pemfilteran tingkat lanjut berdasarkan ukuran
        akun, isi memori, dan kriteria lainnya.

        Ideal untuk mengindeks koleksi NFT, pool likuiditas DEX, posisi
        pinjaman, proposal tata kelola,

        dan data khusus protokol lainnya yang disimpan di blockchain Solana.
        Mendukung berbagai format pengodean data

        untuk efisiensi penguraian yang optimal.
      operationId: getProgramAccounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: Versi protokol JSON-RPC.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Pengidentifikasi unik untuk permintaan.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: Nama metode RPC yang akan dipanggil.
                  enum:
                    - getProgramAccounts
                  example: getProgramAccounts
                  default: getProgramAccounts
                params:
                  type: array
                  description: Parameter untuk metode tersebut.
                  default:
                    - 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          Kunci publik (alamat) program Solana yang akunnya akan
                          dikueri, sebagai string yang dikodekan dengan base-58.
                        example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                      - type: object
                        description: >-
                          Opsi konfigurasi tingkat lanjut untuk mengoptimalkan
                          kueri akun program.
                        properties:
                          commitment:
                            type: string
                            description: Tingkat komitmen untuk permintaan.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: Slot minimum tempat permintaan dapat dievaluasi.
                            example: 1000
                          withContext:
                            type: boolean
                            description: Membungkus hasil dalam objek JSON RpcResponse.
                            example: true
                          encoding:
                            type: string
                            description: >-
                              Format pengodean untuk data akun yang
                              dikembalikan.
                            enum:
                              - jsonParsed
                              - base58
                              - base64
                              - base64+zstd
                            example: jsonParsed
                          dataSlice:
                            type: object
                            description: Meminta potongan data akun.
                            properties:
                              length:
                                type: integer
                                description: Jumlah byte yang akan dikembalikan.
                                example: 50
                              offset:
                                type: integer
                                description: Offset byte tempat pembacaan dimulai.
                                example: 0
                          changedSinceSlot:
                            type: integer
                            description: >-
                              Hanya mengembalikan akun yang diubah pada atau
                              setelah nomor slot ini. Berguna untuk pembaruan
                              inkremental.
                            example: 464175999
                          filters:
                            type: array
                            description: >-
                              Sistem pemfilteran canggih untuk melakukan kueri
                              pola data akun Solana tertentu secara efisien.
                            items:
                              oneOf:
                                - type: object
                                  description: >-
                                    Memfilter akun Solana berdasarkan ukuran
                                    data persisnya dalam byte.
                                  properties:
                                    dataSize:
                                      type: integer
                                      description: >-
                                        Ukuran persis data akun dalam byte yang
                                        digunakan untuk pemfilteran.
                                      example: 17
                                - type: object
                                  description: >-
                                    Memfilter akun Solana dengan membandingkan
                                    data pada offset memori tertentu (filter
                                    paling canggih).
                                  properties:
                                    memcmp:
                                      type: object
                                      description: >-
                                        Filter perbandingan memori untuk
                                        menemukan akun dengan pola data
                                        tertentu.
                                      properties:
                                        offset:
                                          type: integer
                                          description: >-
                                            Offset byte dalam data akun untuk
                                            melakukan perbandingan.
                                          example: 4
                                        bytes:
                                          type: string
                                          description: >-
                                            Data yang dikodekan dengan base-58 untuk
                                            dibandingkan pada posisi offset yang
                                            ditentukan.
                                          example: 3Mc6vR
      responses:
        '200':
          description: Akun program berhasil diambil.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: Versi protokol JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Pengidentifikasi yang cocok dengan permintaan.
                    example: '1'
                  result:
                    oneOf:
                      - type: array
                        description: Daftar akun program.
                        items:
                          type: object
                          properties:
                            pubkey:
                              type: string
                              description: >-
                                Pubkey akun sebagai string yang dikodekan dengan
                                base-58.
                              example: CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY
                            account:
                              type: object
                              description: Detail tentang akun.
                              properties:
                                lamports:
                                  type: integer
                                  description: Jumlah lamport yang ditetapkan ke akun ini.
                                  example: 15298080
                                owner:
                                  type: string
                                  description: >-
                                    Pubkey program yang dikodekan dengan
                                    base-58, yang menjadi tujuan penetapan akun
                                    ini.
                                  example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                                data:
                                  type: array
                                  description: >-
                                    Data akun dalam format biner yang dikodekan
                                    atau format JSON.
                                  items:
                                    type: string
                                  example:
                                    - 2R9jLfiAQ9bgdcw6h8s44439
                                    - base58
                                executable:
                                  type: boolean
                                  description: Menunjukkan apakah akun berisi program.
                                  example: false
                                rentEpoch:
                                  type: integer
                                  description: >-
                                    Epoch saat akun ini selanjutnya harus
                                    membayar sewa.
                                  example: 28
                                space:
                                  type: integer
                                  description: Ukuran data akun.
                                  example: 42
        '400':
          description: >-
            Permintaan Buruk - Parameter permintaan tidak valid atau format
            permintaan salah.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Parameter tidak valid
                  data: {}
                id: '1'
        '401':
          description: Tidak Diotorisasi - Kunci API tidak valid atau tidak ada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Tidak diotorisasi
                  data: {}
                id: '1'
        '429':
          description: Terlalu Banyak Permintaan - Batas laju terlampaui.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Terlalu banyak permintaan
                  data: {}
                id: '1'
        '500':
          description: Kesalahan Server Internal - Terjadi kesalahan pada server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Kesalahan internal
                  data: {}
                id: '1'
        '503':
          description: Layanan Tidak Tersedia - Layanan tidak tersedia untuk sementara.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Layanan tidak tersedia
                  data: {}
                id: '1'
        '504':
          description: Waktu Tunggu Gateway Habis - Waktu permintaan habis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Waktu tunggu gateway habis
                  data: {}
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: Versi protokol JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Kode kesalahan.
              example: -32602
            message:
              type: string
              description: Pesan kesalahan.
            data:
              type: object
              description: Data tambahan tentang kesalahan.
        id:
          type: string
          description: Pengidentifikasi yang cocok dengan permintaan.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Kunci API Helius Anda. Anda dapat memperolehnya secara gratis di
        [dasbor](https://dashboard.helius.dev/api-keys).

````