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

# simulateTransaction

> simulateTransaction menampilkan pratinjau log, penggunaan unit komputasi, dan perubahan akun dari transaksi Solana tanpa mengirimkannya — perkirakan biaya dan deteksi kegagalan.

## Parameter Permintaan

<ParamField body="transaction" type="string" required>
  Transaksi yang telah ditandatangani, dalam bentuk string yang dienkode (base58 atau base64).
</ParamField>

<ParamField body="encoding" type="string">
  Enkode yang digunakan untuk data transaksi.

  * `base58`
  * `base64`
</ParamField>

<ParamField body="skipPreflight" type="boolean">
  Lewati pemeriksaan preflight transaksi.
</ParamField>

<ParamField body="preflightCommitment" type="string">
  Tingkat komitmen yang digunakan untuk preflight.

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

<ParamField body="sigVerify" type="boolean">
  Jika true, verifikasi tanda tangan transaksi.
</ParamField>

<ParamField body="replaceRecentBlockhash" type="boolean">
  Jika true, ganti blockhash terbaru transaksi dengan blockhash yang paling baru.
</ParamField>

<ParamField body="minContextSlot" type="number">
  Slot minimum untuk melakukan pemeriksaan preflight transaksi.
</ParamField>

<ParamField body="innerInstructions" type="boolean">
  Jika true, sertakan instruksi internal dalam respons.
</ParamField>

<ParamField body="accounts" type="object" />

<ParamField body="accounts.addresses" type="array">
  Larik akun yang akan dikembalikan, dalam bentuk string yang dienkode dengan base-58.
</ParamField>

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

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


## OpenAPI

````yaml id/openapi/rpc-http/simulateTransaction.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    API simulasi transaksi Solana tingkat lanjut untuk menguji dan men-debug
    transaksi blockchain sebelum mengirimkannya ke jaringan Solana.
  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: simulateTransaction
      description: >
        Simulasikan transaksi Solana tanpa mengeksekusinya di blockchain. Alat
        debugging yang canggih ini memungkinkan pengembang menguji eksekusi
        transaksi, memverifikasi perilaku program,

        memperkirakan konsumsi unit komputasi, mendeteksi kesalahan, dan melihat
        pratinjau perubahan status akun

        sebelum mengirimkan transaksi ke jaringan. Sangat penting untuk
        pengembangan aplikasi Solana,

        pengujian kontrak pintar, dan pengoptimalan transaksi.
      operationId: simulateTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  description: Versi protokol JSON-RPC.
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Pengidentifikasi unik untuk permintaan.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  enum:
                    - simulateTransaction
                  description: Nama metode RPC yang akan dipanggil.
                  example: simulateTransaction
                  default: simulateTransaction
                params:
                  type: array
                  description: Parameter untuk menyimulasikan transaksi.
                  default:
                    - >-
                      AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMia1tLmq7zz4DinMNN0pJ1JtLdqIJPUw3YrGCzYAMHBsgN27lcgB6H2WQvFgyZuJYHa46puOQo9yQ8CVQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp20C7Wj2aiuk5TReAXo+VTVg8QTHjs0UjNMMKCvpzZ+ABAgEBARU=
                    - encoding: base64
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          Transaksi yang telah ditandatangani, sebagai string
                          terenkode (base58 atau base64).
                        example: >-
                          AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMia1tLmq7zz4DinMNN0pJ1JtLdqIJPUw3YrGCzYAMHBsgN27lcgB6H2WQvFgyZuJYHa46puOQo9yQ8CVQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp20C7Wj2aiuk5TReAXo+VTVg8QTHjs0UjNMMKCvpzZ+ABAgEBARU=
                      - type: object
                        description: Objek konfigurasi untuk simulasi.
                        properties:
                          encoding:
                            type: string
                            description: Enkode yang digunakan untuk data transaksi.
                            enum:
                              - base58
                              - base64
                            example: base64
                          skipPreflight:
                            type: boolean
                            description: Lewati pemeriksaan transaksi pra-penerbangan.
                            example: false
                          preflightCommitment:
                            type: string
                            description: >-
                              Tingkat komitmen yang akan digunakan untuk
                              pra-penerbangan.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          sigVerify:
                            type: boolean
                            description: Jika true, verifikasi tanda tangan transaksi.
                            example: false
                          replaceRecentBlockhash:
                            type: boolean
                            description: >-
                              Jika true, ganti blockhash terbaru transaksi
                              dengan blockhash paling baru.
                            example: false
                          minContextSlot:
                            type: integer
                            description: >-
                              Slot minimum untuk melakukan pemeriksaan transaksi
                              pra-penerbangan.
                            example: 1000
                          innerInstructions:
                            type: boolean
                            description: >-
                              Jika true, sertakan instruksi internal dalam
                              respons.
                            example: false
                          accounts:
                            type: object
                            properties:
                              addresses:
                                type: array
                                description: >-
                                  Larik akun yang akan dikembalikan, sebagai
                                  string terenkode base-58.
                                items:
                                  type: string
                                  example: 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri
                              encoding:
                                type: string
                                description: >-
                                  Format enkode untuk data akun yang
                                  dikembalikan.
                                enum:
                                  - base64
                                  - base58
                                  - base64+zstd
                                  - jsonParsed
                                example: base64
      responses:
        '200':
          description: Transaksi berhasil disimulasikan.
          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:
                    type: object
                    description: Hasil transaksi yang disimulasikan.
                    properties:
                      context:
                        type: object
                        description: Konteks respons simulasi.
                        properties:
                          apiVersion:
                            type: string
                            description: Versi API dari node RPC.
                            example: 2.3.3
                          slot:
                            type: integer
                            description: Slot tempat data diambil.
                            example: 393226680
                      value:
                        type: object
                        description: Detail hasil transaksi yang disimulasikan.
                        properties:
                          accounts:
                            type:
                              - array
                              - 'null'
                            items:
                              type: object
                              description: Detail akun yang terkait dengan transaksi.
                              example:
                                lamports: 5000
                                owner: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
                          err:
                            type:
                              - object
                              - 'null'
                            description: >-
                              Kesalahan jika transaksi gagal, null jika
                              berhasil.
                            example: null
                          innerInstructions:
                            type:
                              - array
                              - 'null'
                            description: >-
                              Instruksi internal yang dieksekusi selama
                              transaksi.
                            example: null
                          loadedAccountsDataSize:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              Ukuran total dalam byte dari semua data akun yang
                              dimuat selama simulasi.
                            example: 413
                          logs:
                            type:
                              - array
                              - 'null'
                            items:
                              type: string
                            description: Log eksekusi program dari simulasi transaksi.
                            example:
                              - >-
                                Program
                                TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                                invoke [1]
                              - 'Program log: Instruction: Transfer'
                              - >-
                                Program
                                TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                                consumed 1714 of 200000 compute units
                              - >-
                                Program
                                TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                                success
                          replacementBlockhash:
                            type:
                              - object
                              - 'null'
                            description: >-
                              Informasi blockhash pengganti saat
                              replaceRecentBlockhash diaktifkan.
                            properties:
                              blockhash:
                                type: string
                                description: Blockhash pengganti.
                                example: 6oFLsE7kmgJx9PjR4R63VRNtpAVJ648gCTr3nq5Hihit
                              lastValidBlockHeight:
                                type: integer
                                description: >-
                                  Ketinggian blok valid terakhir untuk blockhash
                                  pengganti.
                                example: 381186895
                          returnData:
                            type:
                              - object
                              - 'null'
                            properties:
                              programId:
                                type: string
                                example: 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri
                              data:
                                type: array
                                items:
                                  type: string
                                example:
                                  - Kg==
                                  - base64
                            description: Data yang dikembalikan oleh transaksi, jika ada.
                            example: null
                          unitsConsumed:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              Total unit komputasi yang digunakan selama
                              simulasi.
                            example: 1714
              example:
                jsonrpc: '2.0'
                id: 1
                result:
                  context:
                    apiVersion: 2.3.3
                    slot: 393226680
                  value:
                    accounts: null
                    err: null
                    innerInstructions: null
                    loadedAccountsDataSize: 413
                    logs:
                      - >-
                        Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                        invoke [1]
                      - 'Program log: Instruction: Transfer'
                      - >-
                        Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                        consumed 1714 of 200000 compute units
                      - >-
                        Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                        success
                    replacementBlockhash:
                      blockhash: 6oFLsE7kmgJx9PjR4R63VRNtpAVJ648gCTr3nq5Hihit
                      lastValidBlockHeight: 381186895
                    returnData: null
                    unitsConsumed: 1714
        '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: Invalid params
                id: '1'
        '401':
          description: Tidak Terotorisasi - Kunci API tidak valid atau tidak tersedia.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
                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: Too many requests
                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: Internal error
                id: '1'
        '503':
          description: Layanan Tidak Tersedia - Layanan untuk sementara tidak tersedia.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                id: '1'
        '504':
          description: Waktu Tunggu Gateway Habis - Waktu tunggu permintaan habis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Gateway timeout
                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).

````