Skip to main content
Lasso provides production-grade routing for stateless Ethereum JSON-RPC reads and subscriptions. This page lists all supported methods organized by category.

Read-Only Methods (HTTP + WebSocket)

All read-only methods support failover, circuit breakers, and performance-based routing.

Blocks & Transactions

MethodDescription
eth_blockNumberReturns the number of the most recent block
eth_getBlockByNumberReturns information about a block by block number
eth_getBlockByHashReturns information about a block by block hash
eth_getBlockTransactionCountByNumberReturns the number of transactions in a block by block number
eth_getBlockTransactionCountByHashReturns the number of transactions in a block by block hash
eth_getTransactionByHashReturns information about a transaction by transaction hash
eth_getTransactionReceiptReturns the receipt of a transaction by transaction hash
eth_getTransactionByBlockHashAndIndexReturns information about a transaction by block hash and transaction index
eth_getTransactionByBlockNumberAndIndexReturns information about a transaction by block number and transaction index
eth_getUncleCountByBlockHashReturns the number of uncles in a block by block hash
eth_getUncleCountByBlockNumberReturns the number of uncles in a block by block number
eth_getUncleByBlockHashAndIndexReturns information about an uncle by block hash and uncle index
eth_getUncleByBlockNumberAndIndexReturns information about an uncle by block number and uncle index

Account State

MethodDescription
eth_getBalanceReturns the balance of an account at a given block
eth_getTransactionCountReturns the number of transactions sent from an address (nonce)
eth_getCodeReturns the code at a given address
eth_getStorageAtReturns the value from a storage position at a given address
eth_getProofReturns the Merkle proof for account and storage values (EIP-1186)

Execution & Gas

MethodDescription
eth_callExecutes a new message call immediately without creating a transaction
eth_estimateGasGenerates and returns an estimate of gas needed for transaction execution
eth_gasPriceReturns the current gas price in wei
eth_maxPriorityFeePerGasReturns a fee per gas value for EIP-1559 transactions
eth_feeHistoryReturns historical gas information for fee estimation

Logs & Events

MethodDescription
eth_getLogsReturns an array of logs matching a given filter object
Large eth_getLogs queries may be limited by provider block range caps (typically 2,000-10,000 blocks). See provider capabilities for block range limits.

Network Information

MethodDescription
eth_chainIdReturns the chain ID (served locally, no upstream call)
eth_protocolVersionReturns the current Ethereum protocol version
eth_syncingReturns an object with sync status or false
net_versionReturns the current network ID
net_listeningReturns true if client is actively listening for network connections
net_peerCountReturns number of peers currently connected to the client
web3_clientVersionReturns the current client version
web3_sha3Returns Keccak-256 hash of the given data

Subscription Methods (WebSocket Only)

These methods are only available over WebSocket connections and include automatic gap-filling on failover.
MethodDescription
eth_subscribeCreate a subscription for events (newHeads, logs, newPendingTransactions)
eth_unsubscribeCancel an active subscription

Supported Subscription Types

TypeParametersGap-Filling
newHeads["newHeads"]✅ Full backfill with eth_getBlockByNumber
logs["logs", {"address":"0x...", "topics":[...]}]✅ Full backfill with eth_getLogs
newPendingTransactions["newPendingTransactions"]❌ No gap-filling (ephemeral)
When a WebSocket provider fails, Lasso automatically detects gaps, backfills missing events via HTTP, and resumes the stream on a new provider.

Advanced & Non-Standard Methods

These methods are forwarded on a best-effort basis with no guarantees of availability.

Enhanced Batch Methods

MethodDescriptionAvailability
eth_getBlockReceiptsReturns all transaction receipts for a blockAlchemy, Erigon, some providers

EIP-4844 (Blob Transactions)

MethodDescriptionAvailability
eth_getBlobBaseFeeReturns the current blob base feePost-Dencun networks

Debug & Trace Methods

Debug and trace methods are expensive and rarely supported on hosted providers. Use provider override to target specific nodes.
Debug Methods:
  • debug_traceTransaction
  • debug_traceBlockByNumber
  • debug_traceBlockByHash
  • debug_traceCall
  • debug_getBadBlocks
  • debug_storageRangeAt
  • debug_getModifiedAccountsByNumber
  • debug_getModifiedAccountsByHash
Trace Methods (Parity/Erigon):
  • trace_block
  • trace_transaction
  • trace_call
  • trace_callMany
  • trace_rawTransaction
  • trace_replayBlockTransactions
  • trace_replayTransaction
  • trace_filter
  • trace_get
Chain-Specific:
  • arbtrace_* (Arbitrum)
  • optimism_* (Optimism)
  • Other L2-specific extensions

Blocked Methods

The following methods are explicitly blocked for security or architectural reasons:

Subscriptions Over HTTP

eth_subscribe, eth_unsubscribe - Use WebSocket connections instead

Wallet & Signing

❌ Server-side key management is out of scope:
  • eth_sign
  • eth_signTransaction
  • eth_signTypedData, eth_signTypedData_v3, eth_signTypedData_v4
  • eth_sendTransaction
  • eth_accounts
  • All personal_* methods
  • All wallet_* methods (EIP-1193 client APIs)

Transaction Writes

eth_sendRawTransaction - Currently blocked. Multi-provider routing requires nonce management and transaction deduplication.
Write support is planned for future releases with proper nonce queuing, sticky sessions, and idempotency tracking.

Stateful Filters

❌ Filter methods require sticky sessions and are incompatible with failover:
  • eth_newFilter
  • eth_newBlockFilter
  • eth_newPendingTransactionFilter
  • eth_getFilterChanges
  • eth_getFilterLogs
  • eth_uninstallFilter
Alternative: Use WebSocket subscriptions (eth_subscribe) for real-time events.

Transaction Pool

❌ Provider-specific internal state with no standardization:
  • txpool_content
  • txpool_inspect
  • txpool_status

Mining & Local Node Operations

❌ Not available on hosted providers:
  • eth_coinbase
  • eth_mining
  • eth_hashrate
  • eth_getWork
  • eth_submitWork
  • eth_submitHashrate

EIP Compatibility

EIPDescriptionSupport
EIP-1474JSON-RPC API✅ Full baseline method set
EIP-1898Block Parameter ObjectsblockHash, blockNumber, requireCanonical
EIP-1186State Proofseth_getProof
EIP-1559Fee Marketeth_maxPriorityFeePerGas, eth_feeHistory
EIP-4844Blob Transactions⚠️ Pass-through, provider-specific
EIP-1193Provider API⚠️ Recognized, wallet methods blocked

Best Practices

Gas Estimation Consistency

eth_estimateGas and eth_call can vary across providers due to different node implementations and timing. For consistency:
  • Pin estimates to a single provider using ?provider=<id>
  • Use :priority strategy for consistent results
  • Add a 10-20% buffer on the client side

Large Log Queries

For eth_getLogs with large block ranges:
  • Query 2,000 blocks at a time
  • Filter aggressively using address and topics
  • Monitor for rate limit errors and back off
  • Use :priority strategy for consistency across pages

Non-Standard Method Availability

To check if a specific provider supports a non-standard method:
curl -X POST 'http://localhost:4000/rpc/ethereum?provider=alchemy_eth' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_getBlockReceipts","params":["latest"],"id":1}'