Blockchain · Forensics
AlgoMap
A blockchain investigation platform for tracing money flows, mapping wallet relationships, and investigating suspicious activity on Algorand.
- Role
- Builder
- Type
- Independent product
- Status
- Live
- Stack
- NestJS · Vue · PostgreSQL · Algorand
1 · The problem
Block explorers show data; investigators need answers. Tracing funds across hops, spotting counterparty clusters, and separating noise from suspicious flow is slow, manual work on Algorand.
2 · My responsibility
Product direction, backend API design, graph traversal logic, data normalization from on-chain sources, and the deployed web experience (NestJS + Prisma, Vue + cytoscape).
3 · The architecture
Indexer ingestion normalizes transactions into Postgres; a NestJS API serves trace queries and risk views; a Vue/cytoscape frontend renders wallet graphs. Supabase Postgres backs both app data and cached chain state.
4 · Key engineering decisions
Graph-first modeling over flat transaction lists; cached multi-hop traversal with depth limits to keep queries fast; risk scoring kept explainable (heuristics + labels) rather than a black-box ML claim.
5 · The hardest problem
Multi-hop tracing explodes combinatorially. Solved with bounded breadth-first traversal, per-hop caps, and caching intermediate subgraphs — fast enough for interactive investigation without losing the important paths.
6 · What I would improve
Add streaming ingestion for near-real-time tracing and a public read-only API so external agents and researchers can query traces programmatically.