hodlmm-flow/SKILL.md
Swap flow intelligence for Bitflow HODLMM — analyzes on-chain swap transactions to compute direction bias, flow toxicity, bin velocity, whale concentration, and bot/organic classification for LP decision-making.
npx skillsauth add aibtcdev/skills hodlmm-flowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Swap flow intelligence for Bitflow HODLMM concentrated liquidity pools.
Every other HODLMM tool looks at pool state — TVL, bin distribution, positions. This one looks at swap flow: what's actually trading, in what direction, by whom, and what it means for LPs.
Fetches on-chain swap transactions from Hiro API, parses DLMM core contract events to extract per-bin-hop volumes, and computes six market microstructure metrics: direction bias, flow toxicity, bin velocity, whale concentration, liquidation pressure, and bot/organic classification. Produces an LP safety verdict with a predicted range lifespan.
Concentrated liquidity LPs face adverse selection — informed traders extract value from stale positions. Without flow analysis, an agent choosing range parameters is flying blind. This skill gives agents the data to:
--hiro-api-key) is recommended for analyzing more than 100 swaps to avoid rate limitsChecks connectivity to Hiro API (transactions, events) and Bitflow APIs (quotes, app). Verifies the full data pipeline is accessible.
bun run hodlmm-flow/hodlmm-flow.ts doctor
No-op subcommand for registry compatibility. This skill has no additional packs to install.
bun run hodlmm-flow/hodlmm-flow.ts install-packs
Analyze swap flow for a single pool. Default: last 100 swaps.
bun run hodlmm-flow/hodlmm-flow.ts flow --pool-id dlmm_3
Time-windowed analysis. Analyzes swaps within the specified duration.
bun run hodlmm-flow/hodlmm-flow.ts flow --pool-id dlmm_3 --window 24h
Protocol-wide flow summary across all 8 HODLMM pools (dlmm_1 through dlmm_8).
bun run hodlmm-flow/hodlmm-flow.ts flow --all
Options:
--pool-id <id> — Pool to analyze (dlmm_1 through dlmm_8)--window <duration> — Time window (e.g. 24h, 7d, 30m)--swaps <count> — Number of swaps to analyze (default: 100)--all — Analyze all 8 HODLMM pools--hiro-api-key <key> — Hiro API key for elevated rate limitsAll outputs are JSON to stdout.
Success (single pool):
{
"status": "success",
"network": "mainnet",
"timestamp": "2026-04-09T20:00:00.000Z",
"poolId": "dlmm_3",
"pair": "STX/USDCx",
"swapsAnalyzed": 100,
"timeSpanHours": 4.2,
"metrics": {
"directionBias": -0.31,
"directionBiasLabel": "Moderate sell-X pressure",
"flowToxicity": 0.62,
"flowToxicityLabel": "Elevated — directional momentum present",
"binVelocity": 12.5,
"binVelocityLabel": "Moderate — normal volatility",
"whaleConcentration": 0.45,
"whaleConcentrationLabel": "Concentrated — few actors drive most volume",
"liquidationPressure": 0.02,
"liquidationPressureLabel": "Low — 1 liquidation(s), minimal impact",
"botFlowRatio": 0.72,
"botFlowRatioLabel": "Bot-heavy — majority of flow is automated"
},
"verdict": {
"lpSafety": "caution",
"score": 52,
"reasoning": "Strong directional pressure (selling X). Concentrated flow — few actors dominating volume.",
"recommendation": "Monitor flow direction. Consider asymmetric range if bias persists.",
"rangeLifespanHours": 0.8
},
"topActors": [
{ "address": "SP2V3J7G...", "swapCount": 45, "volumeShare": 82.1, "label": "bot" }
]
}
Error:
{ "error": "descriptive message" }
| Metric | Range | What it measures |
|---|---|---|
| Direction bias | [-1, +1] | Net buying vs selling pressure. -1 = all selling X, +1 = all buying X |
| Flow toxicity | [0, 1] | Consecutive same-direction ratio. >0.6 = informed flow adversely selecting LPs |
| Bin velocity | bins/hour | Active bin change rate. Predicts how fast positions go out of range |
| Whale concentration | [0, 1] | Herfindahl index on swap volume. >0.25 = concentrated, >0.5 = monopolistic |
| Liquidation pressure | [0, 1] | Volume fraction from Zest liquidate-with-swap transactions |
| Bot flow ratio | [0, 1] | Volume fraction from automated addresses (>10 swaps/hour or >30% of flow) |
Swap data is sourced from Hiro API (/extended/v1/address/{pool}/transactions + /extended/v1/tx/events). Each swap transaction's DLMM core contract logs are parsed to extract per-bin-hop amounts (dx, dy), active bin IDs, callers, and swap direction.
Bitflow does not currently expose swap history via their own API. This skill recommends they add a /trades or /swaps endpoint — they already have the data server-side. This would eliminate Hiro dependency and enable real-time flow monitoring.
--hiro-api-key for larger analysesswap-simple-multi function calls don't indicate direction in the function name — direction is resolved from contract eventsWinner of AIBTC x Bitflow Skills Pay the Bills competition. Original author: @ClankOS Competition PR: https://github.com/BitflowFinance/bff-skills/pull/257
development
Web of Trust operations for Nostr pubkeys — trust scoring, sybil detection, trust path analysis, neighbor discovery, follow recommendations, and network health. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges. Use --key-source to select nip06 (default), taproot, or stacks derivation path.
data-ai
BTC ordinals marketplace operations via Magic Eden — browse active listings, list inscriptions for sale via PSBT flow, submit signed listings, buy inscriptions, and cancel active listings. BTC ordinals only (not Solana). Mainnet-only.
testing
Pay-per-call access to LunarCrush social and market intelligence (Galaxy Score, AltRank, market cap rank, price, 24h change) via x402 on Stacks. USD-pegged pricing recomputed hourly from live STX/USD. Mainnet endpoint live; testnet supported.
devops
Detects HODLMM LP inventory drift (token-ratio imbalance from one-sided swap flow) and restores the target ratio via a corrective Bitflow swap plus a hodlmm-move-liquidity redeploy, gated by the 4h per-pool cooldown.