• Core
  • Actions
  • sendTransaction

sendTransaction

Action for sending a transaction.

import { sendTransaction } from '@wagmi/core'

Usage

import { sendTransaction, prepareSendTransaction } from '@wagmi/core'
 
const config = await prepareSendTransaction({
  request: { to: 'moxey.eth', value: BigNumber.from('10000000000000000') },
})
const { hash } = await sendTransaction(config)

Return Value

{
  hash: `0x${string}`,
  wait: (confirmations?: number) => Promise<TransactionReceipt>,
}

Configuration

mode

This is automatically populated when using prepareSendTransaction action.

  • recklesslyUnprepared: Allow to pass through an adhoc unprepared request. Note: This has UX pitfalls, it is highly recommended to not use this and instead prepare the request upfront using the prepareSendTransaction action.
  • prepared: The request has been prepared with parameters required for sending a transaction via the prepareSendTransaction action
import { sendTransaction } from '@wagmi/core'
 
const { sendTransaction } = await sendTransaction({
  mode: 'recklesslyUnprepared',
  request: {
    to: 'moxey.eth',
    value: BigNumber.from('10000000000000000'),
  },
})

request

This is automatically populated when using prepareSendTransaction action.

The request to use when sending the transaction.

import { prepareSendTransaction, sendTransaction } from '@wagmi/core'
 
 
  const config = await prepareSendTransaction({ ... })
  const { hash } = await sendTransaction({
    ...config,
    request: config.request
  })
 

Reckless Usage

It is possible to use sendTransaction without pairing it with prepareSendTransaction by using "recklessly unprepared" mode.

đź’ˇ

This usage is not recommended. It comes with UX pitfalls. Only use it as a last resort.

import { sendTransaction } from '@wagmi/core'
 
const { hash } = await sendTransaction({
  mode: 'recklesslyUnprepared',
  to: 'moxey.eth',
  value: BigNumber.from('10000000000000000'),
})