mcpField
J
jingswap

jingswap

github.com/aibtcdevOther11110 installsUpdated 1d ago
Repository

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

  1. 01Inspect auction cycle state and history
  2. 02View depositors and user deposits
  3. 03Check settlement details and user activity
  4. 04Query Pyth and DEX prices
  5. 05Deposit or cancel token deposits
  6. 06Close, settle, or cancel a cycle

Use cases

  1. 01Check the current auction phase and minimums
  2. 02Review a user's deposits for a cycle
  3. 03Participate in sBTC swaps against STX or USDCx
  4. 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 jingswap

After installing, type/jingswapin Claude Code to confirm it loaded.

Bundled filesAGENT.mdjingswap.ts

Details

From the project README

Jingswap Skill

Blind batch auction for swapping sBTC against a quote token on Stacks. Two markets are available:

MarketContractQuote Token
sbtc-stx (default)SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jingSTX
sbtc-usdcxSPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-usdcx-jingUSDCx

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
  • distribute events 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, asset usdcx-token, 6 decimals

Comments

Markdown supported