Sonic's aBFT consensus gives you ~1-second finality — every accepted block is irreversible, no reorgs, latest is as trustworthy as finalized. That speed becomes a problem if your RPC endpoint can't keep up, or if a burst from another tenant bumps your requests into a rate-limit queue.
A dedicated node is the fix: your own endpoint, your own burst headroom, no shared pool.
What "dedicated" actually means at NodeFlare
NodeFlare isn't an aggregator routing calls through a pool of anonymous third-party backends. Every chain we serve runs on hardware we operate ourselves — bare-metal servers we rack, configure, and monitor. When you talk to a NodeFlare dedicated Sonic endpoint, you are talking to a specific sonicd instance that no other tenant shares.
That changes a few things:
- No noisy-neighbour spikes. A traffic surge from another customer's job doesn't eat your quota or delay your calls.
- Predictable latency. Same node, same routing path, every request.
- Full method access.
debug_traceTransaction,debug_traceBlockByNumber,trace_*— the methods that most shared endpoints restrict — are open on dedicated nodes. - Custom limits on request. Need higher burst ceilings or longer
eth_getLogsranges? That's negotiable on a dedicated node, not possible on a shared tier.
Sonic facts worth knowing for RPC design
Sonic produces blocks about every second. With that cadence, block ranges accumulate roughly 12× faster than Ethereum — an eth_getLogs window of 10,000 blocks on Sonic covers ~3 hours, not ~33 hours. Keep your windows tight and include address + topic filters to stay inside sensible compute-unit budgets.
A few chain-specific notes:
| Detail | Value |
|---|---|
| Chain ID | 146 (0x92) |
| Native currency | S |
| Block time | ~1 s |
| Finality | ~1 s (aBFT, irreversible) |
| WebSocket | Not yet on free tier |
| Debug / trace | Supported (debug_*, geth-style) |
| Explorer | sonicscan.org |
Sonic launched end-2024 as the successor to Fantom Opera — it's a separate chain, not a fork. Fantom Opera (chain ID 250) still exists independently.
Quick-start with the free keyed endpoint
A free API key gives you a dedicated path (no shared pool) on the standard free tier — 3,000,000 compute units/month, no credit card. It's the fastest way to validate Sonic integration:
# Check latest block — replace YOUR_KEY
curl -s https://rpc.nodeflare.app/sonic \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'// ethers v6 / TypeScript
import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider(
"https://rpc.nodeflare.app/sonic",
undefined,
{ staticNetwork: true } // skip chainId probe — you already know it's 146
);
const block = await provider.getBlockNumber();Public (no-key) endpoint for testing: https://rpc.nodeflare.app/sonic/public
Debug tracing on Sonic
Sonic's sonicd client supports geth-style debug tracing. Because every block is final on acceptance, a trace never changes after you fetch it — no need to wait for confirmations before tracing a transaction:
curl -s https://rpc.nodeflare.app/sonic \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0xYOUR_TX_HASH", {"tracer": "callTracer"}],
"id": 1
}'This costs more compute units than a simple read (expect 300–500 CU per trace call). On a shared tier that eats into your monthly budget fast. On a dedicated node, the headroom is part of what you're paying for.
When to upgrade to a private dedicated node
The free keyed tier covers most dev-to-staging workloads. Move to a private dedicated node when:
- You need guaranteed uptime SLA for production.
- Your
eth_getLogsjobs run large ranges that a shared tier's per-call limits would block. - You want a private endpoint URL so your key is not in network traces.
- You're running a trading bot or indexer and need burst headroom that the shared pool can't offer.
NodeFlare offers dedicated Sonic nodes with custom rate limits and an SLA — email [email protected] or see the dedicated nodes page for the full picture across all 23 chains.
Try it
- Get a free API key — 3M CU/month, no card, full debug/trace access
- Sonic chain page — live endpoint, Try it console, all supported methods
- Dedicated nodes — private Sonic node with SLA
- Rate limits and compute-unit costs — what counts, what doesn't