Ethereum background

Ethereum Mist

Manage assets and interact with dApps across Ethereum and leading L2 networks — with transparency, security, and full control.

Supports  WalletConnectEIP-6963Mist SDKWeb3.js

Coins & networks we support

Blue-chips and stablecoins across Ethereum mainnet + popular L2s.

DOWNLOADS

Get Mist SDK on your platform

Native installers for desktop and verified releases on GitHub.

Linux

AppImage Recommended

Portable AppImage — tested on Ubuntu, Debian, Fedora.

  • AppImagev7.1.2
  • Updated: Oct 2025
  • Runs from anywhere; optional symlink to /usr/bin

macOS

Universal Recommended

Universal DMG for Apple Silicon & Intel with notarization.

  • DMG • v7.1.2
  • Updated: Oct 2025
  • Optional CLI symlink (/usr/local/bin/mist)

Windows

Signed Recommended

Installer for Windows 10/11 with native auto-updates and code-signing.

  • .exe x64 build • v7.1.2
  • Updated: Oct 2025
  • Installs SDK and PATH entries
OVERVIEW

Build faster. Ship safer. Scale with confidence.

Production-ready wallet primitives, clean APIs, typed events, and secure defaults — so your dApp ships quickly and stays reliable in prod.

Ergonomics

Frictionless integration, predictable APIs

Connect in one line and ship in minutes. Strong typing, sane defaults, and batteries-included utils.

  • WalletConnect & EIP-6963 auto-detect
  • One-liner getSigner(), chain presets, fee helpers
  • Typed providers, sessions, subscriptions
Templates Copy-paste snippets DX first
Security

Security by default, fewer footguns

Keys stay isolated, permissions are scoped, and risky calls are rate-limited and logged.

  • Origin checks & strong CSP
  • Permission scopes & revocation hooks
  • Request rate-limits & audit trail
Audit: Q1 2025 Iframe-safe Least-privilege
Multi-chain

Mainnet + L2s with quorum and fallbacks

Read from multiple RPCs, converge on quorum, and override per network without boilerplate.

  • EIP-1559 fee estimation
  • RPC fallbacks & quorum reads
  • Per-network overrides & bridge helpers
Ethereum L2-ready Preset chains
Observability

See what users see — at a glance

Metrics and hooks for the flows that matter most. No duct tape, no guesswork.

  • Structured logs & metrics
  • Traceable requests & retries
  • Event hooks for analytics
OpenTelemetry Export hooks Real-world DX
ESSENTIALS

Core tasks in one panel

Install, connect, sign, transact, observe — concise snippets with context. On the right: a compact summary of compatibility and package info.

Install

Install & initialize

ESM, types, tree-shaking. Browser and Node (EIP-1193 provider).

# npm / pnpm / yarn
npm i @mist/sdk
pnpm add @mist/sdk
yarn add @mist/sdk

# import and client
import { createClient } from "@mist/sdk";

export const mist = createClient({
  chains: ["mainnet", "optimism"],
  transport: "auto",
});
  • TypeScript typings included.
  • Per-network overrides without boilerplate.
Connect

Connect a wallet

EIP-6963 + WalletConnect with scoped permissions.

import { detect, connect } from "@mist/sdk";

const provider = await detect({ prefer: ["eip6963", "walletconnect"] });
const session = await connect(provider, {
  scope: ["eth_accounts"],
  timeout: 12_000,
});
  • Scopes and revoke hooks.
  • Timeouts and user-friendly errors.
Sign

Signing & SIWE

Domain binding, nonce, backend verification.

import { siwe } from "@mist/sdk/auth";

const { message, signature } = await siwe.sign({
  domain: location.host,
  statement: "Sign in to Mist Demo",
  uri: location.href,
});
await siwe.verify({ message, signature });
  • Anti-replay nonce.
  • Ready-made serializers and validation.
Send

Transactions (EIP-1559)

Fee selection, cancel/speed-up, confirmation waiting.

import { sendTx, fees1559 } from "@mist/sdk/tx";

const fees = await fees1559({ chainId: 1, priority: "fast" });
const hash = await sendTx({
  to: "0xabc...ef",
  value: ethers.parseEther("0.02"),
  maxFeePerGas: fees.max,
  maxPriorityFeePerGas: fees.tip,
});
await mist.wait(hash, { confirmations: 2, retries: 3 });
  • Retry policy and status events.
  • Cancel/Speed-up helper.
Observe

Observability

Event hooks and OpenTelemetry export.

import { on } from "@mist/sdk/events";

on("tx:settled", (e) => metrics.count("tx_settled", 1, e.labels));
on("rpc:retry", (e) => logs.warn("rpc retry", e));
  • Structured logs and metrics.
  • Traceable retries and timeouts.
Swap

Swap routing

Quorum reads across multiple RPCs, outlier protection.

import { route } from "@mist/sdk/swap";

const quote = await route.quote({ from: "ETH", to: "USDC", amount: "0.5" });
const tx = await route.build(quote);
await route.execute(tx);
  • Sliding window for slippage.
  • Per-network overrides.