Somnia

GetBlock provides fast and reliable access to Somnia nodes via JSON-RPC API. Connect to the Somnia network without running your own infrastructure.

Somnia is a high-performance, cost-efficient EVM-compatible Layer 1 blockchain capable of processing over 400,000 transactions per second (TPS) with sub-second finality. Built by Improbable and MSquared, Somnia features innovative MultiStream consensus, compiled EVM execution, and its custom IceDB database to achieve unprecedented scalability. The network is designed for real-time mass-consumer applications including gaming, social platforms, metaverses, and DeFi—all running fully on-chain.

Key Features

  • Full EVM Compatibility: Deploy Ethereum smart contracts without modification using existing tooling

  • MultiStream Consensus: Novel architecture where each validator maintains independent data chains, aggregated via modified PBFT

  • Ultra-High Throughput: Over 400,000 TPS (1M+ TPS achieved in stress tests)

  • Sub-Second Finality: ~100ms block times with sub-second transaction finality

  • IceDB Database: Custom database with 15-100 nanosecond read/write operations for deterministic performance

  • Compiled EVM: Bytecode compiled to native CPU code achieving near C++ execution speeds

  • Sub-Cent Fees: Extremely low transaction costs enabling complex on-chain logic

  • SOMI Native Token: Used for gas fees, staking (5M SOMI for validators), and governance

  • Deflationary Tokenomics: 50% of all gas fees are burned

circle-info

TECHNICAL DISCLAIMER: AUTHORITATIVE JSON-RPC API SPECIFICATION.

GetBlock's RPC API reference documentation is provided exclusively for informational purposes and streamlined developer experience optimization. The canonical and normative specification for Ethereum Virtual Machine (EVM) JSON-RPC methods is solely maintained and published through the official Ethereum Foundation documentation portal at ethereum.orgarrow-up-right. This resource constitutes the sole authoritative reference implementation of the JSON-RPC 2.0 protocol interface across EVM-compatible execution clients.

Network Information

Property
Value

Network Name

Somnia Mainnet

Chain ID

5031

Native Currency

SOMI

Decimals

18

RPC URL

https://api.infra.mainnet.somnia.network/

EVM Compatibility

Full bytecode compatibility

Consensus

MultiStream (Autobahn BFT)

Block Time

~100ms

Finality

Sub-second

Base URL

Supported Networks

Network
Chain ID
JSON RPC
WSS

Mainnet

5031

Quickstart

In this section, you will learn how to make your first call with either:

  • Axios

  • Python

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).

Refer to:

Quickstart with Axios

1

Setup project

Create and initialize a new project:

2

Install Axios

3

Create file

Create a new file named index.js. This is where you will make your first call.

4

Set ES module type

Set the ES module "type": "module" in your package.json.

5

Add code

Add the following code to index.js:

Replace <ACCESS-TOKEN> with your actual access token from GetBlock.

6

Run the script

Expected output (example):

Quickstart with Python and Requests

1

Setup the project directory

2

Create and activate a virtual environment

3

Install requests

4

Create script

Create a file called main.py with the following content:

Replace <ACCESS-TOKEN> with your actual access token from GetBlock.

5

Run the script

Available API Methods

GetBlock provides access to standard Ethereum JSON-RPC methods for the Somnia network.

Transaction Methods

Method
Description

eth_getTransactionByHash

Returns transaction by hash

eth_getTransactionByBlockHashAndIndex

Returns transaction by block hash and index

eth_getTransactionByBlockNumberAndIndex

Returns transaction by block number and index

eth_getTransactionCount

Returns the transaction count (nonce)

eth_getTransactionReceipt

Returns the receipt of a transaction

eth_sendRawTransaction

Submits a signed transaction

Block Methods

Method
Description

eth_blockNumber

Returns the current block number

eth_getBlockByHash

Returns block by hash

eth_getBlockByNumber

Returns block by number

eth_getBlockReceipts

Returns all receipts for a block

eth_getBlockTransactionCountByHash

Returns transaction count by block hash

eth_getBlockTransactionCountByNumber

Returns transaction count by block number

Account/State Methods

Method
Description

eth_getBalance

Returns the balance of an address

eth_getStorageAt

Returns the value at a storage position

eth_getCode

Returns the code at an address

eth_call

Executes a call without creating a transaction

eth_getProof

Returns account and storage proof

eth_accounts

Returns a list of addresses owned by client

Gas and Fee Methods

Method
Description

eth_gasPrice

Returns the current gas price

eth_estimateGas

Estimates gas for a transaction

eth_feeHistory

Returns historical gas information

eth_maxPriorityFeePerGas

Returns current max priority fee

Filter Methods

Method
Description

eth_getLogs

Returns logs matching filter criteria

eth_newFilter

Creates a log filter

eth_newBlockFilter

Creates a block filter

eth_getFilterChanges

Returns filter changes since last poll

eth_getFilterLogs

Returns all logs matching filter

eth_uninstallFilter

Removes a filter

Subscription Methods (WebSocket)

Method
Description

eth_subscribe

Creates a subscription for events

eth_unsubscribe

Cancels an existing subscription

Network/Chain Methods

Method
Description

eth_chainId

Returns the chain ID

eth_syncing

Returns sync status

net_version

Returns the network ID

net_listening

Returns listening status

net_peerCount

Returns number of connected peers

web3_clientVersion

Returns client version

web3_sha3

Returns Keccak-256 hash of data

Debug Methods

Method
Description

debug_traceBlockByHash

Traces all transactions in a block by hash

debug_traceBlockByNumber

Traces block by number

debug_traceTransaction

Traces a specific transaction

debug_traceCall

Traces a call without creating transaction

Support

For technical support and questions:

See Also

Last updated

Was this helpful?