Skip to content

JSON-RPC

URLhttps://testnet-rpc.boing.network/
TransportHTTPS JSON-RPC POST /
GatewayCloudflare Worker (workers/public-rpc-gateway) → Fly boing-testnet-1
BatchingSupported (jsonrpc_batch_max reported on network info; commonly 32)
WebSocket/ws with newHeads subscribe handshake (see developer.websocket)

Browser apps that call RPC directly need correct CORS on the gateway; marketing/explorer apps often proxy same-origin instead.

Do not hardcode a method list forever. Ask the node:

MethodReturns
boing_rpcSupportedMethodsSorted string array of implemented boing_* names
boing_getRpcMethodCatalogEmbedded JSON Schema catalog for codegen/docs
boing_getRpcOpenApiOpenAPI document
HTTPGET /openapi.json, GET /.well-known/boing-rpc

In crates/boing-node/src/rpc.rs, BOING_RPC_SUPPORTED_METHODS is the compile-time list (on the order of 75 methods). A unit test fails if docs/RPC-API-SPEC.md omits any entry — that Markdown file remains the wire-level SoT, not this Starlight site.

GroupExamples
Health / tipboing_health, boing_getSyncState, boing_chainHeight, boing_getNetworkInfo
Accounts / txsboing_getAccount, boing_getBalance, boing_submitTransaction, boing_getTransactionReceipt, boing_simulateTransaction
Blocks / logsboing_getBlockByHeight, boing_getBlockByHash, boing_getLogs
Contractsboing_getContractCode, boing_getContractStorage, boing_simulateContractCall
DEX directoryboing_listDexPools, boing_listDexTokens, boing_getDexToken
Tokensboing_listTokens, boing_getTokenMetadata
Media blobsboing_getMediaBlobParams, boing_getBlob, boing_getBlobMeta, DAS/sample helpers
QA / governanceboing_qaCheck, boing_qaPool*, boing_governance*
Namesboing_resolveName, boing_getNameInfo, …
Operator (auth)boing_operatorApplyFeePolicy, boing_operatorApplyQaPolicy, …

boing_getNetworkInfo.rpc.not_available lists capabilities the surface intentionally omits (e.g. staking_apy).

const res = await fetch('https://testnet-rpc.boing.network/', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'boing_getBalance',
params: ['0x' + '11'.repeat(32)],
}),
});
const { result, error } = await res.json();

Prefer BoingClient from @boing-network/boing-sdk for retries, typing, and error mapping.