Skip to main content

sendTransaction RPC Method

Submits a signed transaction to the cluster for processing.

Method Behavior

  • Relays the transaction to the node exactly as created by clients
  • Immediate success means the RPC service received the transaction
  • Success does NOT guarantee transaction processing or confirmation
  • Transaction could be rejected if recent_blockhash expires

Preflight Checks

Before submission, the following checks are performed:
  1. Verify transaction signatures
  2. Simulate transaction against bank slot specified by preflight commitment

Parameters

string required
Fully-signed Transaction
  • Encoded as a string
object optional
Configuration object with the following fields:
encoding string
  • Default: base58
  • Encoding for transaction data
Allowed Encoding Values:
  • base58 (slow, DEPRECATED)
  • base64
skipPreflight bool
  • Default: false
  • When true, skips preflight transaction checks
preflightCommitment string
  • Default: finalized
  • Commitment level for preflight checks
maxRetries usize
  • Maximum RPC node retries for sending transaction
  • If not provided, retries until finalized or blockhash expires
minContextSlot number
  • Minimum slot for performing preflight checks

Code Sample

Response

Result Details

  • <string> - Transaction Signature
    • First signature embedded in the transaction
    • Base-58 encoded string
    • Used as the transaction identifier

Important Notes

  • Recommended to use getSignatureStatuses to confirm transaction processing
  • Specify consistent commitment levels to avoid unexpected behavior
  • Transaction signatures can be extracted before submission