walletpress/backend
crmuncher fbbe8db260
Some checks are pending
AI PR Review / ai-review (pull_request) Waiting to run
CI / lint (pull_request) Waiting to run
CI / test (pull_request) Waiting to run
CI / security (pull_request) Waiting to run
CI / pre-commit (pull_request) Waiting to run
CI / license (pull_request) Waiting to run
CI / ai-review (pull_request) Waiting to run
fix(backend): resolve 4 deployment blockers
#1 requirements.lock was incomplete (missing python-multipart, mcp, chain deps)
   - Switch Dockerfile to use requirements.txt (loose pins)
   - Add python-multipart>=0.0.9 and mcp>=1.25.0 to requirements.txt

#2 main.py wrong import: AuditTrail does not exist
   - core/audit.py defines AuditLog, not AuditTrail
   - Updated import + usage

#3 main.py wrong import path: _PersistentStore doesn't exist
   - Actual class is PersistentStore (no underscore prefix)
   - Lives in routers/_persistent_store.py (not routers/chain_vault.py)
   - Updated import path + name

#4 DB volume permissions broken
   - Added entrypoint.sh that chowns /data to walletpress:walletpress as root
   - Reordered Dockerfile: COPY entrypoint + chmod before USER directive
   - Added /data mkdir + chown in Dockerfile for build-time setup

After fixes:
- walletpress-backend container Up (healthy)
- 112 API endpoints accessible at /backend/*
- Tailscale access works, direct IP requires basic auth
2026-07-02 01:51:40 +07:00
..
.github/workflows chore(cleanup): Wave 6 — pen test prep + ruff config 2026-06-30 22:11:25 +07:00
.mypy_cache/3.12 chore(cleanup): Wave 6 — pen test prep + ruff config 2026-06-30 22:11:25 +07:00
adapters refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
agent refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
alembic refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
cli refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
core chore(cleanup): Wave 6 — pen test prep + ruff config 2026-06-30 22:11:25 +07:00
plugins refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
routers feat(walletpress): commit all uncommitted work 2026-07-01 17:19:14 +07:00
scripts fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00
tests refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
wallet_engine refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
.env.example fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00
alembic.ini refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
build.hash feat: backend, installers, legal pages, pre-commit, docs — v1.0.0-beta follow-up 2026-06-29 17:21:45 +07:00
client_sdk.py fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00
docker-compose.yml fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00
Dockerfile fix(backend): resolve 4 deployment blockers 2026-07-02 01:51:40 +07:00
entrypoint.sh fix(backend): resolve 4 deployment blockers 2026-07-02 01:51:40 +07:00
main.py fix(backend): resolve 4 deployment blockers 2026-07-02 01:51:40 +07:00
pyproject.toml chore(cleanup): Wave 6 — pen test prep + ruff config 2026-06-30 22:11:25 +07:00
README.md feat: backend, installers, legal pages, pre-commit, docs — v1.0.0-beta follow-up 2026-06-29 17:21:45 +07:00
requirements.lock refactor(routers): split chain_vault.py god router — WP-085..WP-087 2026-06-30 21:40:45 +07:00
requirements.txt fix(backend): resolve 4 deployment blockers 2026-07-02 01:51:40 +07:00
VERSION feat: backend, installers, legal pages, pre-commit, docs — v1.0.0-beta follow-up 2026-06-29 17:21:45 +07:00
walletpress_cli.py fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00
x402_service.py fix(audit): Wave 4 — ruff cleanup + dead code + bugs (WP-080..WP-084) 2026-06-30 21:25:54 +07:00

WalletPress

Multi-chain wallet generation engine supporting 55 blockchains. MIT open source. BIP39/BIP32/BIP44 compatible.

What It Does

Generates cryptographically secure wallets on 55 chains from a single API. Each wallet is a full keypair — private key, public key, address — on your choice of blockchain. Keys are derived from CSPRNG entropy per BIP39 standards and can optionally be derived deterministically from a mnemonic phrase.

Requirements

  • Python 3.10+ (3.12 recommended)
  • OpenSSL 3.x (for Argon2id encryption)
  • SQLite 3.37+ (WAL mode)
  • 1GB RAM minimum (4GB recommended for vault > 10,000 wallets)

Build & Run

# Dependencies vary by OS. You'll need python3-dev, libssl-dev, build-essential.
# Platform-specific package names are not documented here.

pip install -r requirements.txt

# Generate credentials yourself:
# WP_ADMIN_KEY — 32+ byte hex string for API authentication
# WP_VAULT_PASSWORD — 20+ char passphrase for AES-256-GCM key encryption
# These have no defaults. The server will not start without them.

export WP_ADMIN_KEY=<your 32+ byte hex key>
export WP_VAULT_PASSWORD=<your 20+ char passphrase>

python main.py

API

Docs at http://localhost:8010/docs when running.

WordPress Plugin

See wp-plugin/. Requires a running WalletPress backend.

Test Vectors

python scripts/verify_test_vectors.py

License

MIT — the code is free. Making it work in production is your responsibility.


walletpress.cc — one-command deploy, pre-configured RPC, SSL, backups, monitoring. Or use the hosted version at walletpress.cc/app — zero setup, $29/mo.