---
title: TransactionHeader
description: TransactionHeader carries structured metadata for a transaction.
source_url:
  html: https://thru.org/docs/api-ref/grpc/messages/thru/core/v1/transaction-header/
  md: https://thru.org/docs/api-ref/grpc/messages/thru/core/v1/transaction-header.md
---

# TransactionHeader

TransactionHeader carries structured metadata for a transaction.

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

## Fields

| Field | Type | # | Description |
| - | - | - | - |
| `fee_payer_signature` | [`thru.common.v1.Signature`](https://thru.org/docs/api-ref/grpc/messages/thru/common/v1/signature.md) | 1 · optional | |
| `version` | `uint32` | 2 · optional | |
| `flags` | `uint32` | 3 · optional | |
| `readwrite_accounts_count` | `uint32` | 4 · optional | |
| `readonly_accounts_count` | `uint32` | 5 · optional | |
| `instruction_data_size` | `uint32` | 6 · optional | |
| `requested_compute_units` | `uint32` | 7 · optional | |
| `requested_state_units` | `uint32` | 8 · optional | |
| `requested_memory_units` | `uint32` | 9 · optional | |
| `expiry_after` | `uint32` | 10 · optional | |
| `fee` | `uint64` | 11 · optional | |
| `nonce` | `uint64` | 12 · optional | |
| `start_slot` | `uint64` | 13 · optional | |
| `fee_payer_pubkey` | [`thru.common.v1.Pubkey`](https://thru.org/docs/api-ref/grpc/messages/thru/common/v1/pubkey.md) | 14 · optional | |
| `program_pubkey` | [`thru.common.v1.Pubkey`](https://thru.org/docs/api-ref/grpc/messages/thru/common/v1/pubkey.md) | 15 · optional | |
| `chain_id` | `uint32` | 16 · optional | Chain identifier to prevent transaction replay across different chains. |
