Sonic (S)
GetBlock provides fast and reliable access to Sonic nodes via JSON-RPC API. Connect to the Sonic network without running your own infrastructure.
Sonic is a high-performance, EVM-compatible Layer 1 blockchain built by Sonic Labs, the team behind the former Fantom network. It pairs a proof-of-stake consensus with full EVM compatibility, so Ethereum contracts and tooling run unmodified, and targets high transaction throughput with sub-second finality. The native token S is used for gas, staking, running validators, and governance.
Sonic is designed for responsive DeFi and consumer applications: it retains the Ethereum developer experience while adding a Fee Monetization program that returns a share of network fees to the applications that generate them, and a native Sonic Gateway that bridges liquidity to and from Ethereum. This documentation targets Sonic Mainnet (Chain ID 146).
Key Features
Full EVM Compatibility: Standard Ethereum JSON-RPC method set; deploy Solidity contracts and use Hardhat, Foundry, ethers.js, viem, and web3.py without modification
Sub-Second Finality: Transactions reach irreversible finality in under a second
Proof-of-Stake Consensus: Validators secure the network by staking the native S token
High Throughput: Engineered for high transaction volume with low, predictable fees
Fee Monetization (FeeM): Developers can earn up to 90% of the fees the applications they deploy generate
Sonic Gateway: A native, secure bridge for moving assets and liquidity between Sonic and Ethereum
Pectra Compatibility: Supports the Ethereum Pectra upgrade feature set for up-to-date EVM behavior
S Token Utility: The native S token pays gas and is used for staking, running validators, and governance
TECHNICAL DISCLAIMER: AUTHORITATIVE JSON-RPC SPECIFICATION
GetBlock's Sonic API reference documentation is provided exclusively for informational purposes and to optimize the developer experience. The canonical and normative specification for the Ethereum JSON-RPC API is maintained by the Ethereum community and published at ethereum.org/en/developers/docs/apis/json-rpc/. For Sonic-specific protocol details and consensus parameters, consult the official documentation at docs.soniclabs.com.
Network Information
Network Name
Sonic Mainnet
Stage
Mainnet (live)
Chain ID
146 (0x92)
Native Currency
S
Decimals
18
Consensus
Proof of Stake (sub-second finality)
Smart Contract VM
EVM (Ethereum Virtual Machine)
EVM Compatible
Yes (fully compatible)
Address Format
Ethereum-style (0x…, 20 bytes)
Block Explorer
Testnet
Sonic Blaze Testnet (Chain ID 57054)
Base URL
All Sonic JSON-RPC methods are called by sending a POST request to the base URL with a standard JSON-RPC 2.0 body. For a WebSocket connection, use the WebSocket scheme: wss://go.getblock.io/<ACCESS-TOKEN>/.
Supported Networks
Mainnet
✅
✅
✅
Sonic Blaze Testnet (Chain ID 57054) is the test environment for staging contracts before mainnet. Confirm testnet endpoint availability from the GetBlock dashboard.
Quickstart
In this section, you will learn how to make your first call with either:
Axios (JavaScript / Node.js)
Python (Requests library)
Before you begin, you must have already installed npm or yarn on your local machine (for the Axios example) or Python and pip (for the Python example).
Available API Methods
Sonic exposes the standard Ethereum JSON-RPC method set. All methods are POST-only and called against the base URL above.
Block & Chain Information
eth_blockNumber
Returns the current latest block number
eth_chainId
Returns the chain ID (0x92 = 146 for Sonic Mainnet)
eth_getBlockByNumber
Returns block information by block number
eth_getBlockByHash
Returns block information by block hash
eth_getBlockTransactionCountByNumber
Returns the number of transactions in a block by block number
eth_getBlockTransactionCountByHash
Returns the number of transactions in a block by block hash
eth_getBlockReceipts
Returns all transaction receipts for a given block
eth_syncing
Returns sync status or false if the node is fully synced
Account & State
eth_getBalance
Returns the native S balance of an account (in wei)
eth_getCode
Returns the contract bytecode at a given address
eth_getStorageAt
Returns the value at a specific storage slot
eth_getTransactionCount
Returns the transaction count (nonce) for an account
Transactions
eth_sendRawTransaction
Broadcasts a signed transaction
eth_getTransactionByHash
Returns a transaction by its hash
eth_getTransactionByBlockHashAndIndex
Returns a transaction by block hash and index
eth_getTransactionByBlockNumberAndIndex
Returns a transaction by block number and index
eth_getTransactionReceipt
Returns the receipt for a transaction by hash
eth_call
Executes a read-only call against contract state
eth_estimateGas
Estimates gas required for a transaction
Gas & Fee Market
eth_gasPrice
Returns the current gas price in wei
eth_maxPriorityFeePerGas
Returns the suggested max priority fee per gas (EIP-1559)
eth_feeHistory
Returns historical base fees and priority fees
Logs
eth_getLogs
Returns logs matching a given filter
Debug & Trace
debug_traceTransaction
Replays a transaction and returns an execution trace
debug_traceBlockByNumber
Traces every transaction in a block by block number
debug_traceBlockByHash
Traces every transaction in a block by block hash
Network & Client Info
net_version
Returns the network ID (146 for Sonic Mainnet)
web3_clientVersion
Returns the client software version
Support
For technical support and questions:
Support Email: support@getblock.io
See Also
Last updated
Was this helpful?