Skip to main content

RPC Endpoints

Specter exposes three RPC interfaces: Ethereum JSON-RPC, Ethereum WebSocket, and CometBFT RPC.

Ethereum JSON-RPC

URL: https://testnet.specterchain.com

Standard Ethereum JSON-RPC over HTTPS. Compatible with all Ethereum tooling.

Supported methods

All standard Ethereum JSON-RPC methods are supported:

MethodDescription
eth_blockNumberCurrent block number
eth_getBalanceAccount balance
eth_getTransactionCountAccount nonce
eth_sendRawTransactionSubmit signed transaction
eth_callExecute read-only call
eth_estimateGasEstimate gas for transaction
eth_getTransactionReceiptGet transaction receipt
eth_getLogsQuery event logs
eth_getCodeGet contract bytecode
eth_getStorageAtRead contract storage
eth_gasPriceGet current gas price
eth_chainIdReturns 0x1545 (5445)
net_versionReturns 5445

Example requests

# Get latest block number
curl -X POST https://testnet.specterchain.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

# Get balance
curl -X POST https://testnet.specterchain.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYOUR_ADDRESS","latest"],"id":1}'

Ethereum WebSocket

URL: wss://testnet.specterchain.com/ws

Use WebSocket for real-time event subscriptions.

import { createPublicClient, webSocket } from 'viem';

const client = createPublicClient({
transport: webSocket('wss://testnet.specterchain.com/ws'),
});

// Subscribe to new blocks
const unwatch = client.watchBlockNumber({
onBlockNumber: (blockNumber) => console.log(blockNumber),
});

// Subscribe to contract events
const unwatch2 = client.watchContractEvent({
address: '0x443434113980Ab9d5Eef0Ace7d1A29AB68Af6c70',
abi: commitRevealVaultAbi,
eventName: 'Committed',
onLogs: (logs) => console.log(logs),
});

CometBFT RPC

URL: https://testnet.specterchain.com/rpc/

The CometBFT RPC provides access to consensus-level data (validators, blocks, evidence) and Cosmos-specific queries.

# Get node status
curl https://testnet.specterchain.com/rpc/status

# Get latest block
curl https://testnet.specterchain.com/rpc/block

# Get validators
curl https://testnet.specterchain.com/rpc/validators

Rate limits

There are no hard rate limits on the public testnet RPC, but excessive requests may be throttled. For production applications, consider running your own node.

Gas price note

eth_gasPrice may return 0 on Specter. This is a Cosmos EVM behavior. The chain enforces a minimum gas price of 1 gwei. Always set gas price explicitly:

cast send $CONTRACT "myFunction()" \
--gas-price 1000000000 \
--rpc-url https://testnet.specterchain.com \
--chain-id 5445 \
--private-key $PRIVATE_KEY