Inspiration
CFOs are putting real treasury capital on-chain, but most crypto dashboards still show balances and charts — not risk. We wanted the language treasury teams already trust (concentration, drawdown, peer percentiles, counterparty exposure) grounded in Emergence CRAFT’s CRYPTO dataset, not marketing fluff.
What it does
TreasuryLens runs a population (or wallet-list) scan against CRAFT CRYPTO and returns a structured risk report with charts and SQL:
Concentration — how much of scanned value sits in the largest wallets Chain Diversification — how activity is spread across Bitcoin, Ethereum, and sibling schemas Liquidity / dormancy — how recently hot wallets moved funds Peer percentile — whether that concentration is worse than most peers in the cohort Max drawdown — largest peak-to-trough decline on a cumulative net-flow path (portfolio-style stress) Counterparty concentration — relationship risk: who you transact with, not just what you hold Nebius Nemotron turns the query results into CFO-facing findings, ratings, summary, and recommendations (with numeric cross-checks so figures stay honest).
How we built it
Data plane: CRAFT MCP (generate_sql → execute_query → charts) on the CRYPTO connection (~158M rows, 7 chain schemas) Reasoning: Nebius Token Factory model nvidia/nemotron-3-super-120b-a12b for JSON risk synthesis App: FastAPI backend + React/Vite/Plotly frontend Demo reliability: live Craft query results cached so the UI stays honest when headless tokens or MCP timeouts block a fresh scan Extra lenses: window functions for drawdown, cohort/PERCENT_RANK for peer framing, counterparty aggregation for relationship risk
Challenges we ran into
Cursor OAuth for MCP ≠ a FastAPI CRAFT_ACCESS_TOKEN, so headless live queries needed a separate token path Craft MCP intermittent timeouts on heavy ETH scans (drawdown / full-population percentile) Keeping Snowflake-scale queries demo-fast (LIMIT, aggregates, top-N cohorts) without inventing USD prices the dataset doesn’t have Preventing LLM hallucination of metrics — we cross-check synthesized numbers against actual SQL rows
Accomplishments we're proud of
Six risk lenses with clear “about this data / how to use it” guidance for non-crypto CFOs Live Craft-backed concentration (~19% top ETC wallet), chain mix (~90% Ethereum activity), and liquidity dormancy in the demo path Peer-relative framing (“worse than 90% of the scanned cohort”) that sounds like a real risk memo End-to-end product: scan → SQL → charts → Nemotron report → stacked UI
What we learned
Schema recon first beats guessing at 30GB / 158M-row scale Relative risk beats absolute stats for executive storytelling Rate limits and artifact pagination matter as much as prompt quality on CRAFT Honest limitations (native units, snapshot age, cohort vs full population) build more trust than overclaiming
What's next
Live Craft fill for full-population PERCENT_RANK and max drawdown window series True top-counterparty volume share (replace the density proxy) Transaction velocity (7d/30d rolling averages + trend) as an early-warning drain signal Coin-age / HODL buckets for finer operational liquidity risk Stablecoin vs volatile mix if labeled token/contract tables are available Optional USD valuation when a reliable price column or feed exists
Built With
- analytics
- blockchain
- craft
- crypto
- fastapi
- mcp
- nebius
- nemotron
- plotly
- pydantic
- react
- risk
- snowflake
- text2sql
- vite
Log in or sign up for Devpost to join the conversation.