> ## 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 позволяет просмотреть журналы транзакции Solana, использование вычислительных единиц и изменения учетных записей без ее отправки, чтобы оценить комиссии и выявить ошибки.

## Параметры запроса

<ParamField body="transaction" type="string" required>
  Подписанная транзакция в виде закодированной строки (base58 или base64).
</ParamField>

<ParamField body="encoding" type="string">
  Кодировка данных транзакции.

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

<ParamField body="skipPreflight" type="boolean">
  Пропустить предварительные проверки транзакции.
</ParamField>

<ParamField body="preflightCommitment" type="string">
  Уровень подтверждения для предварительной проверки.

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

<ParamField body="sigVerify" type="boolean">
  Если true, проверять подписи транзакции.
</ParamField>

<ParamField body="replaceRecentBlockhash" type="boolean">
  Если true, заменить последний хеш блока транзакции на самый новый.
</ParamField>

<ParamField body="minContextSlot" type="number">
  Минимальный слот, в котором выполняются предварительные проверки транзакции.
</ParamField>

<ParamField body="innerInstructions" type="boolean">
  Если true, включить внутренние инструкции в ответ.
</ParamField>

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

<ParamField body="accounts.addresses" type="array">
  Массив возвращаемых учетных записей в виде строк в кодировке base58.
</ParamField>

<ParamField body="accounts.encoding" type="string">
  Формат кодировки возвращаемых данных учетной записи.

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


## OpenAPI

````yaml ru/openapi/rpc-http/simulateTransaction.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    Расширенный API симуляции транзакций Solana для тестирования и отладки
    транзакций блокчейна перед их отправкой в сеть Solana.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Конечная точка RPC основной сети
  - url: https://devnet.helius-rpc.com
    description: Конечная точка RPC тестовой сети Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: simulateTransaction
      description: >
        Симулируйте транзакции Solana без их выполнения в блокчейне. Этот
        мощный 

        инструмент отладки позволяет разработчикам тестировать выполнение
        транзакций, проверять поведение программ,

        оценивать потребление вычислительных единиц, выявлять ошибки и
        предварительно просматривать изменения состояния учетных записей

        перед отправкой транзакций в сеть. Необходим для разработки приложений
        Solana,

        тестирования смарт-контрактов и оптимизации транзакций.
      operationId: simulateTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  description: Версия протокола JSON-RPC.
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Уникальный идентификатор запроса.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  enum:
                    - simulateTransaction
                  description: Имя вызываемого метода RPC.
                  example: simulateTransaction
                  default: simulateTransaction
                params:
                  type: array
                  description: Параметры симуляции транзакции.
                  default:
                    - >-
                      AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMia1tLmq7zz4DinMNN0pJ1JtLdqIJPUw3YrGCzYAMHBsgN27lcgB6H2WQvFgyZuJYHa46puOQo9yQ8CVQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp20C7Wj2aiuk5TReAXo+VTVg8QTHjs0UjNMMKCvpzZ+ABAgEBARU=
                    - encoding: base64
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          Подписанная транзакция в виде закодированной строки
                          (base58 или base64).
                        example: >-
                          AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMia1tLmq7zz4DinMNN0pJ1JtLdqIJPUw3YrGCzYAMHBsgN27lcgB6H2WQvFgyZuJYHa46puOQo9yQ8CVQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp20C7Wj2aiuk5TReAXo+VTVg8QTHjs0UjNMMKCvpzZ+ABAgEBARU=
                      - type: object
                        description: Объект конфигурации симуляции.
                        properties:
                          encoding:
                            type: string
                            description: Кодировка данных транзакции.
                            enum:
                              - base58
                              - base64
                            example: base64
                          skipPreflight:
                            type: boolean
                            description: Пропустить предварительные проверки транзакции.
                            example: false
                          preflightCommitment:
                            type: string
                            description: >-
                              Уровень подтверждения для предварительной
                              проверки.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          sigVerify:
                            type: boolean
                            description: Если true, проверять подписи транзакции.
                            example: false
                          replaceRecentBlockhash:
                            type: boolean
                            description: >-
                              Если true, заменить недавний хеш блока транзакции
                              на самый новый.
                            example: false
                          minContextSlot:
                            type: integer
                            description: >-
                              Минимальный слот для выполнения предварительных
                              проверок транзакции.
                            example: 1000
                          innerInstructions:
                            type: boolean
                            description: Если true, включать внутренние инструкции в ответ.
                            example: false
                          accounts:
                            type: object
                            properties:
                              addresses:
                                type: array
                                description: >-
                                  Массив возвращаемых учетных записей в виде
                                  строк, закодированных в base58.
                                items:
                                  type: string
                                  example: 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri
                              encoding:
                                type: string
                                description: >-
                                  Формат кодировки возвращаемых данных учетной
                                  записи.
                                enum:
                                  - base64
                                  - base58
                                  - base64+zstd
                                  - jsonParsed
                                example: base64
      responses:
        '200':
          description: Транзакция успешно симулирована.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: Версия протокола JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Идентификатор, соответствующий запросу.
                    example: '1'
                  result:
                    type: object
                    description: Результат симуляции транзакции.
                    properties:
                      context:
                        type: object
                        description: Контекст ответа симуляции.
                        properties:
                          apiVersion:
                            type: string
                            description: Версия API узла RPC.
                            example: 2.3.3
                          slot:
                            type: integer
                            description: Слот, из которого были получены данные.
                            example: 393226680
                      value:
                        type: object
                        description: Подробные сведения о результате симуляции транзакции.
                        properties:
                          accounts:
                            type:
                              - array
                              - 'null'
                            items:
                              type: object
                              description: >-
                                Сведения об учетных записях, связанных с
                                транзакцией.
                              example:
                                lamports: 5000
                                owner: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
                          err:
                            type:
                              - object
                              - 'null'
                            description: >-
                              Ошибка при неудачном выполнении транзакции или
                              null при успешном выполнении.
                            example: null
                          innerInstructions:
                            type:
                              - array
                              - 'null'
                            description: >-
                              Внутренние инструкции, выполненные во время
                              транзакции.
                            example: null
                          loadedAccountsDataSize:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              Общий размер в байтах всех данных учетных записей,
                              загруженных во время симуляции.
                            example: 413
                          logs:
                            type:
                              - array
                              - 'null'
                            items:
                              type: string
                            description: >-
                              Журналы выполнения программы из симуляции
                              транзакции.
                            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: >-
                              Сведения о заменяющем хеше блока, когда включен
                              параметр replaceRecentBlockhash.
                            properties:
                              blockhash:
                                type: string
                                description: Заменяющий хеш блока.
                                example: 6oFLsE7kmgJx9PjR4R63VRNtpAVJ648gCTr3nq5Hihit
                              lastValidBlockHeight:
                                type: integer
                                description: >-
                                  Последняя допустимая высота блока для
                                  заменяющего хеша блока.
                                example: 381186895
                          returnData:
                            type:
                              - object
                              - 'null'
                            properties:
                              programId:
                                type: string
                                example: 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri
                              data:
                                type: array
                                items:
                                  type: string
                                example:
                                  - Kg==
                                  - base64
                            description: Данные, возвращаемые транзакцией, если они есть.
                            example: null
                          unitsConsumed:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              Общее количество вычислительных единиц,
                              израсходованных во время симуляции.
                            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: >-
            Некорректный запрос — недопустимые параметры или неверный формат
            запроса.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Invalid params
                id: '1'
        '401':
          description: Не авторизовано — ключ API недействителен или отсутствует.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
                id: '1'
        '429':
          description: Слишком много запросов — превышен лимит частоты запросов.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                id: '1'
        '500':
          description: Внутренняя ошибка сервера — на сервере произошла ошибка.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Internal error
                id: '1'
        '503':
          description: Сервис недоступен — сервис временно недоступен.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                id: '1'
        '504':
          description: Истекло время ожидания шлюза — превышено время ожидания запроса.
          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: Версия протокола JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Код ошибки.
              example: -32602
            message:
              type: string
              description: Сообщение об ошибке.
            data:
              type: object
              description: Дополнительные данные об ошибке.
        id:
          type: string
          description: Идентификатор, соответствующий запросу.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Ваш ключ API Helius. Его можно бесплатно получить в [панели
        управления](https://dashboard.helius.dev/api-keys).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.