Send Transaction

A low-latency endpoint to submit signed Solana transactions through 0Block with tip verification and optional preflight/commitment controls.

Overview

  • Goal: Land your signed transaction quickly and reliably with Stake-Weighted QoS.

  • Tip enforcement: Tx must include a SystemProgram::Transfer or TransferWithSeed of ≥ 0.001 SOL (1,000,000 lamports) to an allowed 0Block tip account.

  • Regions: nyc, chi, las, ams, lon, fra, sin, syd.

Prerequisites

2

Tip

Include a ≥ 0.001 SOL transfer to one of the official tip accounts.

3

Signed Tx

Provide a fully signed transaction (base64 or base58).

Endpoint & Headers

Endpoint format

POST https://{region}.0block.io/?api_key=<YOUR_API_KEY>

Example

https://nyc.0block.io/?api_key=<YOUR_API_KEY>

Headers

Content-Type: application/json

Request Schema (JSON-RPC 2.0)

0Block accepts standard JSON-RPC with method: "sendTransaction":

{
  "jsonrpc": "2.0",
  "id": "optional-correlation-id",
  "method": "sendTransaction",
  "params": [
    "<SIGNED_TRANSACTION>",               // required: base64 or base58 string
    {
      "encoding": "base64",               // optional: "base64" | "base58"
      "skipPreflight": false,             // optional: boolean
      "preflightCommitment": "processed", // optional: "processed" | "confirmed" | "finalized"
      "maxRetries": 3,                    // optional: integer
      "minContextSlot": 265470000         // optional: integer
    }
  ]
}

Parameters

Path
Type
Required
Description

jsonrpc

string

No

Use "2.0" (standard marker).

id

string | number

No

Echoed back in responses for correlation.

method

string

Yes

Must be "sendTransaction".

params[0]

string

Yes

Signed Solana transaction as base64 or base58. Base64 padding optional.

params[1].encoding

enum

No

"base64" or "base58". If omitted, auto-detected (tries base64, then base58).

params[1].skipPreflight

boolean

No

true to bypass simulation for lower latency.

params[1].preflightCommitment

enum

No

"processed" | "confirmed" | "finalized" for preflight checks.

params[1].maxRetries

integer

No

Max automatic retry attempts upstream.

params[1].minContextSlot

integer

No

Minimum slot context required by the client.

circle-info

Tip requirement (enforced): If the transaction does not include a qualifying System transfer ≥ 1,000,000 lamports to an allowed tip account, it will be rejected.

Examples

Minimal (auto-detect encoding)

With options

cURL

JavaScript (Node)

Responses

0Block relays the upstream Solana JSON-RPC response on success, typically:

Where result is the transaction signature.

On failure, you’ll receive a JSON-RPC error object (either from 0Block pre-checks or from upstream).

0Block Error Codes (Pre-validation)

code
message
When it happens

-32700

Parse error

Malformed JSON.

-32600

Invalid Request: missing method

method missing/empty.

-32601

Method not found

Not "sendTransaction".

-32602

Invalid params: ...

params not array, missing params[0], or decode failure.

-32000

Invalid transaction: ...

Bad framing (sigs/message OOB).

-32000

Invalid transaction message: ...

Message parse failure (legacy or v0).

-32603

Server misconfiguration: no tip pubkeys loaded

Server not configured with tip allowlist.

-32001

Tip verification failed[: reason]

No qualifying tip or below min lamports.

-32002

v0 address table resolution required

Tip destination only resolvable via lookup (not in static keys).

-32098

Upstream error

Solana RPC unavailable / 5xx.

Tip Accounts (Allowlist)

Best Practices

  • Choose the nearest region to minimize latency.

  • Use skipPreflight: true only for high-confidence transactions.

  • Adjust preflightCommitment for consistency vs speed.

  • Add retries (maxRetries) for transient upstream errors.

  • Ensure tip destination appears in static accounts for v0 messages.

  • Reuse connections (HTTP/2 keep-alive) for high throughput.

Regions

Region
Endpoint

🇺🇸 North America (East)

https://nyc.0block.io

🇺🇸 North America (Central)

https://chi.0block.io

🇺🇸 North America (West)

https://las.0block.io

🇳🇱 Netherlands

https://ams.0block.io

🇬🇧 United Kingdom

https://lon.0block.io

🇩🇪 Germany

https://fra.0block.io

🇸🇬 Singapore

https://sin.0block.io

🇦🇺 Australia

https://syd.0block.io

Last updated