---
title: TransactionVmError
description: TransactionVmError enumerates runtime error codes returned by the executor.
source_url:
  html: https://thru.org/docs/api-ref/grpc/messages/thru/core/v1/transaction-vm-error/
  md: https://thru.org/docs/api-ref/grpc/messages/thru/core/v1/transaction-vm-error.md
---

# TransactionVmError

TransactionVmError enumerates runtime error codes returned by the executor.

**Package:** `thru.core.v1`

## Values

| Name | # | Description |
| - | - | - |
| `TRANSACTION_VM_EXECUTE_SUCCESS` | 0 | TN\_RUNTIME\_TXN\_EXECUTE\_SUCCESS |
| `TRANSACTION_VM_ERROR_INVALID_FORMAT` | -255 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FORMAT |
| `TRANSACTION_VM_ERROR_INVALID_VERSION` | -254 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_VERSION |
| `TRANSACTION_VM_ERROR_INVALID_FLAGS` | -253 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FLAGS |
| `TRANSACTION_VM_ERROR_INVALID_SIGNATURE` | -252 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_SIGNATURE |
| `TRANSACTION_VM_ERROR_DUPLICATE_ACCOUNT` | -251 | TN\_RUNTIME\_TXN\_ERR\_DUPLICATE\_ACCOUNT |
| `TRANSACTION_VM_ERROR_UNSORTED_ACCOUNTS` | -250 | TN\_RUNTIME\_TXN\_ERR\_UNSORTED\_ACCOUNTS |
| `TRANSACTION_VM_ERROR_UNSORTED_READWRITE_ACCOUNTS` | -249 | TN\_RUNTIME\_TXN\_ERR\_UNSORTED\_READWRITE\_ACCOUNTS |
| `TRANSACTION_VM_ERROR_UNSORTED_READONLY_ACCOUNTS` | -248 | TN\_RUNTIME\_TXN\_ERR\_UNSORTED\_READONLY\_ACCOUNTS |
| `TRANSACTION_VM_ERROR_ACCOUNT_COUNT_LIMIT_EXCEEDED` | -247 | TN\_RUNTIME\_TXN\_ERR\_ACCOUNT\_COUNT\_LIMIT\_EXCEEDED |
| `TRANSACTION_VM_ERROR_NONCE_TOO_LOW` | -511 | TN\_RUNTIME\_TXN\_ERR\_NONCE\_TOO\_LOW |
| `TRANSACTION_VM_ERROR_NONCE_TOO_HIGH` | -510 | TN\_RUNTIME\_TXN\_ERR\_NONCE\_TOO\_HIGH |
| `TRANSACTION_VM_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE` | -509 | TN\_RUNTIME\_TXN\_ERR\_INSUFFICIENT\_FEE\_PAYER\_BALANCE |
| `TRANSACTION_VM_ERROR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST` | -508 | TN\_RUNTIME\_TXN\_ERR\_FEE\_PAYER\_ACCOUNT\_DOES\_NOT\_EXIST |
| `TRANSACTION_VM_ERROR_NOT_LIVE_YET` | -507 | TN\_RUNTIME\_TXN\_ERR\_NOT\_LIVE\_YET |
| `TRANSACTION_VM_ERROR_EXPIRED` | -506 | TN\_RUNTIME\_TXN\_ERR\_EXPIRED |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF` | -505 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_STATE\_PROOF |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_TYPE` | -504 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_STATE\_PROOF\_TYPE |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_SLOT` | -503 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_STATE\_PROOF\_SLOT |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_ACCOUNT_OWNER` | -502 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_ACCOUNT\_OWNER |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER` | -501 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_STATE\_PROOF\_ACCOUNT\_OWNER |
| `TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ` | -500 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_FEE\_PAYER\_STATE\_PROOF\_ACCOUNT\_META\_DATA\_SZ |
| `TRANSACTION_VM_ERROR_VM_FAILED` | -767 | TN\_RUNTIME\_TXN\_ERR\_VM\_FAILED |
| `TRANSACTION_VM_ERROR_INVALID_PROGRAM_ACCOUNT` | -766 | TN\_RUNTIME\_TXN\_ERR\_INVALID\_PROGRAM\_ACCOUNT |
| `TRANSACTION_VM_ERROR_VM_REVERT` | -765 | TN\_RUNTIME\_TXN\_ERR\_VM\_REVERT |
| `TRANSACTION_VM_ERROR_CU_EXHAUSTED` | -764 | TN\_RUNTIME\_TXN\_ERR\_CU\_EXHAUSTED |
| `TRANSACTION_VM_ERROR_SU_EXHAUSTED` | -763 | TN\_RUNTIME\_TXN\_ERR\_SU\_EXHAUSTED |
