Make Your First RPC Call
Once registered, you can immediately start making RPC calls to fetch blockchain data using Syndica's ultra low-latency infrastructure. This guide shows you how to authenticate and make your first request.
- A Syndica account (register for free)
- An API key (use your default key or create a new one)
- Basic understanding of JSON-RPC and Solana RPC HTTP methods

Understanding Your Endpoint
Syndica provides dedicated endpoints for Solana mainnet and devnet. Your default API key works with both networks.
Mainnet:
https://solana-mainnet.api.syndica.io
Devnet:
https://solana-devnet.api.syndica.io
All RPC calls are automatically routed to your nearest Edge Gateway across four global regions: Northern Virginia (us-east-1), Oregon (us-west-2), London (eu-west-2), and Singapore (ap-southeast-1).
Authentication
All Syndica endpoints require authentication using your API key. You can provide your key in two ways:
Method 1: URL-Embedded API Key
Embed your API key directly in the URL path:
- Mainnet
- Devnet
curl https://solana-mainnet.api.syndica.io/api-key/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
curl https://solana-devnet.api.syndica.io/api-key/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
Method 2: Header-Embedded API Key
Pass your API key in the request header using X-Syndica-Api-Key:
- Mainnet
- Devnet
curl https://solana-mainnet.api.syndica.io/ \
-X POST \
-H "Content-Type: application/json" \
-H "X-Syndica-Api-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
curl https://solana-devnet.api.syndica.io/ \
-X POST \
-H "Content-Type: application/json" \
-H "X-Syndica-Api-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
Understanding JSON-RPC
Syndica uses the JSON-RPC 2.0 specification. Every request includes:
jsonrpc: Version string, always"2.0"id: Request identifier for tracking responses (any string or number)method: The Solana RPC method to call (e.g.,"getHealth","getBalance")params: Parameters for the method (optional, varies by method)
Make Your First Call
Let's start with a simple health check to verify connectivity:
- cURL
- JavaScript
- Python
curl https://solana-mainnet.api.syndica.io/api-key/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getHealth"
}'
const response = await fetch('https://solana-mainnet.api.syndica.io/api-key/YOUR_API_KEY', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'getHealth',
}),
})
const data = await response.json()
console.log('Health status:', data.result)
import requests
response = requests.post(
'https://solana-mainnet.api.syndica.io/api-key/YOUR_API_KEY',
json={
'jsonrpc': '2.0',
'id': 1,
'method': 'getHealth'
}
)
data = response.json()
print(f"Health status: {data['result']}")
Expected Response:
{
"jsonrpc": "2.0",
"result": "ok",
"id": 1
}
A "ok" result confirms your connection is working.
Monitor Your Usage

Track your RPC activity on the analytics dashboard:
- Request volume and throughput metrics
- Latency distributions and performance trends
- Error rates by method and status code
- Usage by API key and endpoint
Access your RPC analytics from your Stack's analytics page in the dashboard. Learn more in the Observability documentation.
FAQ and Troubleshooting
Which authentication method should I use?
Both methods work identically. Choose based on your use case:
- URL-embedded is simpler for testing with tools like cURL or Postman
- Header-embedded keeps your key out of URL paths, which may be preferable for logging and monitoring systems
Can I use the same API key for both mainnet and devnet?
I'm getting a 401 Unauthorized error. What's wrong?
This means your API key is missing or invalid. Check that:
- You've copied the entire key from your dashboard (no spaces or line breaks)
- You're using the correct format:
/api-key/YOUR_KEYin the URL orX-Syndica-Api-Key: YOUR_KEYin the header - Your key hasn't been revoked or deleted in the dashboard
See the Error Handling guide for more details on troubleshooting authentication errors.
What does "method not found" error mean?
This error occurs when you call a method that doesn't exist or has a typo. Check:
- The method name is spelled correctly (case-sensitive)
- You're using a valid Solana RPC method
- The method is supported on the network you're calling (some methods are mainnet-only)
How do I know if I'm hitting rate limits?
Rate limit responses return HTTP 429 status codes. You can monitor your usage in the RPC Analytics dashboard. See Observability to learn how to inspect logs and metrics when diagnosing throttling, review Rate Limits for plan-specific limits, or configure custom rate limits per API key.
Which regions does Syndica support?
Syndica currently deploys Edge Gateways in four regions so requests stay close to your users:
Northern Virginia (us-east-1), Oregon (us-west-2), London (eu-west-2), and Singapore
(ap-southeast-1). We automatically route each request to the nearest healthy region; contact
support if you need access to additional geographies.
Can I use Syndica with Solana web3.js or other SDKs?
Absolutely! Syndica works with any Solana client library. Simply use your Syndica endpoint URL when creating the connection:
import { Connection } from '@solana/web3.js'
const connection = new Connection('https://solana-mainnet.api.syndica.io/api-key/YOUR_API_KEY')
Why am I getting inconsistent results between calls?
This can happen when requests hit different nodes with slightly different states. To ensure consistency:
- Use the same commitment level across related calls
- Consider using request affinity to route sequential requests to the same node
What's the difference between processed, confirmed, and finalized?
These are commitment levels that balance data freshness with reliability:
- Processed: Latest data, lowest latency, may be subject to rollbacks
- Confirmed: Majority-validated, minimal rollback risk, moderate latency
- Finalized: Guaranteed by network finality, ~13 second latencyMost applications use
confirmedas the default balance between speed and reliability.
What You Can Do Next
Now that you've successfully made your first RPC call:
- Subscribe to WebSocket Events - Stream real-time blockchain data
- Connect to ChainStream - Multi-validator streaming for maximum reliability
- Explore All RPC Methods - Browse the complete API reference
- Organize with Stacks - Structure your infrastructure by project