Is HOT Wallet safe?

Medium risk

Manages multichain crypto activity across EVM networks, TON, NEAR, Solana, Stellar, and TRON.

This wallet supports swaps, bridges, transfers, staking, and asset management across multiple blockchain ecosystems. It includes features such as TON Connect compatibility, NEAR dApp connections, Jupiter swaps on Solana, Stellar delegated transactions, and USDT transfers on TRON as described by the publisher.

HERE Walletv1.0.142Chrome Web Store
45Risk
Who publishes it

HERE Wallet inc - no other listings under this identity

What this publisher told the store about itself, and the other listings that told it the same thing.

Publisher
HERE Wallet
Declared legal entity
HERE Wallet inc
Registered address
8 The Green #4655, #4655, Dover, DE 19901-3618, US
Registered contact
Petr Volnov

AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.

Publishers can request a review.

Findings

Wallet loads server-controlled chain config that sets RPC nodes and fee params

MediumunwantedCWE-829Dynamic sandbox

Each time it starts, the wallet downloads a config from app.hot-labs.org setting RPC nodes, bridges, swap routes, and fees.

What actually happens

You did this

On startup, the wallet background service worker fetches a configuration file from the vendor's server.

The fetch runs automatically on every browser start or extension reload, with no user prompt.

The extension did this

The downloaded configuration replaces all RPC nodes, bridge routes, swap routers, and fee multipliers used by the wallet.

If the signature check passes, the new config is stored locally and takes effect immediately for all subsequent transactions.

The code that does this

Remote config fetch and signature verification

Readable version
async loadChainsFromServer() {  // Load current cached config, prefer bundled default if newer  let cached = await this.storage.get("chains", BUNDLED_CHAINS);  if (BUNDLED_CHAINS.version > cached.version) cached = BUNDLED_CHAINS;  // Fetch with 3-second timeout  let finished = false;  const controller = new AbortController();  setTimeout(() => !finished && controller.abort(), 3000);  const response = await fetch("https://app.hot-labs.org/chains.json", { signal: controller.signal });  finished = true;  const newConfig = await response.json();  if (cached.version >= newConfig.version) throw "No changes";  // Verify ed25519 signature over the JSON body (signature field excluded)  const hash = crypto.createHash("sha256")    .update(Buffer.from(JSON.stringify({ ...newConfig, signature: undefined }), "utf8"))    .digest();  const PUBLIC_KEY = "ed25519:9h3AiXGHzNjatxqYQ1QPsJDUkexbd3LypgadaZKvhg4";  if (!NearKeyPair.fromString(PUBLIC_KEY).verify(hash, Buffer.from(newConfig.signature, "hex"))) {    throw "Not verified";  }  // Replace all chain configuration with the new remote config  await this.storage.set("chains", newConfig);}

Configuration fields controlled by the remote file

  • RPC endpoints
    https://relmn.aurora.dev, https://archival-rpc.mainnet.near.org

    The blockchain node URLs your wallet connects to when broadcasting transactions and querying balances.

  • Bridge routing
    bridge: { near_eth: "0x23ddd3e3692d1861ed57ede224608875809e127f", ... }

    Which cross-chain bridge contracts and relayers are used when you move funds between blockchains.

  • Swap router addresses
    swap_router: { 1: "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad" }

    The smart-contract addresses used when you swap tokens inside the wallet.

  • Fee multipliers
    extraFee: { 1: 0.003, 56: 0.003 }

    The extra-fee percentages applied on top of network gas for wallet-assisted transactions.

  • Config version
    290

    A monotonically increasing version number; the wallet replaces its stored config whenever the server version is higher.

Remote configuration source

    • app.hot-labs.org

    HOT Labs (extension developer). Serves the signed chains.json configuration file that controls all RPC nodes, bridge routes, and fee parameters.

Observation

The ed25519 signature verification is a meaningful control: a network-level attacker who cannot obtain the private key cannot inject an attacker-controlled config through a MitM. The residual risk is a compromise of the HOT Labs signing key or the app.hot-labs.org infrastructure, which would allow reconfiguration of every installed wallet instance simultaneously without notifying the user.

Where it sends data

Destinations our analysis observed HOT Wallet contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.

  • Jupiter

    HOT Wallet sends data to Jupiter. Named as a recipient by 1 other extensions we have analyzed.

  • Burrow

    HOT Wallet sends data to Burrow. Named as a recipient in this extension's own analysis.

  • LayerZero

    HOT Wallet sends data to LayerZero. Named as a recipient in this extension's own analysis.

  • RHEA Finance

    HOT Wallet sends data to RHEA Finance. Named as a recipient in this extension's own analysis.

Updated 30 September 2026mpeengabcnhhjjgleiodimegnkpcenbk