Skip to main content

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

Project description

readwhitepaper

PyPI Python License: MIT Zero Dependencies

Python 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. Pure Python, zero dependencies, fully typed.

ReadWhitepaper provides structured, machine-readable access to the foundational documents of the cryptocurrency ecosystem. Every whitepaper is broken into individually addressable sections, translated into 15 languages, and cross-referenced with a comprehensive blockchain glossary.

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

Table of Contents

Install

pip install readwhitepaper

Quick Start

from readwhitepaper import ReadWhitepaperClient

# Initialize the client — no API key needed
client = ReadWhitepaperClient()

# List all 30 cryptocurrency whitepapers
whitepapers = client.list_whitepapers()
for wp in whitepapers.results:
    print(f"{wp.crypto.ticker}{wp.authors[0]} ({wp.year})")
    # BTC — Satoshi Nakamoto (2008)
    # ETH — Vitalik Buterin (2013)

# Read Bitcoin's whitepaper section by section
bitcoin = client.get_whitepaper("bitcoin")
for section in bitcoin.sections:
    print(f{section.section_number}: {section.heading_text}")
    # §Abstract: Abstract
    # §1: Introduction
    # §2: Transactions

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 published by a blockchain project's creators, describing the protocol's design, consensus mechanism, economic model, and intended use cases. The tradition began with Satoshi Nakamoto's 2008 Bitcoin whitepaper, which introduced the concept of decentralized peer-to-peer electronic cash.

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
6 USDC Circle 2018 10
7 BNB Binance 2017 6
8 DOGE Billy Markus, Jackson Palmer 2013 9
9 ADA Charles Hoskinson, IOHK 2017 6
10 TRX Justin Sun 2017 9
# Get whitepaper metadata for any cryptocurrency
eth = client.get_whitepaper("ethereum")
print(f"Authors: {', '.join(eth.authors)}")   # Vitalik Buterin
print(f"Year: {eth.year}")                     # 2013
print(f"Sections: {eth.total_sections}")       # 23
print(f"Source: {eth.source_url}")             # https://ethereum.org/...

Section-Level Content

Every whitepaper is decomposed into individually addressable sections with full text content. This enables granular analysis, citation, and cross-referencing across documents.

# Read individual sections of any whitepaper
sections = client.get_sections("bitcoin")
abstract = sections[0]
print(abstract.content[:120])
# "A purely peer-to-peer version of electronic cash would allow online payments
#  to be sent directly from one party to another..."

# Get the table of contents for quick navigation
toc = client.get_toc("ethereum")
for entry in toc[:5]:
    print(f"  {entry.section_number}. {entry.heading}")
    # Abstract. Abstract
    # 1. Introduction and Existing Concepts
    # 2. Bitcoin As A State Transition System

Blockchain Glossary

163 blockchain terms organized across 12 categories (consensus, transactions, networking, mining, wallets, DeFi, stablecoins, governance, smart contracts, layer-2, privacy, and cryptography). Each term includes a precise definition and cross-references to whitepaper sections where the concept appears.

Category Terms Example Terms
consensus 22 Proof of Work, Proof of Stake, BFT, Finality
transactions 18 UTXO, Gas, Nonce, Mempool
networking 16 Block, Blockchain, Node, Gossip Protocol
mining 12 Hash Rate, ASIC, Block Reward, Difficulty
wallets 10 Address, HD Wallet, Seed Phrase
defi 14 AMM, Liquidity Pool, Flash Loan, Yield Farming
# Browse the blockchain glossary
glossary = client.list_glossary(limit=5)
for term in glossary.results:
    print(f"{term.term} [{term.category}] — appears {term.occurrence_count}x")
    # Blockchain [networking] — appears 53x
    # Block [networking] — appears 47x

# Look up a specific term
pos = client.get_glossary_term("proof-of-stake")
print(pos.definition)
print(f"Aliases: {pos.aliases}")

Multilingual Translations

All 30 whitepapers are translated into 15 languages with section-level granularity, totaling 3,458 individual translations. This makes the technical knowledge accessible to developers and researchers worldwide.

Language Code Direction Whitepapers
English en LTR 30
Korean ko LTR 30
Japanese ja LTR 30
Chinese (Simplified) zh-hans LTR 30
Spanish es LTR 30
Arabic ar RTL 30
Hindi hi LTR 30
French fr LTR 30
Russian ru LTR 30
German de LTR 30
# Read Bitcoin's whitepaper in Korean
bitcoin_ko = client.get_whitepaper("bitcoin", language="ko")
for s in bitcoin_ko.sections[:2]:
    print(f{s.section_number}: {s.heading_text}")

# Check translation coverage for any whitepaper
coverage = client.get_coverage("ethereum")
for lang in coverage.languages[:3]:
    print(f"  {lang.language}: {lang.completion_percent}% ({lang.translated_sections}/{lang.total_sections})")
    # en: 100.0% (23/23)
    # ko: 100.0% (23/23)

Full-Text Search

Search across all whitepaper content with highlighted snippets and deep links to specific sections.

# Search across all whitepapers for a concept
results = client.search("proof of work")
for r in results[:3]:
    print(f"{r.slug} §{r.heading}: ...{r.snippet}...")

# Search within a specific whitepaper
btc_results = client.search("double-spending", slug="bitcoin")

Relationship Graph

Explore connections between whitepapers through a knowledge graph that maps how blockchain projects reference and build upon each other.

# Get the full relationship graph
graph = client.get_graph()
print(f"Nodes: {len(graph.nodes)}, Edges: {len(graph.edges)}")

for node in graph.nodes[:3]:
    print(f"{node.ticker} ({node.year}) — {node.type}")

API Endpoints

Method Endpoint Description
GET /api/whitepapers/ List all 30 whitepapers
GET /api/whitepapers/{slug}/ Whitepaper detail with sections
GET /api/whitepapers/{slug}/sections/ Sections only
GET /api/whitepapers/{slug}/toc/ Table of contents
GET /api/whitepapers/{slug}/coverage/ Translation coverage
GET /api/glossary/ List 163 glossary terms
GET /api/glossary/{slug}/ Glossary term detail
GET /api/search/?q= Full-text search
GET /api/stats/ Platform statistics
GET /api/languages/ Supported languages
GET /api/graph/ Relationship graph

Example

curl -s "https://readwhitepaper.com/api/whitepapers/bitcoin/"
{
  "crypto": {
    "ticker": "BTC",
    "slug": "bitcoin",
    "website_url": "https://bitcoin.org",
    "brand_color": "#F7931A",
    "market_cap_rank": 1
  },
  "authors": ["Satoshi Nakamoto"],
  "year": 2008,
  "source_url": "https://bitcoin.org/bitcoin.pdf",
  "total_sections": 14,
  "available_languages": ["ar", "de", "en", "es", "fr", "hi", "id", "ja", "ko", "pt", "ru", "th", "tr", "vi", "zh-hans"]
}

Full API documentation at readwhitepaper.com/developers/.

API Client

Whitepapers

from readwhitepaper import ReadWhitepaperClient

client = ReadWhitepaperClient()

# List with pagination
page1 = client.list_whitepapers(limit=10, page=1)
page2 = client.list_whitepapers(limit=10, page=2)

# Full detail with sections
solana = client.get_whitepaper("solana")
print(f"{solana.crypto.ticker}: {solana.total_sections} sections")

# Sections and TOC
sections = client.get_sections("cardano")
toc = client.get_toc("cardano", language="ja")

# Translation coverage
cov = client.get_coverage("polkadot")

Glossary

# Browse all terms with pagination
terms = client.list_glossary(limit=20)

# Get a specific term with translations
term = client.get_glossary_term("smart-contract", language="ko")
print(term.translated_term)
print(term.translated_definition)

Search

# Global search across all whitepapers
results = client.search("zero knowledge")

# Scoped search within a single whitepaper
results = client.search("sharding", slug="ethereum")

Stats and Languages

stats = client.get_stats()
print(f"Whitepapers: {stats.whitepapers}")      # 30
print(f"Sections: {stats.sections}")              # 247
print(f"Translations: {stats.translations}")      # 3,458
print(f"Languages: {len(stats.supported_languages)}")  # 15

languages = client.get_languages()
for lang in languages:
    print(f"{lang.code}: {lang.name} ({lang.native_name})")

Graph

graph = client.get_graph()
for edge in graph.edges[:5]:
    print(f"{edge.source} --{edge.type}--> {edge.target}")

Learn More About Blockchain Whitepapers

Also Available

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

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

readwhitepaper-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

readwhitepaper-0.1.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file readwhitepaper-0.1.0.tar.gz.

File metadata

  • Download URL: readwhitepaper-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for readwhitepaper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a6c00b6ab825bdb254107beeef9a246735845234a20912d43175a7dd9ab6ad8b
MD5 cdeb047e9aa77574cf815f365785d98e
BLAKE2b-256 08e4c44986794b0eaebdbb10fbad98657f94d3260b889351c904318beecea5ad

See more details on using hashes here.

File details

Details for the file readwhitepaper-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: readwhitepaper-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for readwhitepaper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab39fd81b735b780468ca709d5cd6797e0cc9c78ee6286fb4a88b6b48a28b073
MD5 3c73cdbdef5f3a6dfe2f8da746397f85
BLAKE2b-256 81384ec7a0cfbc849260bd34105a8adb3dccd59dc6f06e3722aef99afc722e5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page