> For the complete documentation index, see [llms.txt](https://docs.bloxroute.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloxroute.com/solana/trader-api/quick-start/transaction-submission.md).

# Transaction Submission

## **How It Works**

The Trader API broadcasts your transactions through multiple paths simultaneously to ensure the best possible performance. Possible paths include:

* Custom RPCs for low-latency processing
* Block engines
* Staked connections
* Private relay infrastructure for improved cross-regional routing
* Dedicated low-latency network links across bare-metal infrastructure

### Tips

Transaction submission requires a **system transfer** instruction with a minimum tip of **0.001** SOL (1,000,000 Lamports) to one of our public tipping wallets. You can refer to our tip and tipping wallet documentation [here](/solana/trader-api/introduction/tip-and-tipping-addresses.md).

### Priority Fees

While higher tips ensure faster processing through Trader API to reach the leader, priority fees incentivize the validator to prioritize your transaction *within* the slot. Use the [**Priority Fee Stream**](/solana/trader-api/api-endpoints/core-endpoints/priority-fee.md) to get real-time market data and determine the optimal fee.

### Intelligent Retries

Trader API automatically retries submitted transactions until they either land on chain or expire, so users **do not** need to repeatedly resubmit the same transaction to improve landing odds. Repeatedly sending the same transaction to the same region does not improve propagation and may increase the likelihood of triggering internal spam protection systems.

### Submission Endpoints

* [submit](/solana/trader-api/api-endpoints/transaction-submisson/submit.md)
* [submit-plain-text](/solana/trader-api/api-endpoints/transaction-submisson/submit-plain-text.md)
* [submit-snipe](/solana/trader-api/api-endpoints/transaction-submisson/submit-snipe.md)
* [submit-batch](/solana/trader-api/api-endpoints/transaction-submisson/submit-batch.md)

### Submission Modes

#### Staked

Trader API's **fastest** mode of propagation, using staked connections directly to the leader for ensuring the lowest latency and most stable path to landing on chain. Submit with `useStakedRPCs` to enable this mode of propagation.

{% hint style="info" %}
The `useStakedRPCs` flag cannot be used in combination with `frontRunningProtection` or `revertProtection`.
{% endhint %}

#### Front Running Protection

Our infrastructure scores current and upcoming slot leaders in real time, identifying validators with elevated risk of malicious ordering using internal and external analytics. When transactions are submitted with our `frontRunningProtection` flag enabled, they are withheld from propagation to these leaders.

Use `submitProtection` to control the safe slot window Trader API requires before submitting protected transactions. Higher settings require a larger safe window in the upcoming leader schedule and can increase latency.

Available levels:

* `SP_LOW`: targets a 1-slot safety window
* `SP_MEDIUM`: targets a 3-slot safety window
* `SP_HIGH`: targets an 8-slot safety window

If omitted, `submitProtection` defaults to `SP_MEDIUM`.

{% hint style="info" %}
While submitting transactions with this flag does not guarantee the prevention of attacks, we advise users to set strict slippage tolerance limits within your transactions for greater protection.
{% endhint %}

#### Revert Protection

Submit transactions using our `revertProtection` flag to exclusively propagate your transaction through block engines to prevent failures on chain consuming priority fees.

{% hint style="info" %}
Using front running protection or revert protection **can often introduce latency** in landing due to targeting transactions for curated validators or validators who accept ingress through block engines. Use only when latency is not a factor.
{% endhint %}

### Batch Submission

Trader API supports submitting up to **25** **transactions** within one singular request to reduce the overhead of repeated sequential calls when using our [submit-batch](/solana/trader-api/api-endpoints/transaction-submisson/submit-batch.md) endpoint. Use batched submission when sending a small group of related transactions together is more efficient than submitting each transaction individually.

### Sniping

Trader API supports a **token sniping** endpoint [submit-snipe](/solana/trader-api/api-endpoints/transaction-submisson/submit-snipe.md), designed to maximize your landing speed for a pair of transactions that compete with each other to land first.

### Supported Protocols

Trader API supports transaction submission over multiple protocols, so you can choose the integration path that best fits your setup.

**HTTP**

* Recommended users: Simple request/response scripts for quick integration
* Stream support: **No**

**WebSocket**

* Recommended users: Persistent connections for always-on bots and stateful trading systems
* Stream support: **Yes**

**gRPC**

* Recommended users: Typed, high-throughput backend integrations using protobuf-generated clients
* Stream support: **Yes**

{% hint style="info" %}
Customers looking to interact with Trader API endpoints over gRPC can find our protobuf definitions in the `bloXroute-Labs/solana-trader-api-proto` Github repository [here](https://github.com/bloXroute-Labs/solana-trader-proto/tree/develop/proto).
{% endhint %}

**QUIC**

* Recommended users: Advanced, latency-sensitive transaction propagation for performance-oriented clients
* Stream support: **No**

➡️ **Next Steps**: [Submit a transaction](/solana/trader-api/api-endpoints/transaction-submisson/submit.md) or [submit a bundle of transactions](/solana/trader-api/api-endpoints/transaction-submisson/submit-batch.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bloxroute.com/solana/trader-api/quick-start/transaction-submission.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
