Skip to content

Free Mode RPC endpoint — no API key

EVM-compatible

Endpoints

No API key required. Wallet methods only, rate-limited per IP. Check GET /v1/chains for current methods and limits.

Free public RPC endpoint
https://api.blockvectra.com/v1/mode_mainnet/public
curl -X POST 'https://api.blockvectra.com/v1/mode_mainnet/public' -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
Rate Limit: 3 req/s per IP, burst 20, batch max 10
Send Transaction Limit: 1 req/s per IP, burst 3
Public methods
  • eth_chainId
  • net_version
  • eth_blockNumber
  • eth_getBalance
  • eth_getTransactionCount
  • eth_getCode
  • eth_getStorageAt
  • eth_call
  • eth_estimateGas
  • eth_gasPrice
  • eth_maxPriorityFeePerGas
  • eth_feeHistory
  • eth_getBlockByNumber
  • eth_getBlockByHash
  • eth_getTransactionByHash
  • eth_getTransactionReceipt
  • eth_syncing
  • web3_clientVersion
  • eth_sendRawTransaction
All free public RPC endpoints
Public history: latest 1,000 blocks. Register for free to use free API credits for this chain’s supported methods.
JSON-RPC (Path Key)
https://api.blockvectra.com/v1/mode_mainnet/{api_key}
JSON-RPC (Header: x-api-key)
https://api.blockvectra.com/v1/mode_mainnet
x-api-key: {api_key}

WebSocket

WebSocket (Path Key)
wss://api.blockvectra.com/v1/mode_mainnet/{api_key}
WebSocket (Header: x-api-key or Authorization)
wss://api.blockvectra.com/v1/mode_mainnet
x-api-key: {api_key}
Authorization: Bearer {api_key}
Supported Subscription Types
  • newHeads
  • logs (filter must include address or topic0)

Network Parameters

Chain ID34443
Free public RPC endpointhttps://api.blockvectra.com/v1/mode_mainnet/public
Methods with an API key39
Data APINot supported
WebSocket SupportSupported
Webhook pushNot supported
Send TransactionsSupported
Send Transactions (Keyless Public Endpoint)Supported
State History WindowHistorical state for the most recent 10,000 blocks
eth_getLogs Max Block Range1,000 blocks
Data API DatasetsNot supported
Supported Subscription TypesnewHeads, logs
Related testnetsUnknown
Related guidesUnknown

Quick Example

curl -X POST https://api.blockvectra.com/v1/mode_mainnet \
  -H "Content-Type: application/json" \
  -H "x-api-key: {api_key}" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Limits

State History WindowHistorical state for the most recent 10,000 blocks
eth_getLogs Max Block Range1,000 blocks
Method Policy
Allow: eth_blobBaseFee, eth_blockNumber, eth_call, eth_chainId, eth_createAccessList, eth_estimateGas, eth_feeHistory, eth_gasPrice, eth_getBalance, eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockReceipts, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getCode, eth_getHeaderByHash, eth_getHeaderByNumber, eth_getLogs, eth_getProof, eth_getRawTransactionByBlockHashAndIndex, eth_getRawTransactionByBlockNumberAndIndex, eth_getRawTransactionByHash, eth_getStorageAt, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByHash, eth_getTransactionCount, eth_getTransactionReceipt, eth_getUncleByBlockHashAndIndex, eth_getUncleByBlockNumberAndIndex, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber, eth_maxPriorityFeePerGas, eth_sendRawTransaction, eth_simulateV1, eth_syncing, net_version, web3_clientVersion, web3_sha3

Choose a task

Solutions for your onchain tasks

Next steps with an API key

eth_getLogs

set -eu
: "${BLOCKVECTRA_API_KEY:?BLOCKVECTRA_API_KEY is required}"
validate_response='import json,re,sys
response=json.load(sys.stdin)
if not (type(response) is dict and response.get("jsonrpc")=="2.0" and type(response.get("id")) is int and response["id"]==1 and "error" not in response and "result" in response):
    sys.exit("Invalid JSON-RPC response")
result=response["result"]
if sys.argv[1]=="head":
    if not (type(result) is str and re.fullmatch(r"0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)",result)):
        sys.exit("Invalid block quantity")
    print(result)
else:
    if not (type(result) is list and all(type(log) is dict for log in result)):
        sys.exit("Invalid logs result")
    print(json.dumps(response,indent=2))'
head_response=$(curl -fsS 'https://api.blockvectra.com/v1/mode_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}')
head=$(printf '%s' "$head_response" | python3 -c "$validate_response" head)
logs_response=$(curl -fsS 'https://api.blockvectra.com/v1/mode_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$head\",\"toBlock\":\"$head\"}]}")
printf '%s' "$logs_response" | python3 -c "$validate_response" logs
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/mode_mainnet'
WebSocket

Frequently Asked Questions

Does Mode RPC support WebSocket?

Mode RPC supports WebSocket connections. Supported subscription types: newHeads, logs.

Does Mode RPC support trace and debug methods?

Trace and debug methods are not supported for Mode RPC.

Pricing

Get 30,000,000 CU on sign-up, refilled every 30 days (balances and rate limits are pooled across chains; no credit card required); priced per million calls: eth_blockNumber $0.10, eth_call $1.50, eth_getLogs $3.00.

View Pricing Plans →