m.moddie / dev
← All projects
Project / 04

VolGen

An invitation-only product for automating cryptocurrency operations on Base.

Python · Web3 · Automation
VolGen

Campaigns → Wallets → Funding → Swaps → Ledger

FastAPI / Web3.py / PostgreSQL / ARQ / Next.js
Role

Backend / Web3 Engineer

Period / format

09.2025 — 01.2026

Status

Commercial Project

My contribution

  • Developed the transactional core on Base: smart contract interactions via Web3.py, DEX swaps on Aerodrome, and Binance API integrations.
  • Engineered a resilient transaction manager with nonce tracking, dynamic gas repricing, and idempotency guarantees.
  • Persisted pipeline execution states in PostgreSQL, enabling zero-loss recovery of pending transactions across worker restarts.

Python, FastAPI, Web3.py, EVM, Base, PostgreSQL, Redis, ARQ, Docker

01 / About the project

About the project

An invitation-only product for automating cryptocurrency operations on Base.

02 / Product screens

Operator dashboard

The administration interface brings campaigns, wallet state, lead discovery, accounting and operational evidence into one workspace.

Admin dashboard

6 screens · 1920 × 1080

Captured from the real Next.js dashboard with representative local mock data. Backend services, PostgreSQL and workers were not required for the capture.

03 / Case study

A complete operations platform for Base campaigns

VolGen is an operator-managed platform for creating campaigns, deriving wallets, funding them and executing Aerodrome swaps on Base. It combines durable financial and job state, external exchange workflows, an administration dashboard and a production operations stack.

Product scope

01

Campaigns, derived wallets and controlled demo accounts

02

Aerodrome pool prediction, routing and swap execution

03

Binance funding, conversion and withdrawal workflows

04

Lead discovery, reports, CSV exports and Telegram notifications

05

Audit logs, system logs, metrics, alerts and encrypted backups

Engineering decisions

01

PostgreSQL owns durable truth

Campaigns, jobs, ledger entries and EVM transaction identities are committed before external side effects. Redis only transports commands and coordinates short-lived locks.

02

Recoverable background work

The API creates durable records, the scheduler dispatches due work, and execution workers claim and persist results. Lost messages can be redispatched; duplicates are rejected by job state.

03

Thin HTTP boundary

FastAPI routes handle authorization and protocol mapping. Services own business transitions; repositories own SQLAlchemy queries; Dishka provides an already-open Unit of Work.

04

Validated dashboard contracts

The Next.js dashboard uses an httpOnly access cookie and its own API proxy. Zod schemas validate backend responses, while OpenAPI contract tests keep both sides aligned.

Runtime components

Separately restartable processes around one durable state authority.

APPLICATION RUNTIME
01

Next.js

Admin UI and API proxy

02

FastAPI

Auth, campaigns and planning

03

PostgreSQL

Jobs, ledger and audit

04

ARQ Scheduler

Due-job dispatch and reconciliation

05

Execution Worker

Swaps and wallet operations

06

Redis

Queues, leases and locks

Project structure

A monorepo with explicit application and operations boundaries.

VOLGEN / MONOREPO
VOLGEN / MONOREPO
apps/product applications
backend/FastAPI application and asynchronous execution
src/main.pyapplication factory · routers · Dishka container
src/core/shared application infrastructure
config.pytyped environment configuration
database/async engine · models · repositories · Unit of Work
security.pyJWT · password and access primitives
redis.pypool · transient coordination
job_queues.pyARQ queue names and dispatch contracts
providers.pyapplication-scoped Dishka dependencies
src/blockchain/Base network and DEX integration
accounts.pydeterministic EVM wallet derivation
clients/evm.pyRPC balances · broadcast · receipts
dex/aerodrome.pypool prediction · routes · swap calldata
prices.pyETH/USD quote access and freshness rules
src/modules/business capabilities with explicit boundaries
campaigns/campaign lifecycle · pricing · planning
wallets/derived wallets · balances · native gas
accounting/ledger transactions and balanced entries
evm_transactions/durable nonce · signed payload · receipt state
swap_jobs/ + swap_logs/durable execution queue and swap history
deposits/ + withdrawals/Binance funding and payout workflows
wallet_operations/batch wallet commands and progress
warmups/wallet warmup profiles and jobs
exchanges/ + proxies/encrypted operator-managed credentials
lead_finder/DexScreener discovery and enrichment
users/accounts · invites · temporary and demo access
audit_logs/ + logs/business audit and Loki-backed system logs
notifications/Telegram delivery and templates
src/presentation/api/routes/thin HTTP and authorization boundary
src/worker/separately running ARQ processes
main_worker.pyexecution worker entrypoint
orchestrator/scheduler · selection · reconciliation
tasks/swap · deposit · withdrawal · warmup · wallet tasks
locks.py + job_retry.pycoordination and retry policy
tests/unit · architecture · PostgreSQL integration tests
dashboard/Next.js operator and client interface
app/dashboard/campaigns · wallets · ledger · leads · users · logs
app/api/[...path]/authenticated browser-to-backend proxy
components/admin/operational forms, panels and data tables
entities/Zod contracts for backend responses
lib/typed API clients · plans · formatting · polling
tests/contract, hydration and business-format tests
infra/deployment and production operations
docker/local · staging · production Compose topologies
monitoring/Prometheus · Grafana · Loki · Alertmanager · Promtail
traefik/HTTPS edge and protected /ops routes
backup/encrypted PostgreSQL backup and restore drill
postgres/container entrypoint helpers
homepage/internal operations portal configuration
docs/architecture · backend · database · workers · runbooks
scripts/alembic.shmigration command wrapper
Makefilelocal · dev · stack · ops command surface
.gitlab-ci.ymlbackend · dashboard · Compose delivery gates
Production delivery

The repository contains local, staging and production Compose topologies. Traefik terminates HTTPS; Prometheus, Grafana, Loki, Alertmanager and Promtail provide operational evidence; CloudBeaver exposes protected database access; encrypted backups support offsite upload and restore drills. GitLab CI gates backend quality and integration, dashboard quality and build, and Compose validation.

07 / System architecture

System architecture

Original project documentation in Russian

Open interactive diagram ↗