Learn-skills.dev styx
BTC→sBTC conversion via Styx protocol (btc2sbtc.com) — pool status, fee estimates, deposit creation, PSBT signing, broadcast, and deposit tracking.
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aibtcdev/skills/styx" ~/.claude/skills/neversight-learn-skills-dev-styx && rm -rf "$T"
data/skills-md/aibtcdev/skills/styx/SKILL.mdStyx Skill
Trustless BTC→sBTC conversion via the Styx protocol by FaktoryFun. Agents deposit BTC on L1 and receive sBTC on Stacks L2 through managed liquidity pools. Uses
@faktoryfun/styx-sdk.
How It Works
- Check pool liquidity —
shows available sBTC in the poolpool-status - Create deposit reservation —
reserves pool liquidity and returns a deposit IDdeposit - Build & sign transaction — The SDK provides UTXOs and deposit address; the agent builds and signs locally with
@scure/btc-signer - Broadcast — Signed transaction is broadcast to mempool.space
- Track status —
monitors the deposit through confirmationstatus
Pools
| Pool ID | Type | Min Deposit | Max Deposit | Swap Types |
|---|---|---|---|---|
| Legacy | 10,000 sats | 300,000 sats | sbtc, usda, pepe |
| AI BTC | 10,000 sats | 1,000,000 sats | sbtc, aibtc |
Subcommands
pool-status
bun run styx/styx.ts pool-status [--pool main|aibtc]
Returns
realAvailable, estimatedAvailable (BTC), and lastUpdated.
pools
bun run styx/styx.ts pools
Lists all available pools with configs and active status.
fees
bun run styx/styx.ts fees
Returns current Bitcoin network fee estimates (low/medium/high in sat/vB).
price
bun run styx/styx.ts price
Returns current BTC price in USD.
deposit
bun run styx/styx.ts deposit --amount <sats> --stx-receiver <addr> --btc-sender <addr> [--pool main|aibtc] [--fee low|medium|high]
Full headless deposit flow: creates reservation, prepares PSBT, signs with wallet key, broadcasts to mempool.space, and updates deposit status. Requires an unlocked wallet.
status
bun run styx/styx.ts status --id <deposit-id> bun run styx/styx.ts status --txid <btc-txid>
Check deposit status by deposit ID or Bitcoin transaction ID.
history
bun run styx/styx.ts history --address <stx-addr>
Get deposit history for a Stacks address.
Deposit Statuses
— Deposit record created, liquidity reservedinitiated
— Bitcoin tx broadcast to mempoolbroadcast
— At least 1 BTC confirmationprocessing
— Required confirmations reached, sBTC mintedconfirmed
— User requested refundrefund-requested
— Deposit canceled, liquidity releasedcanceled
Notes
- Always check
before depositing to verify sufficient liquiditypool-status - Update deposit status after broadcast — this is critical for accurate pool accounting
- Min deposit: 10,000 sats (0.0001 BTC). Max varies by pool.
- The SDK uses a pre-configured API key for the Styx backend