Skip to main content

NanoPy

The first Ethereum-compatible blockchain written entirely in Python.

"Web3 is the developer's sudoku - you solve crypto puzzles, consensus problems, smart contracts... A blockchain in Python? That's not serious! Well that's the point, who cares, it works and it's fun."

Why Python?

  • Readable: Understand the entire blockchain in the world's #1 language
  • Hackable: Modify consensus, EVM, or networking without recompiling
  • Educational: Learn blockchain internals without C++/Rust complexity

Install

pip install nanopy-chain

Quick Start

# Run a node
nanopy-node

# Run on testnet
nanopy-node --testnet

# Run a validator (earn NPY rewards)
nanopy-validator --key YOUR_PRIVATE_KEY

# Generate a wallet
nanopy wallet

# Check balance
nanopy balance 0xYourAddress

Features

  • 100% Python - No C extensions, pure Python
  • Full EVM - Deploy Solidity contracts, use MetaMask, Hardhat, etc.
  • Proof of Stake - 10,000 NPY minimum stake, ~12s blocks
  • EIP-1559 - Dynamic fee market
  • EIP-2930 - Access lists support
  • libp2p - Production-grade P2P networking
  • JSON-RPC - HTTP + WebSocket on same port
  • eth_subscribe - Real-time events (newHeads, logs, pendingTx)

Networks

Network Chain ID RPC URL Status
Mainnet 7770 http://51.68.125.99:8545 Coming soon
Testnet 77777 http://51.68.125.99:8546 ✅ Active

Add to MetaMask

Layer 2: Turbo

NanoPy Turbo is our Go-based L2 for high-throughput applications.

Network Chain ID RPC URL
Turbo Testnet 777702 http://51.68.125.99:8548

See blockchain-L2 repo.

JSON-RPC

Single port serves both HTTP and WebSocket:

# HTTP
curl -X POST http://localhost:8545 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

# WebSocket (same port)
wscat -c ws://localhost:8545
> {"jsonrpc":"2.0","method":"eth_subscribe","params":["newHeads"],"id":1}

Supported Methods

  • eth_blockNumber, eth_getBlockByNumber, eth_getBlockByHash
  • eth_getBalance, eth_getTransactionCount
  • eth_sendRawTransaction, eth_getTransactionReceipt
  • eth_call, eth_estimateGas
  • eth_getLogs, eth_subscribe, eth_unsubscribe
  • net_version, eth_chainId

Deploy a Contract

from web3 import Web3

w3 = Web3(Web3.HTTPProvider('http://51.68.125.99:8546'))

# Deploy with your favorite tool: Hardhat, Foundry, or raw Web3

Architecture

nanopy/
├── nanolib/          # libp2p networking (Python port)
├── nanopy/
│   ├── core/         # Blockchain, blocks, transactions
│   ├── evm/          # Ethereum Virtual Machine
│   ├── consensus/    # Proof of Stake
│   ├── rpc/          # JSON-RPC server
│   └── p2p/          # Peer discovery, sync
└── contracts/        # Solidity contracts (DEX, NFT, Bridge)

Links

License

MIT

Metadata

Release files for nanopy-chain 1.2.87

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nanopy-chain 1.2.87
File Size Uploaded
nanopy_chain-1.2.87.tar.gz 536.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nanopy-chain 1.2.87
File Interpreter ABI Platform
nanopy_chain-1.2.87-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / nanopy_chain-1.2.87.tar.gz

Download URL nanopy_chain-1.2.87.tar.gz
Size 536.6 kB
Tags Source
SHA-256 checksum
How to use checksums
614cbe7c2350d09e847077a50895af22f9a165153a3f6b09876016f91e5236ab
BLAKE2b-256 checksum
How to use checksums
9679cad6fa7a1b08fcc32b3bf68c589d651ccdec631f28816da8abdfcc047fbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / nanopy_chain-1.2.87-py3-none-any.whl

Download URL nanopy_chain-1.2.87-py3-none-any.whl
Size 667.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd95d3ae30c35872e278e3b9dc4429e5a434340680cf65e0de30dd6f8b814f45
BLAKE2b-256 checksum
How to use checksums
f53436c7e649ce6c58b00180c43b1430e00e269462610c859af57f931a751241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.2.87 This release

2 release files

1.2.86

2 release files

1.2.85

2 release files

1.2.84

2 release files

1.2.83

2 release files

1.2.82

2 release files

1.2.81

2 release files

1.2.80

2 release files

1.2.79

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page