Skip to main content
Bitcoin Core provides several RPC commands for creating and sending transactions. This guide covers the most common workflows for both single-signature and watch-only wallets.

Basic Transaction Creation

The simplest way to send bitcoin is using the send RPC command:
This command automatically:
  • Selects appropriate UTXOs
  • Calculates the transaction fee
  • Creates a change output
  • Signs and broadcasts the transaction

Manual Transaction Workflow

For more control over transaction creation, use the lower-level RPCs:
1

Create a raw transaction

Use createrawtransaction to specify inputs and outputs manually:
2

Fund the transaction

Use fundrawtransaction to add inputs and change output:
This returns a funded transaction hex and fee information.
3

Sign the transaction

Use signrawtransactionwithwallet to add signatures:
4

Broadcast the transaction

Use sendrawtransaction to broadcast to the network:
Returns the transaction ID (txid) if successful.

Creating Funded Transactions

The walletcreatefundedpsbt RPC combines creation and funding in one step:
Leaving the inputs array empty allows Bitcoin Core to automatically select UTXOs.
Always verify transaction details before broadcasting. Check:
  • Recipient addresses are correct
  • Amounts are as intended
  • Fee is reasonable
  • Change address belongs to your wallet

Transaction Fee Estimation

Estimate appropriate fees using estimatesmartfee:
This estimates the fee rate for confirmation within 6 blocks.

Listing Unspent Outputs

View available UTXOs with listunspent:
Filter by minimum confirmations:

Watch-Only Wallets

Watch-only wallets can create unsigned transactions but cannot sign them:
This returns a PSBT that must be signed by a wallet with the private keys.
Never share your private keys or wallet.dat file. For enhanced security, consider using offline signing or hardware wallets for large amounts.

Transaction Replacement (RBF)

To enable Replace-By-Fee on a transaction, use the replaceable option:
Replace an existing transaction with bumpfee:

Verifying Transactions

Check transaction status with gettransaction:
View mempool information:

Common Options

Most transaction RPCs support these options:
  • conf_target - Number of blocks for fee estimation
  • estimate_mode - Fee estimation mode (ECONOMICAL, CONSERVATIVE)
  • replaceable - Enable RBF (Replace-By-Fee)
  • subtractfeefromamount - Deduct fee from output amount

Next Steps

PSBT

Learn about Partially Signed Bitcoin Transactions

Multi-signature

Create multi-signature wallets and transactions