Transaction Submission
Transactions are sent through the same HTTP JSON-RPC endpoint using sendTransaction and simulateTransaction.
Endpoint
http://cute-rabbit.by.supanode.xyz:8899/
Note: Traffic is not encrypted because the shared endpoint currently uses plain HTTP. See TLS Status below.
Submitting a Transaction
cURL
curl http://cute-rabbit.by.supanode.xyz:8899/ \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "sendTransaction",
"params": [
"<base64-encoded-transaction>",
{ "encoding": "base64" }
]
}'
JavaScript
const { Connection, sendAndConfirmTransaction } = require("@solana/web3.js");
const connection = new Connection("http://cute-rabbit.by.supanode.xyz:8899/", "confirmed");
// Build and sign your transaction, then:
const signature = await sendAndConfirmTransaction(connection, transaction, [payer]);
console.log("Tx confirmed:", signature);
Rate Limits (TPS)
Transaction submission has its own rate limit, separate from read requests:
| Tier | TPS limit |
|---|---|
| Build | 15 |
| Grow | 35 |
| Accelerate | 50 |
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, contact us via Discord to discuss dedicated nodes with custom TLS.