whatisgithub

What is cryptos?

karpathy/cryptos — explained in plain English

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

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

In one sentence

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.

Mindmap

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 build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

USE CASE 4

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

What is it built with?

PythonJupyter Notebook

How does it compare?

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 you get it running?

Difficulty · moderate Time to first run · 30min

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

No license information was mentioned in the explanation.

Copy-paste prompts

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?

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.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.