new HotKit(options) (HotKitOptions). All are optional; the kit needs no API key.
Custom RPCs
rpc takes your endpoints per chain, in failover order. They replace the defaults of that chain (list a default
after yours if you want it as a fallback); chains you leave out keep their defaults. An endpoint is a URL or
{ url, headers }, and its headers are sent to that endpoint only, so a provider key never reaches another node.
The overrides are process-wide (
rpcEndpoints in @hot-labs/kit/core). Read the effective list with
rpcEndpoints.get(chain).
Storage
The kit keeps wallet sessions (kit:<connector id> keys), the last bridge pair, activity and similar state in a
DataStorage:
LocalStorage(default):window.localStorage.IndexedDBStorage: IndexedDB, for larger state.ParentStorage: the storage of a parent window (the app runs in an iframe of the HOT Wallet). Fail-closed: calls throwStorageUnavailableErroruntil the parent answered.
Endpoints
Every endpoint the kit uses by default. The only backend is hex-api (hex-api.app); nothing goes to HOT Wallet’s
backend, and no request carries a key of yours unless you put one in rpc.
Process-wide settings
api, rpcEndpoints, tokens, chains and the 1Click client are module-level singletons shared by every HotKit in the
same JavaScript realm. Each new HotKit() overwrites, when given, the rpc overrides it names and the oneClick,
marketRelay and openExternal settings; chains passed to one kit are registered for all. The UI defaults
(ui.presentation, ui.theme) are process-wide too. Create one kit per app.