返回顶部
h

haggle-protocol链上议价协议

On-chain negotiation protocol for AI agents. Create, negotiate, and settle deals using real USDC on Base Mainnet or test tokens on Solana/Monad/Arbitrum testnets.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
708
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

haggle-protocol

技能名称: haggle-protocol

讨价还价协议

首个面向自主AI代理的链上协商协议。

讨价还价协议使两个AI代理能够通过多轮交替报价和托管衰减机制,协商出公平价格。代理通过动态讨价还价发现公平价格,而非采用固定定价。

适用场景: 当你需要向另一个代理购买或出售服务,但不确定公平价格时。

部署信息

网络合约地址代币
Base主网0xB77B5E932de5e5c6Ad34CB4862E33CD634045514USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
Solana
Devnet | DRXGcVHj1GZSc7wD4LTnrM8RJ1shWH93s1zKCXtJtGbq | SPL Token | | Monad | Testnet | 0x30FD25bAB859D8D68de6A0719983bb75200b1CeC | MockERC20 | | Base | Sepolia | 0x30FD25bAB859D8D68de6A0719983bb75200b1CeC | MockERC20 | | Arbitrum | Sepolia | 0x30FD25bAB859D8D68de6A0719983bb75200b1CeC | MockERC20 |

您可以在各自的区块链浏览器上独立验证这些合约地址:

  • - Base主网:https://basescan.org/address/0xB77B5E932de5e5c6Ad34CB4862E33CD634045514
  • Solana Devnet:https://explorer.solana.com/address/DRXGcVHj1GZSc7wD4LTnrM8RJ1shWH93s1zKCXtJtGbq?cluster=devnet

工作原理

  1. 1. 买方将托管资金(USDC)存入协议控制的保险库
  2. 卖方接受协商邀请
  3. 双方提交交替报价(基于回合制,链上强制执行)
  4. 每轮托管资金按可配置的衰减率减少,制造时间压力
  5. 任何一方接受对方的报价 -> 结算并支付

设置

选项1:MCP服务器(推荐)

安装MCP服务器以实现完整的代理集成:

bash
npm install -g @haggle-protocol/mcp@0.2.0

使用您的私钥进行配置(请参阅下面的私钥安全部分):

bash
export HAGGLEPRIVATEKEY=0x... # EVM私钥

运行:

bash
npx @haggle-protocol/mcp@0.2.0

选项2:TypeScript SDK

bash
npm install @haggle-protocol/evm@0.1.0 # 用于Base/Monad/Arbitrum
npm install @haggle-protocol/solana@0.1.0 # 用于Solana
npm install @haggle-protocol/core@0.1.0 # 共享类型

选项3:REST API

bash
npx @haggle-protocol/api@0.1.0

私钥安全

此技能需要HAGGLEPRIVATEKEY来签署链上交易。这是一个敏感凭证。请遵循以下实践:

  1. 1. 使用专用钱包 - 为代理操作创建一个单独的钱包。不要使用您的主钱包。
  2. 最小化资金 - 仅存入您计划用于协商的金额(例如,少量USDC + gas费)。
  3. 批准最小金额 - 调用USDC approve()时,仅批准所需的精确托管金额,而非无限额。
  4. 先在测试网上测试 - 在主网使用前,先在basesepolia或monadtestnet上使用MockERC20代币进行测试。
  5. 监控您的钱包 - 在https://basescan.org上监控您的代理钱包,留意异常交易。
  6. 轮换密钥 - 如果您怀疑密钥泄露,请立即转移资金并生成新密钥。

私钥从环境变量加载,技能不会记录、传输或存储私钥。所有签名均通过ethers.js在本地完成。您可以在https://github.com/haggle-protocol审计源代码。

买方工作流程(Base主网)

typescript
import { HaggleEVM } from @haggle-protocol/evm;
import { ethers } from ethers;

const provider = new ethers.JsonRpcProvider(https://mainnet.base.org);
const wallet = new ethers.Wallet(process.env.HAGGLEPRIVATEKEY, provider);
const haggle = new HaggleEVM(base_mainnet, wallet);

// 1. 批准USDC(仅批准所需金额)
const USDC = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913;
const usdc = new ethers.Contract(USDC, [
function approve(address,uint256) returns (bool)
], wallet);
await (await usdc.approve(haggle.contractAddress, 1000000n)).wait(); // 1 USDC

// 2. 创建协商
const negId = await haggle.createNegotiation({
seller: 0xSELLER_ADDRESS,
escrowAmount: 1000000n, // 1 USDC(6位小数)
tokenAddress: USDC,
serviceHash: ethers.keccak256(ethers.toUtf8Bytes(data analysis)),
maxRounds: 6,
decayRateBps: 200, // 每轮衰减2%
responseWindow: 300, // 每轮5分钟
globalDeadlineSeconds: 1800, // 总计30分钟
minOfferBps: 1000, // 最低为托管金额的10%
});

// 3. 提交报价
await haggle.submitOffer(negId, 500000n); // 报价0.5 USDC

卖方工作流程

typescript
// 1. 接受邀请
await haggle.acceptInvitation(negId);

// 2. 还价
await haggle.submitOffer(negId, 800000n); // 还价0.8 USDC

// 3. 接受买方报价(触发结算)
await haggle.acceptOffer(negId);

读取协商状态

typescript
const neg = await haggle.getNegotiation(negId);

console.log(状态:, neg.status);
console.log(轮次:, neg.currentRound);
console.log(当前报价:, ethers.formatUnits(neg.currentOfferAmount, 6), USDC);
console.log(有效托管金额:, ethers.formatUnits(neg.effectiveEscrow, 6), USDC);

MCP服务器工具

使用MCP服务器时,可使用以下工具:

工具描述
createnegotiation创建新的协商并存入托管资金
getnegotiation
按ID读取协商状态 |
| submit_offer | 提交价格报价(遵循轮次顺序) |
| accept_offer | 接受对方报价,触发结算 |
| reject_negotiation | 退出协商,将托管资金返还给买方 |
| getprotocolconfig | 读取协议配置 |
| list_chains | 列出所有支持的链 |

关键参数

参数描述
escrowAmount买方存入的总托管金额(以代币最小单位计)
maxRounds
到期前的最大协商轮数 | | decayRateBps | 每轮托管衰减率,以基点计(200 = 2%) | | responseWindow | 各方响应的秒数 | | globalDeadlineSeconds | 协商到期前的总秒数 | | minOfferBps | 最低报价占有效托管金额的百分比(1000 = 10%) |

结算计算

protocolFee = settledAmount * 50 / 10000 (0.5%)
sellerReceives = settledAmount - protocolFee
buyerRefund = effectiveEscrow - settledAmount

协商策略提示

  1. 1. 从锚定开始 - 以激进但合理的首次报价开场
  2. 逐步让步 - 小幅让步表明立场坚定
  3. 关注衰减 - 每轮都会让双方付出代价
  4. 监控有效托管金额 - 随着衰减,可行的报价范围会缩小

外部端点

此技能连接到以下RPC端点以提交和读取区块链交易:

| 端点 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 haggle-protocol-1776420052 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 haggle-protocol-1776420052 技能

通过命令行安装

skillhub install haggle-protocol-1776420052

下载

⬇ 下载 haggle-protocol v1.0.2(免费)

文件大小: 4.98 KB | 发布时间: 2026-4-17 18:52

v1.0.2 最新 2026-4-17 18:52
Fix: declare HAGGLE_PRIVATE_KEY in top-level requires.env and credentials metadata for security scanner

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部