Fulcrum reference
Fulcrum is an Electrum-protocol indexed view of the BCH chain — built for thin clients that need address-balance lookups and transaction history without downloading the full chain.
The gateway proxies Fulcrum's JSON-RPC over both HTTP (one-shot requests) and WebSocket (subscriptions + streaming responses).
Endpoint
HTTP
https://solidpeer.io/fulcrum/<network>/<token>
POST a JSON-RPC envelope. The same single-request and batch shapes used in BCHN apply here.
WebSocket
wss://solidpeer.io/fulcrum/<network>/<token>
Send JSON-RPC requests over the socket; subscription updates arrive as JSON-RPC notifications (no id, has method and params).
What Fulcrum is for
- Address-balance lookups —
blockchain.address.get_balancereturns confirmed/unconfirmed balance for an address. - Address history — list every transaction touching an address, in confirmation order.
- Scripthash subscriptions — get a push whenever an address's state changes (new tx arrives, confirmations advance). Reference
- Transaction lookup — by txid, same shape as BCHN's
getrawtransaction. Reference - Header subscriptions — get pushed every new block header.
Cost model
100 CC per call on mainnet; 50 CC on testnets/regtest. Subscription registration is 100 CC; each push delivered to the client is 100 CC. server.ping is the exception — 10 CC, since it's a no-op keepalive.
Method allowlist
The default allowed set covers address/scripthash queries, transaction lookups, header subscriptions, and broadcast. Bring-your-own-keys wallet RPCs (signing, address derivation) aren't exposed — Fulcrum doesn't implement them either.
Local synthesis
server.version is synthesized inside the gateway rather than forwarded — your client's requested version is echoed back as the agreed protocol. This lets multiple clients with different protocol-version preferences share the same pooled upstream connection without one negotiation breaking the next.
Notes
- Address subscriptions use Electrum's "scripthash" representation. Some clients call
blockchain.address.subscribe(which accepts a cashaddr or legacy address), others preferblockchain.scripthash.subscribe(raw 32-byte scripthash). Both are supported; pick whichever your library uses. - WebSocket keepalive: the gateway sends a
server.pingto your client every 10 seconds to hold the connection open against intermediary idle-timeouts. You can ignore these. - Batches over WS are supported (capped at 20 sub-requests, same as HTTP).