# TxEnvelopeEip7702.getSignPayload

Returns the payload to sign for a [`TxEnvelopeEip7702.TxEnvelopeEip7702`](/api/TxEnvelopeEip7702/types#txenvelopeeip7702).

## Imports

:::code-group
```ts [Named]
import { TxEnvelopeEip7702 } from 'ox'
```

```ts [Entrypoint]
import * as TxEnvelopeEip7702 from 'ox/TxEnvelopeEip7702'
```
:::

## Examples

The example below demonstrates how to compute the sign payload which can be used with ECDSA signing utilities like [`Secp256k1.sign`](/api/Secp256k1/sign).

```ts twoslash
// @noErrors
import { Secp256k1, TxEnvelopeEip7702 } from 'ox'

const envelope = TxEnvelopeEip7702.from({
  authorizationList: [...],
  chainId: 1,
  nonce: 0n,
  maxFeePerGas: 1000000000n,
  gas: 21000n,
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n,
})

const payload = TxEnvelopeEip7702.getSignPayload(envelope) // [!code focus]
// @log: '0x...'

const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
```

## Definition

```ts
function getSignPayload(
  envelope: TxEnvelopeEip7702,
): getSignPayload.ReturnType
```

**Source:** [src/core/TxEnvelopeEip7702.ts](https://github.com/wevm/ox/blob/main/src/core/TxEnvelopeEip7702.ts#L714)

## Parameters

### envelope

* **Type:** `TxEnvelopeEip7702`

The transaction envelope to get the sign payload for.

#### envelope.accessList

* **Type:** `readonly { address: abitype_Address; storageKeys: readonly 0x${string}[]; }[]`
* **Optional**

EIP-2930 Access List.

#### envelope.authorizationList

* **Type:** `readonly { address: abitype_Address; chainId: numberType; nonce: bigintType; r: 0x${string}; s: 0x${string}; yParity: numberType; }[]`

EIP-7702 Authorization List.

#### envelope.chainId

* **Type:** `numberType`

EIP-155 Chain ID.

#### envelope.data

* **Type:** `0x${string}`
* **Optional**

Contract code or a hashed method call with encoded args

#### envelope.from

* **Type:** `Address.Address | undefined`
* **Optional**

Sender of the transaction. RPC-only metadata; not part of the
serialized envelope. Carried here for parity with
[`TransactionRequest.TransactionRequest`](/api/TransactionRequest/types#transactionrequest) and
[`Transaction.Transaction`](/api/Transaction/types#transaction).

#### envelope.gas

* **Type:** `bigintType`
* **Optional**

Gas provided for transaction execution

#### envelope.input

* **Type:** `0x${string}`
* **Optional**

#### envelope.maxFeePerGas

* **Type:** `bigintType`
* **Optional**

Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas).

#### envelope.maxPriorityFeePerGas

* **Type:** `bigintType`
* **Optional**

Max priority fee per gas (in wei).

#### envelope.nonce

* **Type:** `bigintType`
* **Optional**

Unique number identifying this transaction

#### envelope.r

* **Type:** `0x${string}`

#### envelope.s

* **Type:** `0x${string}`

#### envelope.to

* **Type:** `Address.Address | null | undefined`
* **Optional**

Transaction recipient

#### envelope.type

* **Type:** `type`

Transaction type

#### envelope.v

* **Type:** `numberType`
* **Optional**

#### envelope.value

* **Type:** `bigintType`
* **Optional**

Value in wei sent with this transaction

#### envelope.yParity

* **Type:** `numberType`
* **Optional**

ECDSA signature yParity.

## Return Type

The sign payload.

`getSignPayload.ReturnType`
