# TransactionRequest.toRpc

Converts a [`TransactionRequest.TransactionRequest`](/tempo/reference/TransactionRequest/types#transactionrequest) to a [`TransactionRequest.Rpc`](/tempo/reference/TransactionRequest/types#rpc).

## Imports

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

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

## Examples

```ts twoslash
import { Value } from 'ox'
import { TransactionRequest } from 'ox/tempo'

const request = TransactionRequest.toRpc({
  calls: [
    {
      data: '0xdeadbeef',
      to: '0xcafebabecafebabecafebabecafebabecafebabe'
    }
  ],
  feeToken: '0x20c0000000000000000000000000000000000000'
})
```

### Using with a Provider

You can use \[`Provider.(from`]\(/api/Provider/(from) to instantiate an EIP-1193 Provider and send a transaction to the Wallet using the `eth_sendTransaction` method.

```ts twoslash
// @noErrors
import 'ox/window'
import { Provider, Value } from 'ox'
import { TransactionRequest } from 'ox/tempo'

const provider = Provider.from(window.ethereum!)

const request = TransactionRequest.toRpc({
  calls: [
    {
      data: '0xdeadbeef',
      to: '0xcafebabecafebabecafebabecafebabecafebabe'
    }
  ],
  feeToken: '0x20c0000000000000000000000000000000000000'
})

const hash = await provider.request({
  // [!code focus]
  method: 'eth_sendTransaction', // [!code focus]
  params: [request] // [!code focus]
}) // [!code focus]
```

## Definition

```ts
function toRpc(
  request: toRpc.Input,
): Rpc
```

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

## Parameters

### request

* **Type:** `toRpc.Input`

The request to convert.

## Return Type

An RPC request.

`Rpc`
