Transaction Submission
Transactions are sent through the same HTTP JSON-RPC endpoint using sendTransaction and simulateTransaction.
Endpoint
Note: Traffic is not encrypted because the shared endpoint currently uses plain HTTP. See TLS Status below.
Submitting a Transaction
cURL
JavaScript
Rate Limits (TPS)
Transaction submission has its own rate limit, separate from read requests:
Exceeding the TPS limit returns 429 Too Many Requests. Use exponential backoff before retrying.
Tips
- Always call
simulateTransactionfirst in development to catch errors before spending SOL. - If you are doing high-frequency submission, such as arbitrage or liquidation bots, consider a dedicated node because shared-tier TPS caps can become a bottleneck.
- Failed transactions still count toward your TPS quota.
TLS Status
The transaction endpoint currently operates over plain HTTP with no TLS. Transaction data is signed on-chain, so payload integrity is still enforced by Solana's cryptography. However, endpoint URLs and IP metadata are transmitted in cleartext. If this is a concern for your setup, submit a request on our website to discuss dedicated nodes with custom TLS.