Skip to content

CometBFT RPC ​

https://comet-rpc.bkc.network — the consensus layer's RPC (CometBFT 0.38, BKC fork). Every transaction, including wrapped EVM calls, is broadcast here.

Useful endpoints ​

EndpointReturns
/statusnode info, latest height and time, catching_up, the node's validator info
/net_infopeers
/healthempty result when the node is up
/block?height=Nfull block
/blockchain?minHeight=A&maxHeight=Bblock headers (up to 20)
/commit?height=Nsigned header with the validators' ML-DSA-65 signatures
/validators?height=Nvalidator set (ML-DSA-65 consensus keys, voting power)
/genesisthe genesis document
/consensus_paramsblock max_bytes, max_gas, …
/num_unconfirmed_txsmempool depth
/tx?hash=0x…a Cosmos transaction by hash, with its events
/tx_search?query="…"transactions matching events (needs the kv indexer)
/broadcast_tx_sync?tx=0x…submit a signed transaction (checked by CheckTx)
/abci_queryraw application query
bash
curl -s https://comet-rpc.bkc.network/status | jq '.result.sync_info'
curl -s 'https://comet-rpc.bkc.network/tx_search?query="message.sender=%27bkc1…%27"&order_by="desc"&per_page=5'

Finding the EVM hash of a wrapped call ​

The Cosmos transaction of a MsgExecuteEvmCall carries an ethereum_tx event:

bash
curl -s "https://comet-rpc.bkc.network/tx?hash=0x<cosmos-hash>" \
  | jq '.result.tx_result.events[] | select(.type=="ethereum_tx") | .attributes'
# ethereumTxHash, txGasUsed, recipient, …

Sizes to expect ​

ML-DSA-65 makes consensus data large: each validator's commit signature is 3,309 bytes, and a signed transfer is ~5.5 KB. Size your clients' response limits accordingly (/block at the 8 MiB block limit can be many megabytes).

Broadcasting ​

Prefer the SDK (SigningStargateClient) or the Hardhat plugin, which build, sign and broadcast for you. broadcast_tx_sync returns after CheckTx: code: 0 means accepted into the mempool, not yet in a block — poll /tx?hash= or wait for the EVM receipt.

BKC testnet is unaudited. Do not hold value on it.