npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

readwhitepaper

v0.1.0

Published

TypeScript client for ReadWhitepaper — blockchain whitepaper database with 30 whitepapers, 163 glossary terms, and 15-language translations

Readme

readwhitepaper

npm TypeScript License: MIT Zero Dependencies

TypeScript client for the ReadWhitepaper API — a blockchain whitepaper database hosting 30 cryptocurrency whitepapers with section-level content, 163 glossary terms, full-text search, and 3,458 translations across 15 languages. Zero dependencies, native fetch, fully typed.

Explore the whitepapers at readwhitepaper.comBitcoin Whitepaper, Ethereum Whitepaper, API Docs

Table of Contents

Install

npm install readwhitepaper

Quick Start

import { ReadWhitepaperClient } from "readwhitepaper";

// Initialize the client — no API key needed
const client = new ReadWhitepaperClient();

// List all 30 cryptocurrency whitepapers
const whitepapers = await client.listWhitepapers();
for (const wp of whitepapers.results) {
  console.log(`${wp.crypto.ticker} — ${wp.authors[0]} (${wp.year})`);
  // BTC — Satoshi Nakamoto (2008)
  // ETH — Vitalik Buterin (2013)
}

// Read Bitcoin's whitepaper section by section
const bitcoin = await client.getWhitepaper("bitcoin");
for (const section of bitcoin.sections) {
  console.log(`§${section.section_number}: ${section.heading_text}`);
}

What You'll Find on ReadWhitepaper

Cryptocurrency Whitepapers

ReadWhitepaper hosts the foundational documents of 30 major cryptocurrencies, ranked by market capitalization. A cryptocurrency whitepaper is the primary technical document describing a blockchain protocol's design, consensus mechanism, economic model, and use cases. The tradition began with Satoshi Nakamoto's 2008 Bitcoin whitepaper.

| Rank | Ticker | Author(s) | Year | Sections | |------|--------|-----------|------|----------| | 1 | BTC | Satoshi Nakamoto | 2008 | 14 | | 2 | ETH | Vitalik Buterin | 2013 | 23 | | 3 | USDT | J.R. Willett | 2016 | 10 | | 4 | XRP | David Schwartz, Noah Youngs, Arthur Britto | 2014 | 11 | | 5 | SOL | Anatoly Yakovenko | 2017 | 12 |

// Get whitepaper metadata for any cryptocurrency
const eth = await client.getWhitepaper("ethereum");
console.log(`Authors: ${eth.authors.join(", ")}`);  // Vitalik Buterin
console.log(`Year: ${eth.year}`);                    // 2013
console.log(`Sections: ${eth.total_sections}`);      // 23

Section-Level Content

Every whitepaper is decomposed into individually addressable sections with full text content, enabling granular analysis and cross-referencing.

// Get the table of contents
const toc = await client.getToc("bitcoin");
for (const entry of toc) {
  console.log(`  ${entry.section_number}. ${entry.heading}`);
}

// Read individual sections
const sections = await client.getSections("ethereum");
console.log(sections[0].content.slice(0, 120));

Blockchain Glossary

163 blockchain terms across 12 categories including consensus, transactions, networking, mining, wallets, and DeFi.

// Browse the blockchain glossary
const glossary = await client.listGlossary({ limit: 10 });
for (const term of glossary.results) {
  console.log(`${term.term} [${term.category}] — appears ${term.occurrence_count}x`);
}

// Look up a specific term
const pos = await client.getGlossaryTerm("proof-of-stake");
console.log(pos.definition);

Multilingual Translations

All 30 whitepapers translated into 15 languages (en, ko, ja, zh-hans, es, pt, hi, ar, fr, ru, de, tr, vi, id, th) with 3,458 total translations.

// Read Bitcoin's whitepaper in Japanese
const btcJa = await client.getWhitepaper("bitcoin", { language: "ja" });

// Check translation coverage
const coverage = await client.getCoverage("ethereum");
for (const lang of coverage.languages) {
  console.log(`${lang.language}: ${lang.completion_percent}%`);
}

Full-Text Search

// Search across all whitepapers
const results = await client.search("proof of work");
for (const r of results) {
  console.log(`${r.slug} §${r.heading}: ${r.snippet}`);
}

// Search within a specific whitepaper
const btcResults = await client.search("double-spending", { slug: "bitcoin" });

API Reference

| Method | Description | |--------|-------------| | listWhitepapers(options?) | List all 30 whitepapers | | getWhitepaper(slug, options?) | Get whitepaper detail with sections | | getSections(slug, options?) | Get sections only | | getToc(slug, options?) | Get table of contents | | getCoverage(slug) | Get translation coverage | | listGlossary(options?) | List 163 glossary terms | | getGlossaryTerm(slug, options?) | Get term detail | | search(query, options?) | Full-text search | | getStats() | Platform statistics | | getLanguages() | Supported languages | | getGraph() | Relationship graph |

TypeScript Types

All API responses are fully typed. Key types:

import type {
  Whitepaper,
  WhitepaperDetail,
  Section,
  TocEntry,
  Coverage,
  GlossaryTerm,
  SearchResult,
  Stats,
  Language,
  GraphData,
  GraphNode,
  GraphEdge,
  PaginatedResponse,
} from "readwhitepaper";

Learn More About Blockchain Whitepapers

Also Available

| Platform | Package | Install | |----------|---------|---------| | PyPI | readwhitepaper | pip install readwhitepaper | | Go | readwhitepaper-go | go get github.com/dobestan/readwhitepaper-go | | Rust | readwhitepaper | cargo add readwhitepaper | | Ruby | readwhitepaper | gem install readwhitepaper |

License

MIT