Submit Transactions
Submit a signed transaction to Solana through BlockSprint's optimized infrastructure.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sendTransaction",
"params": [
"<base64_encoded_transaction>",
{
"encoding": "base64",
"skipPreflight": true,
"maxRetries": 0
}
]
}Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
transaction | string | Yes | — | Base64 or Base58 encoded signed transaction |
encoding | string | No | "base64" | "base64" or "base58" |
skipPreflight | boolean | No | true | Skip preflight simulation (recommended: true) |
maxRetries | number | No | 0 | RPC retries (recommended: 0) |
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW"
}The result is the transaction signature (Base58 encoded). It means the transaction was accepted, not that it landed: check it with getSignatureStatuses on your Solana RPC, and re-send the same signed transaction every ~2 seconds until it confirms or its blockhash expires.
Errors
Errors are returned as a JSON-RPC error object.
| HTTP | Code | Message | Cause |
|---|---|---|---|
| 401 | -32600 | Missing API key / Invalid API key | No API key, or the key is unknown or disabled |
| 403 | -32600 | API key has expired / IP address not whitelisted | The key has expired, or your IP is not on its allowlist |
| 403 | -32601 | Method '…' is not allowed for this API key | The key is restricted to other methods |
| 400 | -32700 | Parse error | The body is not valid JSON-RPC 2.0 |
| 400 | -32602 | Missing transaction parameter / Invalid transaction format / Invalid base64 encoding | The transaction is missing or could not be decoded |
| 400 | -32602 | No tip transfer found. … | No tip transfer to a BlockSprint tip address |
| 400 | -32602 | Tip amount too low: … | The tip is below the minimum of 0.001 SOL |
| 400 | -32602 | Invalid tip wallet: … | The tip transfer is not valid |
| 501 | -32601 | Method not implemented … | Any method other than sendTransaction and getHealth |
Endpoint
POST https://global.blocksprint.io/api/v1/YOUR_API_KEYOr:
POST https://global.blocksprint.io/With X-API-Key header or ?api_key= query parameter.
BlockSprint endpoints serve sendTransaction and getHealth. Use your Solana RPC for other methods, such as getLatestBlockhash and getSignatureStatuses.
URI Parameters
| Constraint | Type | Default | Description |
|---|---|---|---|
| mevProtect | bool | false | Enables MEV protection |
| swqosOnly | bool | false | Only uses SWQOS |
Transaction Requirements
Must be signed
Include all required signatures.
Must include tip
Transfer 0.001+ SOL to a BlockSprint tip address.
Valid blockhash
Use a recent blockhash from your Solana RPC (expires in ~60-90 seconds).
Transaction V1
BlockSprint accepts legacy, v0 and Transaction V1 transactions. Send a V1 transaction like any other, base64-encoded; V1 transactions can be up to 4096 bytes.
INFO
- Build V1 with an SDK version that supports it:
@solana/kit8.0.0,@solana/web3.js3.0.0-rc.3, Rustsolana-*crates 4.2,solders0.29.0 orsolana-go1.23.0 (or later). - Set the compute-unit limit and the loaded-accounts data size limit explicitly: in V1 an unset limit is 0.
- The V1 priority fee is a total in lamports, not micro-lamports per compute unit.
- The tip is the same System Program transfer to a BlockSprint tip address.
- To read a V1 transaction with
getTransaction, passmaxSupportedTransactionVersion: 1.
