
UpdatedAug 7, 2026
Argos — Updated!
Analysis and Representation of Graphs of Suspicious Operations (Analyse et Représentation des Graphes des Opérations Suspectes)
Argos — Blockchain Asset Tracing Platform
Argos is a multi-language blockchain investigation platform for tracing, analyzing, and visualizing fund flows on Ethereum and Bitcoin. Built with Rust, OCaml, and TypeScript/React.
Architecture
+-----------------------+
| Frontend (React 19) |
| Vite + Tailwind CSS |
+-----------+-----------+
| HTTP/REST
+-----------v-----------+
| REST API (Rust) |
| Axum — port 8990 |
| |
| in-process OCaml FFI |
| (ocaml-interop): |
| database_ffi.so — |
| tracing + full decode|
+-----------+-----------+
|
+-----------------------v----------------------+
| PostgreSQL (11 DBs) |
| Redis |
+----------------------------------------------+
+------------------+ +------------------+
| Ethereum node | | Bitcoin node |
+--------+---------+ +--------+---------+
| |
+--------v----------+ +--------v----------+
| Rust indexers x2 | | Rust indexers x2 |
| (psql x | | (psql x |
| latest/hist) | | latest/hist) |
| | | |
| in-process OCaml | | in-process OCaml |
| FFI: analyses_ffi | | FFI: analyses_ffi |
| .so (decode + | | .so (decode + |
| defi_analyses) | | defi_analyses) |
+-------------------+ +-------------------+
Decode, DeFi analyses, and tracing run in-process inside the Rust binaries via a direct
Rust↔OCaml FFI (ocaml-interop) — there are no separate microservices and no gRPC ports.
Quick Start
See Getting Started for full setup instructions.
git clone [email protected]:functori/argos/argos.git
cd argos
cp argos.secret.env.example argos.secret.env # Fill in secrets
set -o allexport && . ./argos.env && . ./argos.secret.env && set +o allexport
make install-deps
make create-tablespaces
make migrate-databases
make build
Documentation
| Document | Description |
|---|---|
| Getting Started | Prerequisites, installation, first run |
| Architecture | System topology and data flows |
| REST API | API endpoints and authentication |
| Indexers | Blockchain indexer binaries |
| Database | Database schemas and partitioning |
| Deployment | Docker, services, logs, monitoring |
| Docker | Per-service Docker images, build recipes, runtime configuration |
| Environment | Environment variables reference |
| Tracing | Fund-flow tracing algorithm |
| Decode and Analysis | Decode and analysis (in-process OCaml FFI) |
| OSINT | OSINT data sources and ingestion |
| Analysis Algorithms | DeFi analysis (arbitrage, sandwich, etc.) |
| Clustering | Address clustering and classification pipeline |
| Decode Component | ABI decoding |
| Frontend | React application |
Development
- Git Workflow — Project planning, commits, MRs, reviews
- Code Guidelines — Style and quality standards
- Source Organization — Where code goes
Build
make install-deps # Install all dependencies (OCaml, Rust, Node, Python)
make build # Build backend (Rust + OCaml)
make build-front # Build frontend
make create-tablespaces # Create PostgreSQL tablespace directories
make migrate-databases # Create databases and run migrations
make run-tests # Run tests
make lint-backend # Lint backend (clippy, ocamlformat)
make lint-frontend # Lint frontend (eslint)
make format # Auto-format all code
License
Proprietary — Functori