Transaction Submission
Transactions are sent through the same HTTP JSON-RPC endpoint using sendTransaction and simulateTransaction methods.
Endpoint
http://cute-rabbit.by.supanode.xyz:8899/
Note: Traffic is not encrypted (plain HTTP). See the TLS Status note 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, Keypair, Transaction, SystemProgram, 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 |
|---|---|
| Free | 10 |
| Build | 50 |
| Grow | 100 |
| Accelerate | 100 |
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're doing high-frequency submission (arbitrage, liquidation bots), consider a Dedicated node — shared-tier TPS caps can be a bottleneck.
- Failed transactions (on-chain failures) still count toward your TPS quota.
TLS Status
The transaction endpoint currently operates over plain HTTP (no TLS). Transaction data is signed on-chain, so payload integrity is guaranteed 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.