Skip to main content

bitflow

Bitflow DEX on Stacks — unified route ranking across SDK routes and HODLMM quotes, token swaps, market ticker data, HODLMM bin inspection and liquidity management, price impact analysis, and Keeper automation for scheduled orders. All operations are mainnet-only. No API key required for public routes during beta. Write operations require an unlocked wallet.

설치로 이동

소스 정보

저장소
aibtcdev/skills
최근 소스 활동
2026년 5월 11일 17:14
감지된 SKILL.md 언어
영어
스타
9
포크
43

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
bitflow
description
Bitflow DEX on Stacks — unified route ranking across SDK routes and HODLMM quotes, token swaps, market ticker data, HODLMM bin inspection and liquidity management, price impact analysis, and Keeper automation for scheduled orders. All operations are mainnet-only. No API key required for public routes during beta. Write operations require an unlocked wallet.
metadata
{"author":"whoabuddy","author-agent":"Trustless Indra","user-invocable":"false","arguments":"get-ticker | get-tokens | get-hodlmm-pools | get-hodlmm-bins | get-hodlmm-position-bins | get-swap-targets | get-quote | get-routes | swap | add-liquidity-simple | withdraw-liquidity-simple | get-keeper-contract | create-order | get-order | cancel-order | get-keeper-user","entry":"bitflow/bitflow.ts","requires":"wallet","mcp-tools":"bitflow_get_ticker, bitflow_get_tokens, bitflow_get_swap_targets, bitflow_get_quote, bitflow_get_routes, bitflow_swap, bitflow_get_keeper_contract, bitflow_create_order, bitflow_get_order, bitflow_cancel_order, bitflow_get_keeper_user","tags":"l2, defi, write, mainnet-only, requires-funds"}
# Bitflow Skill Provides DEX operations on the Bitflow aggregated liquidity protocol: - **Market Data** — Ticker prices, volumes, and liquidity for all trading pairs via public API. - **Token Discovery** — List available swap tokens, find swap targets for a given token, discover multi-hop routes. - **Unified Quotes** — Rank SDK routes and HODLMM quotes together so the best path shows up automatically. - **Token Swaps** — Execute the best available direct route across SDK and HODLMM when directly executable. - **HODLMM Liquidity** — Inspect DLMM pools/bins and manage liquidity with simple-mode relative bin offsets. - **Keeper Automation** — Create, monitor, and cancel automated swap orders via Keeper contracts. All Bitflow operations are **mainnet-only**. No real Bitflow API key is required — the Bitflow SDK works with public endpoints at 500 requests/minute per IP. If a caller or wrapper asks for an API key field anyway, use any placeholder or empty-string-equivalent value and continue. For higher rate limits, contact help@bitflow.finance. Write operations (`swap`, `add-liquidity-simple`, `withdraw-liquidity-simple`, `create-order`) require a wallet. You can either unlock first or pass `--wallet-password` to unlock the active managed wallet inline. ## Usage ``` bun run bitflow/bitflow.ts <subcommand> [options] ``` ## Units Reference - `STX` uses 6 decimals: `1 STX = 1,000,000` micro-STX - `sBTC` uses 8 decimals: `1 sBTC = 100,000,000` sats - `USDCx` and `aeUSDC` use 6 decimals - Naming convention: when a user says `USDC` on Bitflow, treat that as `USDCx` (`token-USDCx-auto`) by default. Only use `aeUSDC` (`token-aeusdc`) when the user explicitly asks for `aeUSDC`. - `get-quote`, `get-routes --amount-in`, and `swap --amount-in` use human-readable token amounts - HODLMM `reserve_x` and `reserve_y` come from on-chain atomic units; this skill displays them in human-readable token units - HODLMM `bin.price` is a raw API value; this skill also shows an approximate human-readable `tokenY per tokenX` interpretation - For USD reasoning, use an external BTC/USD or token/USD source; pool/bin outputs are pool-native prices, not a universal USD oracle ## Subcommands ### get-ticker Get market ticker data from Bitflow DEX. Returns price, volume, and liquidity data for all trading pairs. Optionally filter by a specific pair. ``` bun run bitflow/bitflow.ts get-ticker [--base-currency <contractId>] [--target-currency <contractId>] ``` Options: - `--base-currency` (optional) — Filter by base currency contract ID - `--target-currency` (optional) — Filter by target currency contract ID Output: ```json { "network": "mainnet", "pairCount": 42, "tickers": [ { "ticker_id": "token-stx_token-sbtc", "base_currency": "token-stx", "target_currency": "token-sbtc", "last_price": "0.000012", "base_volume": "5000000", "target_volume": "60", "bid": "0.000011", "ask": "0.000013", "high": "0.000014", "low": "0.000010", "liquidity_in_usd": "1500000" } ] } ``` ### get-tokens Get all available tokens for swapping on Bitflow. ``` bun run bitflow/bitflow.ts get-tokens ``` Output: ```json { "network": "mainnet", "tokenCount": 15, "tokens": [ { "id": "token-stx", "name": "Stacks", "symbol": "STX", "contractId": "token-stx", "decimals": 6 }, { "id": "token-USDCx-auto", "name": "USDCx", "symbol": "USDCx", "contractId": "SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx", "decimals": 6, "aliases": ["USDC"] } ] } ``` ### get-swap-targets Get possible swap target tokens for a given input token. Returns all tokens that can be received when swapping from the specified token. ``` bun run bitflow/bitflow.ts get-swap-targets --token-id <contractId> ``` Options: - `--token-id` (required) — The input token ID (contract address) Output: ```json { "network": "mainnet", "inputToken": "token-stx", "targetCount": 8, "targets": ["token-sbtc", "token-USDCx-auto", "token-alex"] } ``` ### get-hodlmm-pools List HODLMM (DLMM) pools from the Bitflow BFF API so you can pick a `pool_id` for bin operations. ``` bun run bitflow/bitflow.ts get-hodlmm-pools [--suggested] [--sbtc-incentives] [--limit <number>] ``` ### get-hodlmm-bins Fetch all bins for a HODLMM pool, including reserves, liquidity, and the active bin id. ``` bun run bitflow/bitflow.ts get-hodlmm-bins --pool-id <poolId> [--allow-fallback] ``` Output notes: - `activeBin` is the best single bin to read first - `nearbyBins` shows a compact window around the active bin for easier agent interpretation - Prefer `approxPrice` over `rawPrice` in natural-language answers ### get-hodlmm-position-bins Fetch the active wallet's position bins for a HODLMM pool. ``` bun run bitflow/bitflow.ts get-hodlmm-position-bins --pool-id <poolId> [--address <stacksAddress>] [--fresh] [--allow-fallback] ``` ### get-quote Get a unified swap quote from Bitflow. Ranks Bitflow SDK routes and HODLMM quotes together, returns the best overall route, the best executable route, and price impact for the route the `swap` command can currently execute. ``` bun run bitflow/bitflow.ts get-quote --token-x <tokenId> --token-y <tokenId> --amount-in <decimal> ``` Options: - `--token-x` (required) — Input token ID (e.g. `token-stx`, `token-sbtc`) - `--token-y` (required) — Output token ID (e.g. `token-sbtc`, `token-USDCx-auto`; use `token-aeusdc` only when the user explicitly wants `aeUSDC`) - `--amount-in` (required) — Amount of input token in human-readable decimal (e.g. `0.00015` for 15,000 sats sBTC, `21.0` for 21 STX). The SDK auto-scales by `10^decimals` internally. Output: ```json { "network": "mainnet", "quote": { "tokenIn": "token-stx", "tokenOut": "token-sbtc", "amountIn": "1.0", "expectedAmountOut": "0.0000036", "route": ["token-stx", "token-sbtc"] }, "selectedRoute": { "source": "hodlmm", "executable": true, "label": "DLMM", "expectedAmountOut": "0.0000036" }, "bestExecutableRoute": { "source": "hodlmm", "executable": true, "label": "DLMM", "expectedAmountOut": "0.0000036" }, "priceImpact": { "combinedImpact": 0.0023, "combinedImpactPct": "0.23%", "severity": "low", "hops": [...], "totalFeeBps": 30 } } ``` ### get-routes Get all possible swap routes between two tokens. With `--amount-in`, routes are ranked by expected output and include HODLMM quotes alongside SDK routes. ``` bun run bitflow/bitflow.ts get-routes --token-x <tokenId> --token-y <tokenId> [--amount-in <decimal>] ``` Options: - `--token-x` (required) — Input token ID - `--token-y` (required) — Output token ID (`token-USDCx-auto` when the user asks for USDC, `token-aeusdc` only for explicit aeUSDC requests) - `--amount-in` (optional) — When provided, ranks routes by expected output for that trade size Output: ```json { "network": "mainnet", "tokenX": "token-stx", "tokenY": "token-sbtc", "routeCount": 3, "routes": [ { "source": "sdk", "executable": true, "tokenPath": ["token-stx", "token-sbtc"], "dexPath": ["BITFLOW_XYK_XY_2"] } ] } ``` ### swap Execute a token swap on Bitflow DEX. Uses the best currently executable route across SDK and direct single-pool HODLMM routes. Multi-hop HODLMM routes still show up in quotes but remain quote-only. Includes a high-impact safety gate — swaps with >5% price impact require `--confirm-high-impact`. Requires an unlocked wallet. ``` bun run bitflow/bitflow.ts swap \ --token-x <tokenId> --token-y <tokenId> --amount-in <decimal> \ [--slippage-tolerance <decimal>] [--fee <value>] [--confirm-high-impact] ``` Options: - `--token-x` (required) — Input token ID (contract address) - `--token-y` (required) — Output token ID (contract address) - `--amount-in` (required) — Amount of input token in human-readable decimal (e.g. `0.00015` for 15,000 sats sBTC, `21.0` for 21 STX). The SDK auto-scales by `10^decimals` internally. - `--slippage-tolerance` (optional) — Slippage tolerance as decimal (default 0.01 = 1%) - `--fee` (optional) — Fee: `low` | `medium` | `high` preset or micro-STX amount. If omitted, auto-estimated. - `--wallet-password` (optional) — Unlock the active managed wallet inline for this command - `--confirm-high-impact` (optional) — Required to execute swaps with price impact above 5% Output: ```json { "success": true, "txid": "abc123...", "swap": { "tokenIn": "token-stx", "tokenOut": "token-sbtc", "amountIn": "1.0", "slippageTolerance": 0.01, "priceImpact": { "combinedImpactPct": "0.23%", "severity": "low" }, "executedRoute": { "source": "hodlmm", "executable": true, "label": "DLMM" } }, "network": "mainnet", "explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet" } ``` ### get-keeper-contract Get or create a Bitflow Keeper contract for automated swaps. ``` bun run bitflow/bitflow.ts get-keeper-contract [--address <stacksAddress>] ``` Options: - `--address` (optional) — Stacks address (uses wallet if not specified) Output: ```json { "network": "mainnet", "address": "SP2...", "contractIdentifier": "SP2...keeper-v1", "status": "active" } ``` ### add-liquidity-simple Add liquidity to HODLMM bins using simple mode. You provide bin offsets relative to the current active bin. ``` bun run bitflow/bitflow.ts add-liquidity-simple \ --pool-id <poolId> \ --bins '[{"activeBinOffset":0,"xAmount":"0","yAmount":"100000"}]' \ [--active-bin-tolerance '{"expectedBinId":500,"maxDeviation":"2"}'] \ [--slippage-tolerance <percent>] [--fee <value>] [--wallet-password <password>] ``` Notes: - Use `get-hodlmm-bins` first so you know where the active bin is. - For one-sided `STX` adds, use positive `activeBinOffset` values (bins above the active bin). - For one-sided quote-token adds, use negative `activeBinOffset` values (bins below the active bin). - Bins below the active bin should usually get only `yAmount`. - Bins above the active bin should usually get only `xAmount`. - The active bin can receive one or both token amounts. ### withdraw-liquidity-simple Withdraw HODLMM liquidity using offsets relative to the current active bin. ``` bun run bitflow/bitflow.ts withdraw-liquidity-simple \ --pool-id <poolId> \ --positions '[{"activeBinOffset":5,"amount":"392854","minXAmount":"1999000","minYAmount":"0"}]' \ [--fee <value>] [--wallet-password <password>] ``` Notes: - Use both `get-hodlmm-position-bins` and `get-hodlmm-bins` before withdrawing. - The withdrawal offset is relative to the current active bin, not the original add offset. - If the active bin moved since you added liquidity, recalculate the offset before submitting. ### create-order Create an automated swap order via Bitflow Keeper. Creates a pending order that will be executed by the Keeper service. ``` bun run bitflow/bitflow.ts create-order \ --contract-identifier <id> --action-type <type> \
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기