Overview
Fragarach is a modular OSINT framework designed for blockchain investigations and forensics, implemented in Rust. The framework provides a comprehensive suite of tools for building and analyzing blockchain intelligence data lakes.
Features & Integrations
Current Integrations
-
Transpose API
- Ethereum blockchain data retrieval
-
URLScan API
- Domain scanning with private visibility
- Screenshot capture
- DOM snapshot storage
Supported Networks
- Ethereum
- Account analysis
- Bitcoin (Under Development)
- Solana (Planned)
Installation & Setup
Prerequisites
-
Rust Installation
| -
Database Requirements
- SQLite (default)
- PostgreSQL (optional)
Installation Methods
-
Via Cargo
-
From Source
Usage
Configuration
-
Environment Setup
This will create a
config.jsonand.envfile with:SAVE_AS_SQLITE: SQLite storage toggle (default: true)SAVE_AS_POSTGRES: PostgreSQL storage toggle (default: false)TRANSPOSE_API_KEY: Transpose API authenticationURLSCAN_API_KEY: URLScan API authenticationPOSTGRES_URL: PostgreSQL connection string (if enabled)
-
Database Configuration
- SQLite: Automatically creates
data/sqlite/fragarach.db - PostgreSQL: Requires valid connection string in
.env
- SQLite: Automatically creates
Dependencies
Core dependencies:
tokio: Async runtime and utilitiessqlx: Database operationsreqwest: HTTP clientserde: Serialization/deserializationclap: CLI argument parsingdotenv: Environment variable management
UI dependencies:
colored: Terminal coloringdialoguer: Interactive promptsconsole: Terminal utilities
Core Components
Storage Layer
Supports dual database architecture:
-
SQLite: Local storage implementation with:
- Data persistence
- Record updates
- Batch operations
-
PostgreSQL: Xata Cloud storage implementation featuring:
- Schema initialization
- Data persistence
- Upsert operations
Schema Design
Common tables across both database systems:
-
ethereum_accounts- Primary account information
- Creation timestamps
- Activity tracking
- Account typing
-
ethereum_transactions- Transaction details
- Gas metrics
- Fee calculations
- Internal transaction tracking
-
urlscan_domain_data- Domain scan results
- Verdict analysis
- Screenshot references
- Geographical data
-
urlscan_dom_snapshot- DOM state storage
- Temporal tracking
- UUID referencing
Contributing
Development Setup
-
Fork & Clone
-
Build
-
Environment Configuration
# Edit .env with your API keys
License
This project is licensed under the MIT License - see the LICENSE file for details.