> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hex-api.app/llms.txt
> Use this file to discover all available pages before exploring further.

# HOT Kit

> @hot-labs/kit: a multichain wallet connector with omni payments, a ready-made React UI and a headless core for Node.js.

[`@hot-labs/kit`](https://www.npmjs.com/package/@hot-labs/kit) connects wallets on many chains behind one API, shows the
balances of everything the user connected, and moves value between chains: deposits into and withdrawals from the HOT
(NEAR Intents) balance account, swaps and bridges, payments signed as intents. It ships a ready-made React UI (connect,
profile, bridge, deposit) and a headless core that also runs on Node.js.

Chains: EVM, NEAR, Solana, TON, Stellar, TRON, Cosmos, Sui, Aptos, Starknet, XRP Ledger and UTXO chains (BTC, LTC, DOGE,
BCH, DASH, ZEC), plus Google login with embedded wallets (Privy).

```bash theme={null}
npm install @hot-labs/kit react react-dom
```

```ts theme={null}
import { HotKit } from "@hot-labs/kit";
import { defaultConnectors } from "@hot-labs/kit/defaults";

const kit = new HotKit({
  connectors: defaultConnectors, // each chain's SDK loads on demand
  walletConnect: { projectId: "<your Reown project id>" }, // optional, https://dashboard.reown.com
});

await kit.connect(); // wallet picker
kit.onConnect(({ wallet }) => console.log(wallet.type, wallet.address));
kit.openBridge(); // swap / bridge UI
```

On a server, import the headless parts only:

```ts theme={null}
import { Intents, OmniToken } from "@hot-labs/kit/core";
import { NearWallet } from "@hot-labs/kit/near";

const wallet = NearWallet.fromPrivateKey(privateKey, "my-account.near");
await Intents.builder(wallet).transfer({ recipient: "bob.near", token: OmniToken.USDT, amount: 1 }).execute();
```

## Guides

> [card] [Getting started](https://docs.hex-api.app/kit/getting-started.md)
>
> Install, bundler setup, first `HotKit`, SSR, server use

> [card] [Configuration](https://docs.hex-api.app/kit/configuration.md)
>
> Every option, custom RPCs, storage, endpoints

> [card] [Connectors](https://docs.hex-api.app/kit/connectors.md)
>
> Default and lazy connectors, per-chain entry points, Privy, WalletConnect

> [card] [Wallets and balances](https://docs.hex-api.app/kit/wallets.md)
>
> `kit.wallets`, balances, transfers, auth, events

> [card] [Intents](https://docs.hex-api.app/kit/intents.md)
>
> The `Intents` builder: transfers, swaps, payments, withdrawals

> [card] [UI](https://docs.hex-api.app/kit/ui.md)
>
> Popups, sheet or modal, theme, branding, profile tabs

> [card] [Errors and waits](https://docs.hex-api.app/kit/errors.md)
>
> Error classes and what "unknown outcome" means

## Backends

The kit needs no API key and sends no telemetry. Besides the chains' own nodes it talks to one backend, hex-api
(`hex-api.app`): EVM and Solana RPC, prices and token lists, the 1Click swap proxy and the NEAR Intents relay. Every
chain's RPC can be replaced with your own (`new HotKit({ rpc: { 8453: "https://..." } })`). Wallet sessions are kept in
`localStorage` unless you pass another `storage`. Details in [Endpoints](https://docs.hex-api.app/kit/configuration.md#endpoints).

## Entry points

| Import | Contents | Runs on |
| - | - | - |
| `@hot-labs/kit` | `HotKit`, the core, UI helpers (theme, presentation), storage | browser |
| `@hot-labs/kit/defaults` | `defaultConnectors`, `lazyConnector` | browser |
| `@hot-labs/kit/core` | Headless core: `Intents`, `OmniToken`, `Network`, `api`, bridge, exchange | browser, Node |
| `@hot-labs/kit/ui` | UI components and the popup router | browser |
| `@hot-labs/kit/near` | `NearConnector`, `NearWallet` (incl. `NearWallet.fromPrivateKey`) | browser, Node |
| `@hot-labs/kit/evm` | EVM connector (injected wallets, WalletConnect) | browser |
| `@hot-labs/kit/solana` | Solana connector (Wallet Standard) | browser |
| `@hot-labs/kit/ton` | TON connector (TonConnect) | browser |
| `@hot-labs/kit/stellar` | Stellar connector (Freighter and others) | browser |
| `@hot-labs/kit/tron` | TRON connector | browser |
| `@hot-labs/kit/cosmos` | Cosmos connector (Keplr) | browser |
| `@hot-labs/kit/sui` | Sui connector (Wallet Standard) | browser |
| `@hot-labs/kit/aptos` | Aptos connector (AIP-62 wallets) | browser |
| `@hot-labs/kit/starknet` | Starknet connector (Ready, Braavos) | browser |
| `@hot-labs/kit/xrp` | XRP Ledger connector (GemWallet) | browser |
| `@hot-labs/kit/utxo` | BTC, LTC, DOGE, BCH, DASH, ZEC | browser |
| `@hot-labs/kit/privy` | Google login with embedded wallets (Privy) | browser |
| `@hot-labs/kit/hyperliquid`, `@hot-labs/kit/hocraft`, `@hot-labs/kit/nft` | Product modules used by HOT apps. Their API may change in minor versions. | browser |

Every entry point loads in Node.js (ESM). "browser" means the module needs `window` once you call it, not to import it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.