Skip to main content
A wallet is not a container of funds. Assets live on the chain, recorded against an address; the wallet is the thing that holds the private key authorizing transactions from that address. Where that key lives is the whole question, and it is what “hot” and “cold” describe.

The spectrum

An institution does not choose one. It runs a tiered setup: a small hot float sized to expected withdrawals, topped up on a schedule from cold storage, so a hot-wallet compromise is bounded by the float rather than the balance sheet. These get conflated with hot and cold, and are independent of it. Custodial vs self-custodial. Custodial means a third party holds the key on your behalf — an exchange, a broker, a qualified custodian. Self-custodial means you hold it. Both can be hot or cold. Single-signature vs multisignature. A multisig address requires m of n keys to authorize a transaction, so no single key compromise is sufficient. Onchain this is usually a smart contract, so its transactions look different from a plain address: the contract executes, and the individual approvals are internal calls or prior transactions. MPC. Multi-party computation splits one key into shares held by different parties, which sign jointly without ever reconstructing the key. Unlike multisig this is invisible onchain — an MPC address looks exactly like an ordinary single-signature address.

What custody looks like onchain

You cannot read a private key’s location from the chain. What you can read is behaviour, and behaviour is a reliable signal.
Address labelling is not something you can derive from behaviour alone with confidence — clustering heuristics produce false positives, and exchanges rotate addresses. Use a maintained labelled dataset for anything you report on. Allium’s Identity vertical provides entity labels including exchange and institutional attribution, and Wallet Classification segments end-user wallets by behaviour.

Where to look in Allium

Monitoring your own hot wallets is a natural fit for Datastreams or Beam: filter a stream to your addresses and receive every movement as it happens, rather than polling for balances.

Next steps