Skip to content
View altradits's full-sized avatar
  • Atlanta
  • 17:35 (UTC -12:00)

Block or report altradits

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
altradits/README.md
Altradits

Stanley Chege Thuita


Typing SVG

Profile Views Open to Work LinkedIn Email Location

⚑ Snapshot

From "hello world" to a working wallet backend, one shipped phase at a time.

  • πŸŽ“ SE Apprentice @ Zone01 Kisumu, peer-to-peer and project-based, no lectures
  • ⚑ Founder & sole developer of Altradits β€” Bitcoin banking for Kenya, M-Pesa rails, vanilla Go
  • 🧩 Owns features end to end, from schema to deploy

stats

🧰 Toolbox

Core, vanilla first while I build solid fundamentals:

core skills

Exploring in side projects:

exploring

top languages

πŸ—οΈ Altradits β€” Bitcoin Banking for Kenya

"The root problem with conventional currency is all the trust that's required to make it work." β€” Satoshi Nakamoto, 2008

Everyone in my community has a story β€” an "nguru" who vanished with their savings, a Sacco that quietly went broke, a chama that fell apart when the treasurer disappeared. Altradits is my answer: a bank for my community where there's no one left to trust β€” only code, Bitcoin, and a ledger anyone can audit. Deposit the M-Pesa you already use, lock your sats for 5+ years, and let patience do what no nguru ever could.

Repo Go License

Bitcoin Lightning Network LND JWT M-Pesa

  • ⚑ Send/receive sats over Lightning + you@altradits.com addresses (LNURL-pay)
  • πŸ‡°πŸ‡ͺ Deposit & withdraw KES via M-Pesa STK push
  • πŸ’° Treasury pool: bonds, money market, equities, BTC, auto interest
  • πŸ›‘οΈ JWT auth + role-based admin dashboards

Quick Start

Prerequisites: Go 1.22+, PostgreSQL 14+

# 1. Set up the database
make setup-db

# 2. Run (migrations + default-account seeding happen automatically)
make dev
# or: go run cmd/server/main.go
Manual database setup (without make)
psql -U postgres << 'EOF'
CREATE USER altradits WITH PASSWORD 'password';
CREATE DATABASE altradits OWNER altradits;
GRANT ALL PRIVILEGES ON DATABASE altradits TO altradits;
EOF
DB_URL=postgres://altradits:password@localhost:5432/altradits?sslmode=disable go run cmd/server/main.go

Default accounts

Role Email Password
Admin admin@altradits.com admin123
Trader trader@altradits.com trader123

Architecture

  • Backend: Go 1.22, standard library only. Custom PostgreSQL wire protocol driver (internal/pgdrv).
  • Frontend: Pure HTML + CSS + vanilla JS. No frameworks.
  • Database: PostgreSQL 14+
  • Auth: SHA-256 session tokens, HttpOnly cookies
Routes
Path Role Description
/ Public Landing page
/register Public Create account
/login Public Sign in
/customer/dashboard Customer Wallet overview
/customer/deposit Customer M-Pesa deposit
/customer/withdraw Customer M-Pesa withdrawal
/customer/investments Customer Locked sats
/admin/dashboard Admin Operations overview
/admin/deposits Admin Approve deposits
/trader/dashboard Trader Pool management

Values, from the Bitcoin Whitepaper

  1. Trust minimization β€” no ngurus, public assets
  2. Patience as proof of work β€” 5-year lock minimum
  3. Timestamped transparency β€” every sat traced
  4. No KYC β€” email or phone only
  5. Community review β€” no central authority
  6. Incentive alignment β€” 2% of profit only
  7. Simplicity β€” 6 buttons max
  8. Privacy by default β€” no name required
  9. Long-term horizon β€” shortcuts are traps
  10. Open participation β€” no minimums

Roadmap

  • Now: Manual M-Pesa + Lightning (admin-approved)
  • Phase 2: M-Pesa API (Daraja) + LND integration
  • Phase 3: Events, Hackathons, Travel, Crowdfunding modules

Contributing

  1. Fork the repo, then git clone your fork
  2. Follow Quick Start above to get it running locally
  3. Create a branch, make your change, and open a PR

Bug fixes, tests, and roadmap items above are all welcome β€” open an issue first for bigger changes.

πŸ“ˆ Build Log

Stage Shipped Skills
Foundations Go modules, Docker, multi-schema Postgres Tooling, schema design
Money Rails Lightning wallet + M-Pesa STK, BTC price tracking LND REST, Redis, workers
Growth Features Auto-save, bills, net worth, investing, planner Service layers, ledger math
Engagement AI coach, companion, notifications, hackathon mode Pipelines, rapid iteration
Now Lightning addresses, treasury pool, admin dashboards LNURL-pay, double-entry, RBAC

πŸ”₯ Still showing up, every day

streak

πŸ›£οΈ Next Up

  • πŸ”Œ Real LND node (currently mock-Lightning for dev)
  • πŸ§ͺ Test coverage for internal/wallet & internal/treasury
  • πŸ“‘ Public Lightning address service (*@altradits.com)
  • 🀝 Sats to cash agent network with women-led businesses near me

πŸ“‘ Open Channels

Hiring, or building something with Go + Lightning rails? Let's talk.

LinkedIn Email WhatsApp GitHub


activity footer wave

Popular repositories Loading

  1. altradits altradits Public

    Mastering the Go Programming Language through Socratic AI mentorship. Powered by secure E2B sandboxes.

    HTML

  2. learn learn Public

    Go

  3. vig-platform vig-platform Public

    Go

  4. playGo playGo Public

    Lets play Go code and win against time and teams

    HTML

  5. chouMi chouMi Public

    Practice from ChouMi Mentor daily challenges

  6. bursaryhub bursaryhub Public

    Go