Skip to content
On this page

sendTransaction

Creates, signs, and sends a new transaction to the network.

Usage

ts
import { sendTransaction } from 'viem'

Usage

ts
import { sendTransaction } from 'viem'
import { walletClient } from '.'
 
const hash = await sendTransaction(walletClient, { 
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n
})
// '0x...'

Returns

'0x${string}'[]

The Transaction Hash.

Parameters

from

  • Type: Address

The Transaction sender.

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n
})

to

  • Type: number

The transaction recipient or contract address.

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n,
  nonce: 69
})

accessList (optional)

  • Type: AccessList

The access list.

ts
const data = await sendTransaction(publicClient, {
  accessList: [ 
    {
      address: '0x1',
      storageKeys: ['0x1'],
    },
  ],
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
})

data (optional)

  • Type: 0x${string}

A contract hashed method call with encoded args.

ts
const hash = await sendTransaction(walletClient, {
  data: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', 
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n
})

gasPrice (optional)

  • Type: bigint

The price (in wei) to pay per gas. Only applies to Legacy Transactions.

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  gasPrice: parseGwei('20'), 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1') 
})

maxFeePerGas (optional)

  • Type: bigint

Total fee per gas (in wei), inclusive of maxPriorityFeePerGas. Only applies to EIP-1559 Transactions

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  maxFeePerGas: parseGwei('20'),  
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})

maxPriorityFeePerGas (optional)

  • Type: bigint

Max priority fee per gas (in wei). Only applies to EIP-1559 Transactions

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  maxFeePerGas: parseGwei('20'),
  maxPriorityFeePerGas: parseGwei('2'), 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})

nonce (optional)

  • Type: number

Unique number identifying this transaction.

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n,
  nonce: 69 
})

value (optional)

  • Type: number

Value in wei sent with this transaction.

ts
const hash = await sendTransaction(walletClient, {
  from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1'), 
  nonce: 69
})

Tips

  • For dapps: When using this action, it is assumed that the user has given permission for the dapp to access their accounts via requestAccounts. You can also check if the user has granted access to accounts via getAccounts

Released under the MIT License.