# FundingSourceEarn.encodeExecutionData

Encodes an Earn funding request as `executionData`.

Caps apply per source invocation. `maxValueIn` uses underlying-token units, even when funding a different output token.

## Imports

:::code-group
```ts [Named]
import { FundingSourceEarn } from 'ox/tempo'
```

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

## Examples

```ts
import { FundingSourceEarn } from 'ox/tempo'

FundingSourceEarn.encodeExecutionData({
  maxValueIn: 50_000_000n,
  vault: '0x0101010101010101010101010101010101010101',
})
```

## Definition

```ts
function encodeExecutionData(
  request: Request,
): Hex.Hex
```

**Source:** [src/tempo/FundingSourceEarn.ts](https://github.com/wevm/ox/blob/main/src/tempo/FundingSourceEarn.ts#L68)

## Parameters

### request

* **Type:** `Request`

#### request.maxAmountIn

* **Type:** `bigint`
* **Optional**

EarnShare input cap in base units. Omission is unlimited; zero permits no input.

#### request.maxValueIn

* **Type:** `bigint`
* **Optional**

Gross underlying-token value cap in base units, before exit fees. Omission is unlimited; zero permits no input.

#### request.vault

* **Type:** `abitype_Address`

Earn vault whose shares are redeemed.

## Return Type

`Hex.Hex`
