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

curl https://rpc.testnet.soo.network/rpc \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sendTransaction",
  "params": [
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    {
      "skipPreflight": false,
      "preflightCommitment": "finalized",
      "encoding": "base64",
      "maxRetries": 3
    }
  ]
}'

Response

{
  "jsonrpc": "2.0",
  "result": "5ThJTCxpdn54bk3gBAWKZS4K9ogHEX56WooYbXQDnm3Q",
  "id": 1
}

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