About jingswap
jingswap is a command-line skill for blind batch auctions swapping sBTC against quote tokens on Stacks, with STX and USDCx markets. It covers auction data queries as well as deposits, cancellations, and settlement actions.
Key features
- 01Inspect auction cycle state and history
- 02View depositors and user deposits
- 03Check settlement details and user activity
- 04Query Pyth and DEX prices
- 05Deposit or cancel token deposits
- 06Close, settle, or cancel a cycle
Use cases
- 01Check the current auction phase and minimums
- 02Review a user's deposits for a cycle
- 03Participate in sBTC swaps against STX or USDCx
- 04Check prices and settle an auction cycle
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ aibtcdev/ skills --skill jingswapAfter installing, type/jingswapin Claude Code to confirm it loaded.
Bundled filesAGENT.mdjingswap.ts
Details
From the project READMEJingswap Skill
Blind batch auction for swapping sBTC against a quote token on Stacks. Two markets are available:
| Market | Contract | Quote Token |
|---|---|---|
sbtc-stx (default) | SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing | STX |
sbtc-usdcx | SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-usdcx-jing | USDCx |
Each auction cycle has three phases: deposit, buffer, settle. Anyone can participate by depositing on either side, and anyone can trigger close/settle/cancel transitions.
Usage
bun run jingswap/jingswap.ts <subcommand> [--market <pair>] [options]
All commands accept --market sbtc-stx (default) or --market sbtc-usdcx.
Subcommands
cycle-state
Get current auction cycle state (phase, blocks elapsed, totals, minimums).
bun run jingswap/jingswap.ts cycle-state --market sbtc-usdcx
depositors
Get quote-token and sBTC depositors for a cycle.
bun run jingswap/jingswap.ts depositors --cycle <number> --market sbtc-stx
user-deposit
Get a user's deposit amounts for a cycle.
bun run jingswap/jingswap.ts user-deposit --cycle <number> --address <stx_address>
settlement
Get settlement details for a completed cycle.
bun run jingswap/jingswap.ts settlement --cycle <number>
cycles-history
Get full history of all auction cycles.
bun run jingswap/jingswap.ts cycles-history --market sbtc-usdcx
user-activity
Get a user's auction activity (deposits, cancellations, fills, rollovers).
bun run jingswap/jingswap.ts user-activity --address <stx_address> --market sbtc-usdcx
prices
Get oracle and DEX prices (Pyth, XYK pool, DLMM).
bun run jingswap/jingswap.ts prices
deposit-stx
Deposit quote token (STX or USDCx depending on market) into the current auction cycle. Deposit phase only.
bun run jingswap/jingswap.ts deposit-stx --amount 10 --market sbtc-usdcx
deposit-sbtc
Deposit sBTC (in satoshis) into the current auction cycle. Deposit phase only.
bun run jingswap/jingswap.ts deposit-sbtc --amount 10000 --market sbtc-usdcx
cancel-stx
Cancel your quote-token deposit and get a refund. Deposit phase only.
bun run jingswap/jingswap.ts cancel-stx --market sbtc-usdcx
cancel-sbtc
Cancel your sBTC deposit and get a refund. Deposit phase only.
bun run jingswap/jingswap.ts cancel-sbtc
close-deposits
Close the deposit phase (requires min 150 blocks elapsed, both sides above minimum).
bun run jingswap/jingswap.ts close-deposits --market sbtc-usdcx
settle
Settle using stored Pyth prices (free). Usually fails due to stale prices — prefer settle-with-refresh.
bun run jingswap/jingswap.ts settle
settle-with-refresh
Settle with fresh Pyth VAAs (~2 uSTX). Recommended settlement method.
bun run jingswap/jingswap.ts settle-with-refresh --market sbtc-usdcx
cancel-cycle
Cancel cycle if settlement failed after 530 blocks (~17.5 min). Rolls deposits to next cycle.
bun run jingswap/jingswap.ts cancel-cycle
Notes
- Stacks blocks average ~2 seconds (Nakamoto)
- Deposit phase: min 150 blocks (~5 min) before close
- Buffer phase: 30 blocks (~1 min) after close
- Cancel threshold: 530 blocks (~17.5 min) from close
distributeevents show swap proceeds + unswapped remainder (rolled to next cycle, not refunded)- Post conditions: deposits use Deny mode; cancel/settle/cancel-cycle use Allow mode
- USDCx is a stablecoin (~$1) —
SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx, assetusdcx-token, 6 decimals