{"id":29459950,"url":"https://github.com/saranshkr/langchain-bitcoin-analytics","last_synced_at":"2026-04-06T09:33:25.074Z","repository":{"id":297500293,"uuid":"995016703","full_name":"saranshkr/langchain-bitcoin-analytics","owner":"saranshkr","description":"An end-to-end real-time Bitcoin analytics pipeline that visualizes price trends and graph-based wallet transactions using Neo4j and Streamlit. Includes natural language Q\u0026A powered by LangChain and Mistral via Ollama, enabling editable Cypher query generation with explanations.","archived":false,"fork":false,"pushed_at":"2025-06-30T23:18:37.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-12T00:43:57.212Z","etag":null,"topics":["bitcoin","cypher","data-pipeline","graph-analytics","langchain","neo4j","nlp","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saranshkr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-02T20:52:26.000Z","updated_at":"2025-09-10T07:00:18.000Z","dependencies_parsed_at":"2025-10-12T00:42:44.255Z","dependency_job_id":"e97cdcc2-d41d-4c8e-9f05-f1af47eb9e9d","html_url":"https://github.com/saranshkr/langchain-bitcoin-analytics","commit_stats":null,"previous_names":["saranshkr/langchain-bitcoin-analytics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saranshkr/langchain-bitcoin-analytics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saranshkr%2Flangchain-bitcoin-analytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saranshkr%2Flangchain-bitcoin-analytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saranshkr%2Flangchain-bitcoin-analytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saranshkr%2Flangchain-bitcoin-analytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saranshkr","download_url":"https://codeload.github.com/saranshkr/langchain-bitcoin-analytics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saranshkr%2Flangchain-bitcoin-analytics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31466629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","cypher","data-pipeline","graph-analytics","langchain","neo4j","nlp","streamlit"],"created_at":"2025-07-14T02:01:06.657Z","updated_at":"2026-04-06T09:33:25.056Z","avatar_url":"https://github.com/saranshkr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📊 Real-time Bitcoin Analytics with LangChain \u0026 Neo4j\n\nA real-time dashboard for exploring Bitcoin transaction data using Neo4j, LangChain (LLM-powered Q\u0026A), and Streamlit. Supports natural language query generation, graph visualization, wallet activity stats, and price/volume trends.\n\n\u003cbr\u003e\n\n## 🧩 Features\n\n- **Real-time ingestion** of Bitcoin transactions\n- **Cypher query generation** from natural language using LangChain + Mistral\n- **Interactive wallet graph** (Pyvis)\n- **Statistical summaries** (daily tx counts, top wallets, 24h stats)\n- **Price chart** with 5-point moving average \u0026 24h volume bars\n- **Q\u0026A mode** for explainable query interaction\n- **Auto-refresh support** per tab\n- **Custom ingestion pipeline** (fetch, push, simulate)\n\n\u003cbr\u003e\n\n## 📁 Project Structure\n\n```\n.\n├── README.md\n├── analysis\n│   ├── graph_pyvis.py             # Generates wallet graph from Neo4j\n│   ├── langchain_qa.py            # Natural language to Cypher query\n│   ├── langchain_summary.py       # Summary generator using LangChain\n│   └── price_chart.py             # BTC price/volume chart\n├── app.py                         # Streamlit dashboard entry point\n├── ingest\n│   ├── fetch_transactions.py      # Get BTC data from external API\n│   ├── push_to_neo4j.py           # Push new transactions to Neo4j\n│   ├── run_pipeline.py            # Runs fetch + push + simulation as threads\n│   └── simulate_wallets.py        # Adds Wallet nodes \u0026 edges to txns\n├── requirements.txt\n├── run.sh                         # Shell script to regenerate data + launch dashboard\n├── todo.txt\n├── ui\n│   ├── tabs\n│   │   ├── price_chart.py\n│   │   ├── query_explorer.py\n│   │   ├── stats_tab.py\n│   │   ├── summary_tab.py\n│   │   └── wallet_graph.py\n│   └── utils\n│       ├── autorefresh.py         # Utility for per-tab auto-refresh\n│       └── helpers.py             # Shared Neo4j query helpers\n└── utils\n    └── cleanup.py                 # Optional cleanup script\n```\n\n\u003cbr\u003e\n\n## 🚀 Setup Instructions\n\n### 1. Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\nEnsure you have [Ollama](https://ollama.com/) running with the `mistral` model for local LLM inference.\n\n### 2. Create your `.env` file:\n\n```bash\nNEO4J_URI=bolt://localhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=your_password\n```\n\n\u003cbr\u003e\n\n## 📌 Example Workflow\n\n### Start the ingestion pipeline\n\n```bash\npython ingest/run_pipeline.py\n```\n\nUse Ctrl+C to stop the pipeline\n\n### Run the regeneration scripts (optional) and launch dashboard\n\n```bash\nbash run.sh [--regen]\n```\n\n\u003cbr\u003e\n\n## 💬 Example Questions\n\n- Who received the highest transaction volume this week?\n- Show wallets that sent transactions yesterday\n- What are total transactions in the last 24 hours?\n- Top 5 receivers this month?\n\n\u003cbr\u003e\n\n## 🧠 Powered by\n\n- [Neo4j](https://neo4j.com/) for graph storage\n- [LangChain](https://github.com/langchain-ai/langchain) + [Ollama](https://ollama.com/) for local LLM reasoning\n- [Streamlit](https://streamlit.io/) for interactive UI\n\n\u003cbr\u003e\n\n## 🧠 Author\n\n**Saransh Kumar**  \n🔗 [linkedin.com/in/saransh-kr](https://linkedin.com/in/saransh-kr)  \n🔗 [github.com/saranshkr](https://github.com/saranshkr)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaranshkr%2Flangchain-bitcoin-analytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaranshkr%2Flangchain-bitcoin-analytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaranshkr%2Flangchain-bitcoin-analytics/lists"}