Appearance
BlockGo Transaction Gateway
BlockGo is a Solana transaction relay designed for ultra-low latency submission.
Endpoints
| Region | Endpoint |
|---|---|
| Amsterdam | http://ams1.blockgo.trade/?api-key=YOUR_API_KEY |
http://ams2.blockgo.trade/?api-key=YOUR_API_KEY | |
| Frankfurt | http://fra1.blockgo.trade/?api-key=YOUR_API_KEY |
| New York | http://ny1.blockgo.trade/?api-key=YOUR_API_KEY |
INFO
The quota for each endpoint is an independent 5 RPS. We recommend sending requests to at least all endpoints in the lowest-latency region. For example, if your server is in AMS, send requests to both ams1 and ams2. If you’re looking for the ultimate performance, send requests to all endpoints at the same time.
TIP
Contact us to obtain an API key. Default quota: 5 RPS per endpoint.
Examples
cURL
bash
curl -X POST 'http://fra1.blockgo.trade/?api-key=YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "sendTransaction",
"params": ["YOUR_BASE64_TX", {"encoding": "base64"}]
}'Rust
rust
use solana_client::rpc_client::RpcClient;
use solana_sdk::transaction::VersionedTransaction;
fn send_transaction(tx: &VersionedTransaction, api_key: &str) -> Result<String, Box<dyn std::error::Error>> {
let endpoint = format!("http://fra1.blockgo.trade/?api-key={}", api_key);
let client = RpcClient::new(endpoint);
let sig = client.send_transaction(tx)?;
Ok(sig.to_string())
}TypeScript
typescript
import { Connection } from '@solana/web3.js';
async function sendTransaction(
transaction: VersionedTransaction,
apiKey: string
): Promise<string> {
const endpoint = `http://fra1.blockgo.trade/?api-key=${apiKey}`;
const connection = new Connection(endpoint);
const signature = await connection.sendTransaction(transaction);
return signature;
}Go
go
// Use any JSON-RPC client to call sendTransaction.
// Key: set endpoint to http://<region>.blockgo.trade/?api-key=...Tip address
Each transaction must include a System Program transfer instruction sending a tip to the BlockGo tip address, with a minimum tip of 0.001 SOL. To avoid conflicts and optimize performance, it is recommended to randomly select a tip address for each transaction.
GoGiN51bckbUnjUWC9kgeHiHmweyejqCjNgYKpboLS3g
Go8NC3UPmguwFzYt5rsZMe8GexTCmcwTz5QMPV6XrFGk
GoakmdLoSLDEvHc7fGhHjQDy5HxtMa3jUhPv5a57JsDE
GoBmV5Dc53JHruFqcWoZwApsVxkcZ88MxQeahVNhhJs1
GobNT2gLKaYR2mRG2p6txDnsARKGZ7gD9hqN9d98yhzr
GoD3a3tgRbBHUiDYtKr3ia5ka5M6dQ1MmZWKdNu6RUjn
GoeuqaDTcHfGCqVTFVa2yocorn2LU52m6w2Qyxj591ur
GoFiwarzv2ppPyGZExtV7zePNVjYdf7vKPcevZiA39VjKeepalive
bash
curl -sS -X POST 'http://fra1.blockgo.trade/?api-key=YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
# Response: {"jsonrpc":"2.0","result":"ok","id":1}INFO
Call JSON-RPC getHealth every 60 seconds to keep the connection warm and reduce tail latency.