Steem.js

The JavaScript API for the Steem blockchain — now isomorphic: the same package runs unchanged on Node 18+, browsers, edge runtimes (Cloudflare Workers / Vercel Edge), and Deno. Pure-JS crypto (@noble), ESM + CJS + a CDN bundle, and shipped TypeScript types.

npm install @blazeapps/steem

Installing the modernized build before it’s published to npm? Pull it straight from the fork branch:

npm install github:blazeapps007/steem-js#BlazeDevelopment
import steem from '@blazeapps/steem';

// Read (Promise or callback)
const [account] = await steem.api.getAccountsAsync(['ned']);

// Sign offline + broadcast (works on every runtime, no Node polyfills)
const wif = steem.auth.toWif(username, password, 'posting');
await steem.broadcast.vote(wif, voter, author, permlink, 10000);

What’s new

This release is a ground-up modernization that keeps the public API identical while making the library fast, small, typed, and runnable everywhere. See What’s New for the full story, the Runtimes overview for copy-paste setups, and the dedicated Cloudflare Workers and Deno & Deno Deploy guides for edge deployments.

  • Isomorphic — no Buffer/window/Node-builtin assumptions; runs on edge & Deno.
  • Modern crypto@noble/curves + @noble/hashes + @noble/ciphers (zero native deps). Signatures, keys, and memos are byte-for-byte identical to the previous version.
  • ESM + CJS + IIFE builds with an exports map; tree-shakeable.
  • TypeScript types shipped (dist/index.d.ts) with full method autocomplete.
  • Leaner — ~25 legacy dependencies removed (bigi, ecurve, bytebuffer, browserify-aes, cross-fetch, bluebird, …).

The library at a glance

import steem from '@blazeapps/steem' (or const steem = require(...)) gives an object with these namespaces:

Namespace What it does Docs
steem.api Read calls to an RPC node (accounts, posts, blocks, market, witnesses…) API reference
steem.broadcast Sign and broadcast write operations (vote, transfer, comment…) Broadcast reference · Broadcasting guide
steem.auth Key derivation, WIF handling, transaction signing Auth guide
steem.memo Encrypt and decrypt transfer memos Memo guide
steem.formatter Reputation, VESTS↔STEEM, amounts, account value Formatter guide
steem.utils Account-name validation, string helpers Utils guide
steem.config Endpoint, chain id, address prefix, testnet Configuration guide

The api and broadcast references are generated from the library’s own source (methods.js and operations.js), so they always list every method in the installed version.

Run on any runtime

One package, every JavaScript runtime — no polyfills, no Buffer, no Node-builtin shims.

Runtime Guide
🟢 Node.js (ESM & CommonJS) Runtimes → Node
⚡ Vite / React / Vue / Svelte Runtimes → Vite
🌐 Browser via <script> / CDN Runtimes → Browser
☁️ Cloudflare Workers Cloudflare Workers — secrets, signing, KV cache, cron
▲ Vercel Edge Functions Runtimes → Vercel Edge
🦕 Deno & Deno Deploy Deno — permissions, edge functions, KV, testing

Where to go next

Get started

  • Install — npm, pnpm, yarn, Deno, CDN.
  • Runtimes — copy-paste setup for your platform.
  • Configuration — endpoints, transports, testnet.
  • TypeScript — typed usage with the shipped declarations.

Deploy to the edge

Use the API

Background


This site uses Just the Docs, a documentation theme for Jekyll.