# TransactionEnvelope

Errors & Types for working with Transaction Envelopes.

:::note
Refer to the following modules for specific Transaction Envelope types:

* [`TxEnvelopeLegacy`](/api/TxEnvelopeLegacy)
* [`TxEnvelopeEip1559`](/api/TxEnvelopeEip1559)
* [`TxEnvelopeEip2930`](/api/TxEnvelopeEip2930)
* [`TxEnvelopeEip4844`](/api/TxEnvelopeEip4844)
* [`TxEnvelopeEip7702`](/api/TxEnvelopeEip7702)
:::

## Functions

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`TransactionEnvelope.assert`](/api/TransactionEnvelope/assert) | Asserts a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope) is valid. |
| [`TransactionEnvelope.deserialize`](/api/TransactionEnvelope/deserialize) | Deserializes a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope) from its serialized form. |
| [`TransactionEnvelope.from`](/api/TransactionEnvelope/from) | Converts an arbitrary transaction object or serialized transaction into a Transaction Envelope. |
| [`TransactionEnvelope.getSerializedType`](/api/TransactionEnvelope/getSerializedType) | Returns the type of a serialized Transaction Envelope. |
| [`TransactionEnvelope.getSignPayload`](/api/TransactionEnvelope/getSignPayload) | Returns the payload to sign for a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope). |
| [`TransactionEnvelope.getType`](/api/TransactionEnvelope/getType) | Returns the type of a Transaction Envelope. |
| [`TransactionEnvelope.hash`](/api/TransactionEnvelope/hash) | Hashes a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope). This is the "transaction hash". |
| [`TransactionEnvelope.serialize`](/api/TransactionEnvelope/serialize) | Serializes a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope). |
| [`TransactionEnvelope.toRpc`](/api/TransactionEnvelope/toRpc) | Converts a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope) to an [`TransactionEnvelope.Rpc`](/api/TransactionEnvelope/types#rpc). |
| [`TransactionEnvelope.toTransactionRequest`](/api/TransactionEnvelope/toTransactionRequest) | Converts a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope) to a [`TransactionRequest.TransactionRequest`](/api/TransactionRequest/types#transactionrequest). |
| [`TransactionEnvelope.validate`](/api/TransactionEnvelope/validate) | Validates a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope). Returns `true` if the envelope is valid, `false` otherwise. |

## Errors

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`TransactionEnvelope.FeeCapTooHighError`](/api/TransactionEnvelope/errors#transactionenvelopefeecaptoohigherror) | Thrown when a fee cap is too high. |
| [`TransactionEnvelope.GasPriceTooHighError`](/api/TransactionEnvelope/errors#transactionenvelopegaspricetoohigherror) | Thrown when a gas price is too high. |
| [`TransactionEnvelope.InvalidChainIdError`](/api/TransactionEnvelope/errors#transactionenvelopeinvalidchainiderror) | Thrown when a chain ID is invalid. |
| [`TransactionEnvelope.InvalidSerializedError`](/api/TransactionEnvelope/errors#transactionenvelopeinvalidserializederror) | Thrown when a serialized transaction is invalid. |
| [`TransactionEnvelope.InvalidSerializedTypeError`](/api/TransactionEnvelope/errors#transactionenvelopeinvalidserializedtypeerror) | Thrown when a serialized transaction type cannot be resolved. |
| [`TransactionEnvelope.InvalidTypeError`](/api/TransactionEnvelope/errors#transactionenvelopeinvalidtypeerror) | Thrown when a transaction envelope type cannot be resolved. |
| [`TransactionEnvelope.TipAboveFeeCapError`](/api/TransactionEnvelope/errors#transactionenvelopetipabovefeecaperror) | Thrown when a tip is higher than a fee cap. |

## Types

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`TransactionEnvelope.Base`](/api/TransactionEnvelope/types#transactionenvelopebase) | Base type for a Transaction Envelope. Transaction Envelopes inherit this type. |
| [`TransactionEnvelope.BaseRpc`](/api/TransactionEnvelope/types#transactionenvelopebaserpc) | RPC representation of a [`TransactionEnvelope.Base`](/api/TransactionEnvelope/types#base). |
| [`TransactionEnvelope.BaseSigned`](/api/TransactionEnvelope/types#transactionenvelopebasesigned) | Signed representation of a [`TransactionEnvelope.Base`](/api/TransactionEnvelope/types#base). |
| [`TransactionEnvelope.Rpc`](/api/TransactionEnvelope/types#transactionenveloperpc) | RPC representation of a [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#txenvelope). |
| [`TransactionEnvelope.Serialized`](/api/TransactionEnvelope/types#transactionenvelopeserialized) | Serialized Transaction Envelope. |
| [`TransactionEnvelope.TxEnvelope`](/api/TransactionEnvelope/types#transactionenvelopetxenvelope) | Transaction Envelope. |
| [`TransactionEnvelope.Type`](/api/TransactionEnvelope/types#transactionenvelopetype) | Transaction Envelope type. |
