SimulateTransactionRequest

public final class SimulateTransactionRequest : @unchecked Sendable

Request parameters for simulating a Soroban transaction.

SimulateTransactionRequest configures how a transaction should be simulated by the Soroban RPC server.

Parameters:

  • transaction: The transaction to simulate (must contain InvokeHostFunction operation)
  • resourceConfig: Optional resource budget configuration (default: 3000000 instruction leeway)
  • authMode: Authorization simulation mode (protocol 23+)

Authorization modes (protocol 23+):

  • “enforce”: Strict authorization checking (default)
  • “record”: Record auth entries without enforcing
  • “record_allow_nonroot”: Allow non-root authorization

Example:

let request = SimulateTransactionRequest(
    transaction: transaction,
    resourceConfig: ResourceConfig(instructionLeeway: 5000000)
)

let response = await server.simulateTransaction(simulateTxRequest: request)

See also:

  • [SorobanServer.simulateTransaction] for running simulations
  • [SimulateTransactionResponse] for simulation results
  • [ResourceConfig] for resource configuration