jingswap-cycle-agent

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

jingswap-cycle-agent

JingSwap周期监控Agent

What it does

功能介绍

Monitors the active JingSwap cycle and evaluates whether the Pyth oracle settlement rate offers a favourable sBTC acquisition opportunity relative to live DEX prices.
Data sourceWhat it readsWhy it matters
sbtc-stx-jing-v2
contract (Hiro read-only API)
Cycle ID, phase, blocks elapsed, deposits, minimumsIs the cycle in deposit phase? Is sBTC available?
Pyth Hermes oracleBTC/USD and STX/USD live pricesComputes oracle STX/sBTC settlement rate
get-dlmm-price
(contract)
DLMM pool price (1e10 / raw)Best DEX rate for comparison
get-xyk-price
(contract)
XYK pool price (raw / 1e8)Secondary DEX rate cross-check
JingSwap settles at the Pyth oracle rate, not the DEX rate. When oracle < DEX, depositing STX acquires sBTC cheaper than buying on-market — the arbitrage window. This skill quantifies that spread in real time.
监控JingSwap的活跃周期,评估Pyth预言机结算率相对于实时DEX价格是否提供了有利的sBTC获取机会。
数据来源读取内容重要性
sbtc-stx-jing-v2
合约(Hiro只读API)
周期ID、阶段、已过区块数、存款金额、最低要求当前周期是否处于存款阶段?是否有sBTC可获取?
Pyth Hermes预言机BTC/USD和STX/USD实时价格计算预言机STX/sBTC结算率
get-dlmm-price
(合约)
DLMM池价格(1e10 / 原始值)用于对比的最佳DEX汇率
get-xyk-price
(合约)
XYK池价格(原始值 / 1e8)次要DEX汇率交叉验证
JingSwap以Pyth预言机汇率结算,而非DEX汇率。当预言机汇率低于DEX汇率时,存入STX获取sBTC的成本低于在市场上直接购买——这就是套利窗口。本技能可实时量化该价差。

Why agents need it

为什么Agent需要它

JingSwap's API (
faktory-dao-backend.vercel.app
) requires an
x-api-key
. This skill bypasses it entirely by reading the Stacks contract directly via the public Hiro read-only endpoint. No credentials needed.
The
analyze
command distils the cycle state + two price sources into a single
action
field — agents don't need to know the contract encoding or Pyth feed IDs.
JingSwap的API(
faktory-dao-backend.vercel.app
)需要
x-api-key
。本技能通过公共Hiro只读端点直接读取Stacks合约,完全绕过了该API,无需任何凭证。
analyze
命令将周期状态和两个价格源浓缩为单个
action
字段——Agent无需了解合约编码或Pyth feed ID。

Safety notes

安全说明

  • Read-only for
    doctor
    ,
    status
    ,
    analyze
    — no wallet required.
  • participate
    (without
    --dry-run
    ) outputs a
    DEPOSIT_READY
    JSON payload — parent agent must confirm before calling
    jingswap_deposit_stx
    .
  • Mainnet only — JingSwap v2 contract is mainnet-only.
  • Always uses live contract reads — never caches cycle state.
  • doctor
    status
    analyze
    命令为只读操作——无需钱包。
  • participate
    (不带
    --dry-run
    参数)会输出
    DEPOSIT_READY
    JSON负载——父Agent必须确认后才能调用
    jingswap_deposit_stx
  • 仅支持主网——JingSwap v2合约仅部署在主网。
  • 始终使用实时合约读取——从不缓存周期状态。

Commands

命令

doctor

doctor命令

Checks Hiro contract API and Pyth Hermes connectivity.
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts doctor
Output:
json
{
  "result": "ready",
  "checks": {
    "hiro_contract_api": "ok",
    "pyth_hermes_api": "ok"
  },
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2"
}
检查Hiro合约API和Pyth Hermes的连通性。
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts doctor
输出:
json
{
  "result": "ready",
  "checks": {
    "hiro_contract_api": "ok",
    "pyth_hermes_api": "ok"
  },
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2"
}

status

status命令

Fetches full cycle state + price snapshot.
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts status
Output:
json
{
  "skill": "jingswap-cycle-agent",
  "timestamp": "2026-03-29T15:22:18.792Z",
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2",
  "cycle": {
    "id": 9,
    "phase": "deposit",
    "blocks_elapsed": 191,
    "sbtc_deposited": "0.01929494 sBTC",
    "stx_deposited": "0.00 STX",
    "min_stx_deposit": "1.00 STX",
    "min_sbtc_deposit": "0.00001000 sBTC"
  },
  "prices": {
    "btc_usd": "66488.42",
    "stx_usd": "0.216440",
    "oracle_stx_per_sbtc": "307191.64",
    "dex_stx_per_sbtc_dlmm": "305922.66",
    "dex_stx_per_sbtc_xyk": "305306.01",
    "oracle_vs_dex_discount_pct": "-0.394"
  },
  "summary": "Cycle 9 in deposit phase. Oracle 0.39% MORE EXPENSIVE than DEX."
}
获取完整周期状态与价格快照。
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts status
输出:
json
{
  "skill": "jingswap-cycle-agent",
  "timestamp": "2026-03-29T15:22:18.792Z",
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2",
  "cycle": {
    "id": 9,
    "phase": "deposit",
    "blocks_elapsed": 191,
    "sbtc_deposited": "0.01929494 sBTC",
    "stx_deposited": "0.00 STX",
    "min_stx_deposit": "1.00 STX",
    "min_sbtc_deposit": "0.00001000 sBTC"
  },
  "prices": {
    "btc_usd": "66488.42",
    "stx_usd": "0.216440",
    "oracle_stx_per_sbtc": "307191.64",
    "dex_stx_per_sbtc_dlmm": "305922.66",
    "dex_stx_per_sbtc_xyk": "305306.01",
    "oracle_vs_dex_discount_pct": "-0.394"
  },
  "summary": "Cycle 9 in deposit phase. Oracle 0.39% MORE EXPENSIVE than DEX."
}

analyze

analyze命令

Evaluates whether the current cycle offers a favourable entry.
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts analyze
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts analyze --min-discount 2.0
Options:
  • --min-discount <pct>
    (default:
    1.0
    ) — minimum oracle discount vs DEX to trigger PARTICIPATE
Output:
json
{
  "skill": "jingswap-cycle-agent",
  "timestamp": "2026-03-29T15:22:27.573Z",
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2",
  "input": { "min_discount_pct": 1 },
  "cycle": {
    "id": 9,
    "phase": "deposit",
    "sbtc_available": "0.01929494 sBTC",
    "stx_deposited": "0.00 STX"
  },
  "pricing": {
    "oracle_stx_per_sbtc": "307148.46",
    "dex_stx_per_sbtc": "305922.66",
    "discount_pct": "-0.401"
  },
  "action": "MONITOR",
  "confidence": "high",
  "is_favourable": false,
  "rationale": "Oracle rate (307148 STX/sBTC) is 0.40% MORE expensive than DEX (305923 STX/sBTC). Spread does not meet minimum discount threshold of 1%.",
  "summary": "MONITOR (high confidence) — cycle 9 (deposit), oracle 0.40% premium vs DEX."
}
评估当前周期是否提供有利的参与机会。
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts analyze
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts analyze --min-discount 2.0
选项:
  • --min-discount <pct>
    (默认值:
    1.0
    )——触发PARTICIPATE指令所需的预言机相对DEX的最低折扣率
输出:
json
{
  "skill": "jingswap-cycle-agent",
  "timestamp": "2026-03-29T15:22:27.573Z",
  "contract": "SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2",
  "input": { "min_discount_pct": 1 },
  "cycle": {
    "id": 9,
    "phase": "deposit",
    "sbtc_available": "0.01929494 sBTC",
    "stx_deposited": "0.00 STX"
  },
  "pricing": {
    "oracle_stx_per_sbtc": "307148.46",
    "dex_stx_per_sbtc": "305922.66",
    "discount_pct": "-0.401"
  },
  "action": "MONITOR",
  "confidence": "high",
  "is_favourable": false,
  "rationale": "Oracle rate (307148 STX/sBTC) is 0.40% MORE expensive than DEX (305923 STX/sBTC). Spread does not meet minimum discount threshold of 1%.",
  "summary": "MONITOR (high confidence) — cycle 9 (deposit), oracle 0.40% premium vs DEX."
}

participate

participate命令

Evaluates opportunity and (if favourable) prepares deposit parameters for parent agent execution.
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts participate --amount-stx 100
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts participate --amount-stx 100 --min-discount 2.0 --dry-run
Options:
  • --amount-stx <amount>
    (required) — STX amount to deposit
  • --min-discount <pct>
    (default:
    1.0
    ) — minimum discount required to proceed
  • --dry-run
    — analyse only, do not output execution payload
When favourable, outputs:
json
{
  "skill": "jingswap-cycle-agent",
  "action": "DEPOSIT_READY",
  "deposit_params": {
    "amount_stx": 100,
    "amount_micro_stx": 100000000,
    "market": "sbtc-stx",
    "cycle": 9
  },
  "instruction": "Parent agent: call jingswap_deposit_stx with amount=100000000 and market=sbtc-stx to execute this deposit. Confirm before proceeding."
}
评估机会,若有利则为父Agent准备存款参数以执行操作。
bash
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts participate --amount-stx 100
bun run jingswap-cycle-agent/jingswap-cycle-agent.ts participate --amount-stx 100 --min-discount 2.0 --dry-run
选项:
  • --amount-stx <amount>
    (必填)——要存入的STX金额
  • --min-discount <pct>
    (默认值:
    1.0
    )——执行操作所需的最低折扣率
  • --dry-run
    ——仅分析,不输出执行负载
当机会有利时,输出:
json
{
  "skill": "jingswap-cycle-agent",
  "action": "DEPOSIT_READY",
  "deposit_params": {
    "amount_stx": 100,
    "amount_micro_stx": 100000000,
    "market": "sbtc-stx",
    "cycle": 9
  },
  "instruction": "Parent agent: call jingswap_deposit_stx with amount=100000000 and market=sbtc-stx to execute this deposit. Confirm before proceeding."
}

Action values

指令值说明

ActionMeaning
PARTICIPATE
Oracle < DEX by ≥ min-discount — deposit STX to acquire sBTC below market
MONITOR
Spread present but below threshold — watch and retry
WAIT_FOR_DEPOSIT_PHASE
Cycle is in buffer or settle phase — deposits closed
NO_SBTC_AVAILABLE
No sBTC deposited in current cycle — nothing to acquire
Confidence:
  • high
    — discount ≥ 2% or clearly unfavourable
  • medium
    — discount 1–2%
  • low
    — borderline
指令含义
PARTICIPATE
预言机汇率比DEX汇率低≥最低折扣率——存入STX以低于市场价格获取sBTC
MONITOR
存在价差但未达到阈值——持续观察并重试
WAIT_FOR_DEPOSIT_PHASE
周期处于缓冲或结算阶段——存款已关闭
NO_SBTC_AVAILABLE
当前周期无sBTC存入——无可获取的sBTC
置信度:
  • high
    ——折扣≥2%或明显无利可图
  • medium
    ——折扣1–2%
  • low
    ——临界状态

Technical notes

技术说明

  • Contract:
    SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2
    (v2, current; v1 was on cycle 5)
  • DLMM price formula:
    STX/sBTC = 1e10 / dlmmRaw
    (contract stores inverse ratio)
  • XYK price formula:
    STX/sBTC = xykRaw / 1e8
    (contract stores direct ratio with 1e8 scale)
  • Oracle price: Pyth Hermes
    BTC/USD ÷ STX/USD = STX/sBTC
  • No API key required for any data source
  • All Hiro reads use sender
    SP000000000000000000002Q6VF78
    (burn address, valid for read-only calls)
  • 合约:
    SPV9K21TBFAK4KNRJXF5DFP8N7W46G4V9RCJDC22.sbtc-stx-jing-v2
    (v2,当前版本;v1用于周期5)
  • DLMM价格公式:
    STX/sBTC = 1e10 / dlmmRaw
    (合约存储反比)
  • XYK价格公式:
    STX/sBTC = xykRaw / 1e8
    (合约存储带1e8缩放的正比)
  • 预言机价格:Pyth Hermes
    BTC/USD ÷ STX/USD = STX/sBTC
  • 所有数据源均无需API密钥
  • 所有Hiro读取操作使用发送方
    SP000000000000000000002Q6VF78
    (销毁地址,适用于只读调用)

Output contract

输出约定

All outputs are JSON to stdout.
Error:
json
{ "error": "descriptive message" }
所有输出均为JSON格式并输出至标准输出。
错误输出:
json
{ "error": "descriptive message" }

Origin

起源

Winner of AIBTC x Bitflow Skills Pay the Bills competition. Original author: @teflonmusk Competition PR: https://github.com/BitflowFinance/bff-skills/pull/78
AIBTC x Bitflow Skills Pay the Bills竞赛获胜作品。 原作者:@teflonmusk 竞赛PR:https://github.com/BitflowFinance/bff-skills/pull/78