dual-stacking/SKILL.md
Dual Stacking enrollment operations on Stacks — earn BTC-denominated rewards (paid in sBTC) by holding sBTC. Check enrollment status and APR data, enroll with a single contract call (no lockup, minimum 10,000 sats sBTC), opt out, and query earned rewards by cycle. Write operations require an unlocked wallet.
npx skillsauth add aibtcdev/skills dual-stackingInstall 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.
Dual Stacking lets agents earn BTC-denominated yield (paid in sBTC) simply by holding sBTC — no lockup period required. Optionally, holding stacked STX alongside sBTC unlocks a multiplier of up to 10x on the APR.
Contract: SP1HFCRKEJ8BYW4D0E3FAWHFDX8A25PPAA83HWWZ9.dual-stacking-v2_0_4
APR:
Minimum enrollment: 10,000 sats sBTC (0.0001 sBTC)
bun run dual-stacking/dual-stacking.ts <subcommand> [options]
Check enrollment status, APR data, minimum enrollment amount, and current cycle overview for an address.
bun run dual-stacking/dual-stacking.ts check-status [--address <STX_ADDRESS>]
Options:
--address (optional) — Stacks address to check (uses active wallet if omitted)Output:
{
"address": "SP2...",
"network": "mainnet",
"enrolledThisCycle": true,
"enrolledNextCycle": true,
"minimumEnrollmentSats": 10000,
"apr": {
"minApr": 0.5,
"maxApr": 5,
"unit": "%",
"note": "Multiplier up to 10x with stacked STX via PoX"
},
"cycleOverview": {
"currentCycleId": 100,
"snapshotIndex": 3,
"snapshotsPerCycle": 144
}
}
Enroll in Dual Stacking. The caller's sBTC balance is used to determine rewards. Optionally, a different address can receive the rewards.
bun run dual-stacking/dual-stacking.ts enroll [--reward-address <STX_ADDRESS>]
Options:
--reward-address (optional) — Stacks address to receive rewards (defaults to caller's address)Output:
{
"success": true,
"txid": "abc123...",
"enrolledAddress": "SP2...",
"rewardAddress": "SP2...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
Opt out of Dual Stacking. Takes effect from the next cycle.
bun run dual-stacking/dual-stacking.ts opt-out
Output:
{
"success": true,
"txid": "abc123...",
"address": "SP2...",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
Get earned rewards for a specific cycle and address.
bun run dual-stacking/dual-stacking.ts get-rewards --cycle <N> [--address <STX_ADDRESS>] [--rollback <N>]
Options:
--cycle (required) — Cycle number to query--address (optional) — Stacks address to check (uses active wallet if omitted)--rollback (optional) — Rollback offset (default: 0)Output:
{
"address": "SP2...",
"cycle": 99,
"rollback": 0,
"rewardSats": 500,
"rewardBtc": "0.000005",
"network": "mainnet"
}
stacking skill to stack STX and boost your Dual Stacking APR up to 5% APY.bun run wallet/wallet.ts unlock first, or set CLIENT_MNEMONIC env var).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.