Skip to main content

Packages

Reference documentation for every @effectstream/* package published to npm. Each page is generated from the package's own README.md, so the npm page, the GitHub source, and this site never drift apart.

If you just want to build something quickly, start at Quickstart. The pages below are reference material: what each package contains, how to use it standalone, and how it fits into the rest of EffectStream.

How packages are grouped

EffectStream is a stack of independent layers. Most users only need a small slice of it.

GroupUse when you want to…Example
SDKSign messages, encode addresses, talk to wallets — runs in the browser or any Node tool.@effectstream/wallets, @effectstream/crypto
Node SDKRun an EffectStream node: indexer, state machine, database, event server.@effectstream/node-sdk, @effectstream/runtime
ChainsDeploy or interact with the on-chain contracts EffectStream syncs from.@effectstream/evm-contracts, @effectstream/midnight-contracts
BinariesInstall a pinned blockchain node or sidecar (Bitcoin Core, Midnight node, Grafana…).@effectstream/npm-midnight-node, @effectstream/bitcoin-core
ToolsLocal dev orchestrator, batcher service, frontend SDK.@effectstream/orchestrator, @effectstream/batcher-sdk

SDK

Building blocks. These work outside the EffectStream node — pull them into any TypeScript project.

  • @effectstream/utils — Address encoding, type helpers, concurrency utilities.
  • @effectstream/crypto — Multi-chain signature verification and seeded RNG.
  • @effectstream/log — OpenTelemetry-instrumented structured logging.
  • @effectstream/config — Chain and runtime configuration schema.
  • @effectstream/precompile — Precompile registration helpers.
  • @effectstream/chain-types — Cross-chain type definitions.
  • @effectstream/concise — Type-safe schemas for EffectStream messages.
  • @effectstream/event-client — MQTT-based event subscriber.
  • @effectstream/wallets — Browser wallet connectors (EVM, Cardano, Midnight…).
  • @effectstream/coroutine — Effection-based async control flow.

Node SDK

The runtime engine — pulled in by anyone running an EffectStream node.

  • @effectstream/node-sdk — Main entrypoint that re-exports the node runtime.
  • @effectstream/sync — Blockchain sync service.
  • @effectstream/sm — State-machine DSL.
  • @effectstream/db — PostgreSQL + PgLite database layer.
  • @effectstream/db-emulator — In-memory database for tests.
  • @effectstream/runtime — State-machine runtime.
  • @effectstream/event-server — Event server for streaming updates.

Chains

Per-chain contract bindings and deployment helpers.

  • @effectstream/evm-contracts — Solidity contracts for EVM chains.
  • @effectstream/evm-hardhat — Hardhat deployment helpers.
  • @effectstream/midnight-contracts — Midnight contract interfaces.
  • @effectstream/avail-contracts — Avail DA contract interfaces.
  • @effectstream/bitcoin-contracts — Bitcoin script utilities.
  • @effectstream/cardano-contracts — Cardano contract interfaces.

Binaries

NPM-wrapped third-party binaries. Install one and it drops a usable executable into node_modules/.bin. Mostly consumed by @effectstream/orchestrator.

  • @effectstream/bitcoin-core, @effectstream/ord
  • @effectstream/npm-avail-light-client, @effectstream/npm-avail-node
  • @effectstream/npm-midnight-node, @effectstream/npm-midnight-proof-server, @effectstream/npm-midnight-indexer
  • @effectstream/near-sandbox, @effectstream/celestia
  • @effectstream/grafana-alloy, @effectstream/grafana-loki

Tools

  • @effectstream/batcher-sdk — Cross-chain transaction batcher.
  • @effectstream/orchestrator — Multi-chain local dev environment.
  • @effectstream/frontend-sdk — React frontend SDK for EffectStream apps.