LaserEyes

Overview

A composable Bitcoin data client you can use on its own.

@lasereyes/client is a modern, composable Bitcoin data client — balances, UTXOs, fees, transactions, and PSBT utilities — built around small, tree-shakeable action groups you compose onto a client. It's framework-agnostic and powers the reads in @omnisat/lasereyes-core, but you can use it directly.

Mental model

PieceWhat it is
ActionsData operations — methods that talk to the blockchain.
UtilsPure functions — PSBT builders, address helpers, conversions. No I/O.
AccountData container — addresses and public keys, no signing.
SignerSigning capability — optional, injected into a wallet client.
BackendData source — a per-network capability bundle.
ClientOrchestrator — createClient(...).extend(actions).

Each .extend(...) adds a typed action group, and the type system tracks which capabilities the backend must provide.

Installation

npm install @lasereyes/client

@scure/btc-signer and @scure/base are used for PSBT and address operations.

Subpath exports

SubpathContents
.Base client, publicActions, chains, errors, types
./walletWallet client, accounts, walletBtcActions
./utilsPure helpers (address utils, conversions)
./backendsBackend primitives + vendor capability factories
./backends/mempoolmempool.space backend
./backends/sandshrewSandshrew backend
./backends/maestroMaestro backend

Protocol support status

Protocol action groups for runes, BRC-20, alkanes, and inscriptions are designed and scaffolded but not yet exported — they're deferred pending implementation of their write paths (runes first). The protocol domain types and capability interfaces are exported today, since they're needed to type backends. See Protocol Support.

On this page