Solana infrastructure, included with every server. LEARN MORE>

OpenInfra.shopeninfra.sh

sendTransaction

Submits a fully-signed, serialised transaction to the cluster. Returns the transaction signature.

Options

OptionDefaultDescription
encodingbase58base58 or base64. Use base64 for large transactions.
skipPreflightfalseSkip simulation before submission. Not recommended.
preflightCommitmentfinalizedCommitment for preflight simulation.
maxRetriesnode defaultNumber of times the node retries on network error.
minContextSlot–Minimum slot to evaluate preflight simulation.

Raw request

{  "jsonrpc": "2.0",  "id": 1,  "method": "sendTransaction",  "params": [    "<base64-encoded signed transaction>",    {      "encoding": "base64",      "skipPreflight": false,      "preflightCommitment": "confirmed",      "maxRetries": 5    }  ]}

Using an SDK

import { Connection, Transaction, sendAndConfirmTransaction } from "@solana/web3.js"; const conn = new Connection("https://rpc.sol.openinfra.sh?api-key=YOUR_API_KEY", "confirmed"); // Build and sign your transaction first...const sig = await sendAndConfirmTransaction(conn, transaction, [payer], {  commitment: "confirmed",  maxRetries: 5,});console.log("Confirmed:", sig);

Confirming after submission

sendTransaction returns a signature immediately — confirmation is asynchronous. Poll getSignatureStatuses or subscribe via WebSocket signatureSubscribe to track finality.

  • Transactions expire after ~90 seconds (150 blocks). Re-fetch a fresh blockhash and retry if not confirmed.
  • A returned signature confirms submission, not confirmation; keep tracking its status.
  • Enable skipPreflight only if you've already simulated and trust the transaction is valid.