Methods.
Every RPC method the gateway accepts, plus its default Compute Credit weight, cacheability, and any operator notes. Costs are approximate — methods that branch on params or response size are billed at calibration time; this page shows the no-arg default. See /docs/pricing for the full rules.
105 of 105 methods · generated 5/9/2026, 9:42:28 AM
bchn (50)
| Method | Default CC | Cache | Push | Notes |
|---|---|---|---|---|
| combinepsbt | 200 | no | — | |
| combinerawtransaction | 200 | no | — | |
| converttopsbt | 150 | no | — | |
| createmultisig | 100 | 60000ms | — | |
| createpsbt | 150 | no | — | |
| createrawtransaction | 150 | no | — | |
| decodepsbt | 200 | 5000ms | — | |
| decoderawtransaction | 150 | 5000ms | — | |
| decodescript | 150 | 60000ms | — | |
| estimatefee | 100 | 5000ms | — | |
| finalizepsbt | 200 | no | — | |
| generatetoaddress | 4,000 | no | — | Write — regtest only (preflightBchn). Per-token write authorization required. |
| getbestblockhash | 100 | 1000ms | — | |
| getblock | 10,200 | 50ms | — | See analysis/bchn-rpc.md |
| getblockchaininfo | 200 | 1000ms | — | |
| getblockcount | 100 | 1000ms | — | |
| getblockhash | 150 | 60000ms | — | |
| getblockheader | 200 | 60000ms | — | |
| getblockstats | 100,500 | 60000ms | — | |
| getchaintips | 200 | 5000ms | — | |
| getchaintxstats | 300 | 60000ms | — | |
| getconnectioncount | 100 | 5000ms | — | |
| getdifficulty | 100 | 5000ms | — | |
| getdsproof | 150 | 50ms | — | |
| getdsprooflist | 150 | 100ms | — | |
| getdsproofscore | 150 | 50ms | — | |
| getexcessiveblock | 100 | 60000ms | — | |
| getfinalizedblockhash | 100 | 5000ms | — | |
| getindexinfo | 100 | 5000ms | — | |
| getmempoolancestors | 700 | 50ms | — | |
| getmempooldescendants | 700 | 50ms | — | |
| getmempoolentry | 200 | 50ms | — | |
| getmempoolinfo | 200 | 100ms | — | |
| getmininginfo | 150 | 1000ms | — | |
| getnettotals | 100 | 1000ms | — | |
| getnetworkhashps | 210 | 5000ms | — | preflightBchn() caps nblocks at 10000. |
| getnetworkinfo | 150 | 5000ms | — | |
| getnodeaddresses | 151 | 60000ms | — | preflightBchn() caps count at 10000. |
| getpeerinfo | 450 | 5000ms | — | Peer IPs (addr/addrlocal/addrbind) redacted in the BCHN forwarder by default; see GATEWAY_BCHN_REDACT_PEER_IPS. |
| getrawmempool | 700 | 100ms | — | |
| getrawtransaction | 150 | 50ms | — | See analysis/bchn-rpc.md (verbosity 0/1/2 + patterns multiplier). |
| gettxout | 200 | 50ms | — | |
| gettxoutproof | 40,510 | 60000ms | — | |
| gettxoutsetinfo | 500 | 1000ms | — | |
| scantxoutset | 100 | no | — | |
| sendrawtransaction | 1,000 | no | — | Write — bypasses cache, coalescing, retry. Per-token write authorization required. |
| testmempoolaccept | 500 | no | — | Result depends on current mempool state — not cacheable. |
| validateaddress | 100 | 60000ms | — | |
| verifymessage | 150 | 5000ms | — | |
| verifytxoutproof | 150 | 5000ms | — |
chaingraph (3)
| Method | Default CC | Cache | Push | Notes |
|---|---|---|---|---|
| mutation | 500 | no | — | Flat cost mirroring BCHN sendrawtransaction shape |
| query | varies | 50ms | — | AST-walked complexity scoring with LRU AST cache; see gateway/src/billing/chaingraph-cost.ts |
| subscription | 100 | no | subscribe | Subscription registration cost = same as equivalent query; per-push billed via push_cost. Wired into ws.ts via gateway/src/upstream/chaingraph-ws.ts (graphql-transport-ws). |
fulcrum (52)
| Method | Default CC | Cache | Push | Notes |
|---|---|---|---|---|
| blockchain.address.get_balance | 200 | 50ms | — | |
| blockchain.address.get_first_use | 150 | 60000ms | — | |
| blockchain.address.get_history | 200 | 50ms | — | |
| blockchain.address.get_mempool | 150 | 50ms | — | |
| blockchain.address.get_scripthash | 100 | 60000ms | — | |
| blockchain.address.get_status | 300 | 50ms | — | |
| blockchain.address.listunspent | 200 | 50ms | — | |
| blockchain.address.subscribe | 300 | no | subscribe | Sticky LB applies; per-push billed. |
| blockchain.address.unsubscribe | 100 | no | — | |
| blockchain.block.header | 150 | 60000ms | — | |
| blockchain.block.headers | 150 | 60000ms | — | |
| blockchain.estimatefee | 150 | 5000ms | — | |
| blockchain.header.get | 150 | 60000ms | — | |
| blockchain.headers.get_tip | 100 | 1000ms | — | |
| blockchain.headers.subscribe | 150 | no | subscribe | New block header push (~10 min cadence on BCH). |
| blockchain.headers.unsubscribe | 100 | no | — | |
| blockchain.relayfee | 100 | 5000ms | — | |
| blockchain.reusable.get_history | 300 | 50ms | — | RPA prefix scan; per-item coefficient calibration-pending. |
| blockchain.reusable.get_mempool | 200 | 50ms | — | |
| blockchain.rpa.get_history | 300 | 50ms | — | RPA prefix scan; per-item coefficient calibration-pending. |
| blockchain.rpa.get_mempool | 200 | 50ms | — | |
| blockchain.scripthash.get_balance | 200 | 50ms | — | |
| blockchain.scripthash.get_first_use | 150 | 60000ms | — | |
| blockchain.scripthash.get_history | 200 | 50ms | — | |
| blockchain.scripthash.get_mempool | 150 | 50ms | — | |
| blockchain.scripthash.get_status | 300 | 50ms | — | |
| blockchain.scripthash.listunspent | 200 | 50ms | — | |
| blockchain.scripthash.subscribe | 300 | no | subscribe | Sticky LB applies; per-push billed. |
| blockchain.scripthash.unsubscribe | 100 | no | — | |
| blockchain.transaction.broadcast | 1,000 | no | — | Write — bypasses cache+coalesce; requires per-token write authorization. |
| blockchain.transaction.broadcast_package | 1,000 | no | — | Write — bypasses cache+coalesce; per-token write authorization required. |
| blockchain.transaction.dsproof.get | 150 | 50ms | — | |
| blockchain.transaction.dsproof.list | 150 | 100ms | — | List of all current dsproofs; response-length-scaled. |
| blockchain.transaction.dsproof.subscribe | 200 | no | subscribe | Subscribe to dsproof status for a tx. Sticky LB applies. |
| blockchain.transaction.dsproof.unsubscribe | 100 | no | — | |
| blockchain.transaction.get | 150 | 50ms | — | |
| blockchain.transaction.get_confirmed_blockhash | 150 | 60000ms | — | |
| blockchain.transaction.get_height | 100 | 50ms | — | |
| blockchain.transaction.get_merkle | 500 | 60000ms | — | |
| blockchain.transaction.id_from_pos | 150 | 60000ms | — | |
| blockchain.transaction.subscribe | 200 | no | subscribe | |
| blockchain.transaction.unsubscribe | 100 | no | — | |
| blockchain.utxo.get_info | 150 | 50ms | — | |
| mempool.get_fee_histogram | 300 | 1000ms | — | |
| mempool.get_info | 150 | 100ms | — | |
| server.add_peer | 200 | no | — | |
| server.banner | 100 | 60000ms | — | |
| server.donation_address | 100 | 60000ms | — | |
| server.features | 100 | 60000ms | — | |
| server.peers.subscribe | 200 | no | subscribe | Initial peer list + future updates. |
| server.ping | 100 | no | — | |
| server.version | 100 | 60000ms | — |
Source of truth: gateway/src/config/methods/ and gateway/src/billing/chaingraph-cost.ts. This page renders what the live gateway reports today; rebuild the gateway and this catalog moves with it.