EVM JSON-RPC
https://rpc.bkc.network (HTTP) and wss://ws.bkc.network (WebSocket). Standard Ethereum JSON-RPC from cosmos/evm, with the eth, net and web3 namespaces enabled.
eth_chainId | 0x40000 |
net_version | 262144 |
| Block time | ~1 s |
eth_getLogs | at most 10,000 blocks per query and 10,000 results |
eth_call / eth_estimateGas gas cap | 25,000,000 |
Supported
All read methods behave as on Ethereum, including:
eth_blockNumber, eth_getBlockByNumber, eth_getBlockByHash, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_feeHistory, eth_maxPriorityFeePerGas, eth_getTransactionByHash, eth_getTransactionReceipt, eth_getLogs, eth_newBlockFilter, eth_getFilterChanges, eth_getFilterLogs, eth_syncing, net_version, net_listening, net_peerCount, web3_clientVersion, web3_sha3.
Wrapped EVM calls (writes made through MsgExecuteEvmCall) appear as ordinary transactions: eth_getTransactionByHash and eth_getTransactionReceipt resolve their EVM hash, and their logs are returned by eth_getLogs, eth_getFilterLogs and receipts.
WebSocket subscriptions
// wss://ws.bkc.network
{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}newHeads works. logs subscriptions do not deliver wrapped-call logs — poll eth_getLogs with a block range instead.
Browsers may connect from any origin. Server-side clients that send no Origin header are always accepted.
Not supported
| Method | Response |
|---|---|
eth_sendRawTransaction | error -32050: raw secp256k1 transactions are not supported on this chain; use MsgExecuteEvmCall … |
eth_sendTransaction | the node holds no keys; the SDK and Hardhat plugin implement it client-side |
eth_sign, personal_sign, eth_signTypedData* | no ECDSA key exists to sign with |
debug_*, txpool_*, personal_*, miner_* | namespace not enabled on public endpoints |
eth_getLogs over > 10,000 blocks | rejected; page the range |
Notes
receipt.gasUsedis EVM gas; the fee was paid on the Cosmos side, so effective fee fields do not reflect what was charged. See Gas & fees.eth_gasPricereturns the fee-market base fee in wei-equivalentbkcunits (around0x4c4b40–0x55d4a8).- Contract addresses are computed from sender + EVM nonce, exactly as Ethereum tooling expects.
Example
curl -s -X POST https://rpc.bkc.network -H 'content-type: application/json' --data '{
"jsonrpc":"2.0","id":1,"method":"eth_call",
"params":[{"to":"0xYourToken","data":"0x18160ddd"},"latest"]
}'