sbtc-yield-maximizer/SKILL.md
Routes idle sBTC to the highest safe live yield path and executes either capped Zest supply or a HODLMM rebalance when the winning route is safely executable.
npx skillsauth add aibtcdev/skills sbtc-yield-maximizerInstall 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.
Compares live Zest sBTC yield against current Bitflow sBTC HODLMM opportunity and routes idle sBTC to the highest safe path. This version executes a real Zest sBTC supply transaction when Zest is the winning route and executes the HODLMM leg by orchestrating hodlmm-move-liquidity via CLI when HODLMM is the winning safe executable route.
Agents should not deploy sBTC based on static assumptions. They need a real decision layer that checks current yield, stale pricing risk, HODLMM liquidity quality, and wallet reserves before capital moves. This skill turns that decision into a repeatable, guardrailed write flow.
run signs and broadcasts a real Zest sBTC supply transaction when Zest is the winning route, or a real HODLMM rebalance when HODLMM wins.AIBTC_WALLET_PASSWORD.--reserve-sats after the write path.--max-deploy-sats.--min-gas-reserve-ustx.PostConditionMode.Deny.--max-data-age-seconds or pools with price divergence above --max-price-divergence-pct are disqualified.--min-apy-diff-bps.--cooldown-hours has elapsed.--mempool-depth-limit.hodlmm-move-liquidity via CLI, keeps the wallet password in environment scope rather than subprocess CLI args, and respects the upstream per-pool cooldown/state.run refuses to execute unless --confirm=MAXIMIZE is provided.Checks wallet resolution, STX and sBTC balances, Zest vault reads, Bitflow pool reads, mempool depth, and whether the current configuration can execute the winning route safely.
bun run sbtc-yield-maximizer/sbtc-yield-maximizer.ts doctor
Lists the required runtime packages used by this skill.
bun run sbtc-yield-maximizer/sbtc-yield-maximizer.ts install-packs
Shows live balances, route candidates, route scores, Zest rate reads, the top HODLMM candidate, and the current winning route.
bun run sbtc-yield-maximizer/sbtc-yield-maximizer.ts status
Unlocks the wallet, re-checks the route decision, and executes the winning safe route:
hodlmm-move-liquidity when HODLMM wins and the current position is out of rangeAIBTC_WALLET_PASSWORD='your-password' bun run sbtc-yield-maximizer/sbtc-yield-maximizer.ts run --confirm=MAXIMIZE
Example tuned run:
AIBTC_WALLET_PASSWORD='your-password' HODLMM_MOVE_LIQUIDITY_CMD='bun run /path/to/hodlmm-move-liquidity.ts' bun run sbtc-yield-maximizer/sbtc-yield-maximizer.ts run --wallet-id=b4d575f8-0865-4d6f-b1d6-5627b645a03c --max-deploy-sats=10000 --reserve-sats=100 --min-gas-reserve-ustx=100000 --min-hodlmm-volume-usd=1000 --min-hodlmm-tvl-usd=1000 --max-price-divergence-pct=0.5 --min-apy-diff-bps=50 --max-data-age-seconds=30 --mempool-depth-limit=0 --confirm=MAXIMIZE
All outputs are JSON to stdout.
Success:
{
"status": "success",
"action": "Executed the highest safe yield route",
"data": {
"operation": "maximize-yield",
"txid": "0x...",
"explorerUrl": "https://explorer.hiro.so/txid/0x...?chain=mainnet"
},
"error": null
}
Blocked:
{
"status": "blocked",
"action": "Hold idle sBTC until a safe executable route is available",
"data": {},
"error": {
"code": "PREFLIGHT_BLOCKED",
"message": "No executable route passed the configured safety gates",
"next": "Re-run later or adjust thresholds with explicit operator approval"
}
}
Error:
{ "error": "descriptive message" }
hodlmm-move-liquidity by CLI rather than source imports. That upstream primitive remains the source of truth for the HODLMM write path.hodlmm-move-liquidity scan, which is a no-broadcast command. Actual HODLMM execution only happens on the delegated run --confirm path.v0-vault-sbtc source, which defines BPS u10000 and applies rate math in basis points.~/.aibtc/. This intentionally starts fresh on upgrade rather than migrating the previous shared ~/.sbtc-yield-maximizer-state.json cooldown file.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.