Skip to main content

sendTransaction RPC Method

Submits a signed transaction to the cluster for processing.

Updated on
Oct 19, 2026
You can protect your transactions from toxic MEV threats like sandwich attacks and front-running by enabling MEV protection. To know more on how to enable it, check out our MEV Protection documentation. For an in-depth guide on MEV, see What is MEV (Maximum Extractable Value) and How to Protect Your Transactions on Solana.

Use sendTransaction when you want a single RPC call that:


  • broadcasts your signed transaction
  • optionally runs preflight simulation to catch common failures
  • optionally retries submission during congestion

The standard sendTransaction RPC method available through our Core API provides reliable transaction submission through Quicknode's globally distributed infrastructure. sendTransaction leverages our optimized node architecture to propagate your transaction to the Solana network efficiently.

Stake-Weighted Quality of Service (SWQoS) applies when transaction best practices are followed, as outlined in Quicknode’s Solana transaction guidelines.

Best for: General-purpose applications, development environments, and standard dApp operations where consistent, reliable performance is needed without specialized requirements.

Version 1 Transactions​

Version 1 transactions carry their compute and fee settings in the message's transactionConfig object rather than in ComputeBudget instructions. Set computeUnitLimit and loadedAccountsDataSizeLimit explicitly: version 1 has no default for either, so leaving one unset sends zero and the transaction fails. An unset computeUnitLimit fails with ComputationalBudgetExceeded, and an unset loadedAccountsDataSizeLimit fails with MaxLoadedAccountsDataSizeExceeded before execution begins.

ComputeBudget instructions are still accepted in a version 1 transaction, but they are ignored. A SetComputeUnitLimit instruction does not raise the limit; only transactionConfig does.

Parameters

transaction
string

The fully signed transaction as an encoded string. Legacy and version 0 transactions are capped at 1,232 bytes decoded, version 1 at 4,096.

object
object

The configuration object with the following fields:

skipPreflight
boolean

(default: false) If true, skip the preflight transaction checks

preflightCommitment
string

(default: finalized) The commitment level to use for preflight

encoding
string

(Default: base58) The encoding of the supplied transaction. It can be base58 (slow) or base64. base58 is capped at 1,232 bytes decoded whatever the version, so a version 1 transaction over 1,232 bytes must be sent as base64

maxRetries
usize

The maximum number of times for the RPC node to retry sending the transaction to the leader. If this parameter is not provided, the RPC node will retry the transaction until it is finalized or until the blockhash expires

minContextSlot
integer

The minimum slot at which the request can be evaluated

Returns

result

The First Transaction Signature embedded in the transaction, as base-58 encoded string (transaction id)

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"result": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb",
4
"id": 1
5
}
1
{
2
"jsonrpc": "2.0",
3
"result": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb",
4
"id": 1
5
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free