A bilingual public archive of Satoshi Nakamoto's primary-source record and related historical documents.
- https://bitcoin-institute.pages.dev/
- https://cypher256.github.io/BitcoinArchive/ (Mirror)
- Citation guide: https://bitcoin-institute.pages.dev/cite/
- Satoshi Nakamoto's writings — All emails, forum posts, and code comments
- Conversations — Exchanges with Hal Finney, Wei Dai, James A. Donald, and others
- Aftermath — Court testimonies, blog retrospectives, interviews, and media reports
Cite the archive as:
Bitcoin Institute. Bitcoin Institute Archive. 2026. https://bitcoin-institute.pages.dev/
For page-level citation format and the fixed-source map for technical readings, see the citation guide. The repository also includes CITATION.cff for citation tools.
- Framework: Astro v5 (static site generation)
- Search: Algolia — hosted full-text search, reindexed on every production build
- Math: remark-math + rehype-katex (LaTeX rendering)
- OG Images: Satori + Sharp (dynamic Open Graph image generation)
- Sitemap: @astrojs/sitemap
- i18n: English / Japanese with Astro's built-in i18n routing
- Structured Data: JSON-LD (Schema.org) on every page
- Hosting: Cloudflare Pages (primary) + GitHub Pages (mirror)
- CI/CD: GitHub Actions → both deployments on push to
main. Cloudflare is reached viawrangler pages deploy(Direct Upload); CF's built-in Git integration is disabled so deploys are not bound by Cloudflare's build timeout.
check-markdown-image-alt → check-participants → check-ja-tone → check-ja-names → check-ja-titles → check-ja-glossary → check-quotes → check-internal-links → generate-derived-related → generate-git-dates → astro build → algolia-index
- check-markdown-image-alt — Validates all Markdown images have alt text
- check-participants — Warns when EN entries have an author but no participants listed
- check-ja-tone — Validates Japanese translation tone (だ/である vs ですます) per character rules
- check-ja-names — Validates person names in JA files use katakana (not English)
- check-ja-titles — Validates JA context post titles are in Japanese (not English)
- check-ja-glossary — Enforces canonical JA terminology (trailing long-vowel marks, unified translations) per STYLE_GUIDE_JA.md
- check-quotes — Validates quote attribution structure (frontmatter quotes[] + body markers)
- check-internal-links — Validates that every in-body internal link resolves and that
relatedEntriesis bidirectional - generate-derived-related — Computes derived relatedEntries (mutual inline links) merged with manual ones at build time
- generate-git-dates — Extracts git commit dates for "Added" / "Updated" sort
- algolia-index — Uploads all EN+JA entries to the Algolia index (skipped when
ALGOLIA_APP_ID/ALGOLIA_ADMIN_KEYare not set, e.g. local or mirror builds)
npm install
npm run dev # Start dev server at localhost:4321
npm run check # Run all validation checks (fast, seconds)
npm run preview # Preview production build locallyNote: Use
npm run checkfor local validation. Do not runnpm run buildlocally: it generates 8,500+ static HTML pages and runs only in CI as part of deployment.
Pushing to main triggers two GitHub Actions workflows:
.github/workflows/deploy.yml→ builds with thewithastro/actioncomposite action and publishes to GitHub Pages..github/workflows/deploy-cloudflare.yml→ runsnpm run buildwith the Algolia secrets and deploysdist/to thebitcoin-instituteCloudflare Pages project viawrangler pages deploy(Direct Upload).
Both workflows are independent; either can fail without blocking the other. Cloudflare's built-in Git integration is disabled on the Pages project, so the only path to production on Cloudflare is the GitHub Actions workflow above.
Content is sourced from publicly available archives. See About for details.