git404hub

what is cryptos fr?

karpathy/cryptos — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2021-06-21

1,915Jupyter NotebookAudience · researcherComplexity · 4/5DormantSetup · moderate

tl;dr

A from-scratch Python implementation of Bitcoin's cryptography and a lightweight node, built to teach exactly how Bitcoin works under the hood without relying on any pre-built libraries.

vibe map

mindmap
  root((repo))
    What it does
      Implement Bitcoin crypto
      Generate wallet keys
      Validate real blocks
    Tech stack
      Python
      Jupyter Notebook
      Elliptic curve math
    Use cases
      Learn Bitcoin internals
      Sign a transaction
      Verify block headers
    Audience
      Curious learners
      Crypto educators
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Generate a real Bitcoin wallet address and key pair to see exactly how the math works.

VIBE 2

Sign a fake transaction using the elliptic curve code to understand digital signatures.

VIBE 3

Run the lightweight node to download and validate 40,000 real Bitcoin block headers.

VIBE 4

Build educational material or a course module explaining Bitcoin's cryptography from first principles.

what's the stack?

PythonJupyter Notebook

how it stacks up fr

karpathy/cryptostrekhleb/machine-learning-experimentsraiyanyahya/how-to-train-your-gpt
Stars1,9151,8102,278
LanguageJupyter NotebookJupyter NotebookJupyter Notebook
Last pushed2021-06-212026-06-23
MaintenanceDormantActive
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audienceresearcherresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Pure Python is slow and simplified, not for real Bitcoin use, only for learning.

No license information was mentioned in the explanation.

prompts (copy fr)

prompt 1
Using karpathy/cryptos, show me how to generate a Bitcoin address and private key from scratch and explain each step.
prompt 2
Walk me through the SHA-256 implementation in this repo and show how it's used to hash a Bitcoin block header.
prompt 3
Help me run the lightweight Bitcoin node from this repo to download and validate the first 1,000 real block headers.
prompt 4
Using the elliptic curve code in cryptos, show me how to sign a message and verify the signature without a private key library.
prompt 5
Explain, using this repo's code, how proof-of-work validation works when checking that one block correctly links to the previous one.

Frequently asked questions

what is cryptos fr?

A from-scratch Python implementation of Bitcoin's cryptography and a lightweight node, built to teach exactly how Bitcoin works under the hood without relying on any pre-built libraries.

What language is cryptos written in?

Mainly Jupyter Notebook. The stack also includes Python, Jupyter Notebook.

Is cryptos actively maintained?

Dormant — no commits in 2+ years (last push 2021-06-21).

What license does cryptos use?

No license information was mentioned in the explanation.

How hard is cryptos to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is cryptos for?

Mainly researcher.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.