> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://v3.viem.sh/api/mcp` to find what you need.

# Transactions

## Overview

Viem provides a complete transaction lifecycle through the
[`Actions.transaction`](/docs/actions/wallet/transaction/send) namespace.

Build a request, estimate its cost, sign locally or through a wallet, broadcast it, and wait for
confirmation. The workflow preserves your Client's Chain and Account types.

:::code-group
```ts twoslash [example.ts]
import { Value } from 'viem/utils'
import { client } from './viem.config'

const hash = await client.transaction.send({
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: Value.fromEther('1'),
})
```

```ts twoslash [viem.config.ts] filename="viem.config.ts"
// [!include ~/snippets/docs/viem.config.ts:setup]
```
:::

<Cards>
  <Card icon="lucide:send" title="Send Transactions" description="Send native value or calldata and choose whether to wait for a receipt." to="/docs/guides/transactions/send" />

  <Card icon="lucide:pen-line" title="Prepare & Sign Transactions" description="Resolve transaction fields, sign locally, and broadcast raw transactions." to="/docs/guides/transactions/prepare-sign" />

  <Card icon="lucide:fuel" title="Estimate Gas & Fees" description="Estimate gas, EIP-1559 fees, and fee history before sending." to="/docs/guides/transactions/gas-fees" />

  <Card icon="lucide:scan-search" title="Track Transactions & Nonces" description="Read receipts and confirmations, handle replacements, and coordinate nonces." to="/docs/guides/transactions/track" />

  <Card icon="lucide:binary" title="Blob Transactions" description="Encode data into blobs and send an EIP-4844 transaction." to="/docs/guides/transactions/blobs" />
</Cards>
