核心用法
该技能允许用户通过Pinwin和Azuro协议在Polygon网络上进行去中心化体育博彩。核心流程包括:获取赛前/实时赛事数据→选择投注选项→调用Pinwin API生成签名负载→使用viem进行EIP-712签名→提交投注。奖金赎回需先查询 bets subgraph 确认投注状态为已解决且可赎回,再调用claim流程。
关键步骤详解:
- 投注前:检查POL(gas费)和USDT(投注金额+中继费)余额,必要时授权USDT给中继合约
- 获取赛事:通过data-feed subgraph查询赛事、盘口和赔率,使用@azuro-org/dictionaries将outcomeId转换为人类可读的市场名称(如"总进球数 大于2.5")
- 签名提交:调用
/agent/bet获取编码负载,使用私钥签名signableClientBetData,POST到apiUrl获取订单ID,轮询确认链上成交 - 状态查询:通过bets subgraph查询投注状态(Accepted/Resolved/Canceled)、结果(Won/Lost)及是否可赎回
- 赎回奖金:对isRedeemable=true且未赎回的投注,调用
/agent/claim生成交易,验证合约地址后链上执行
显著优点
1. 非托管安全模型:资金始终由用户钱包控制,投注通过签名授权而非直接转账给平台
2. 链上透明可验证:所有赔率、投注和结算记录在Polygon区块链可查,消除黑箱操作
3. 实时流动性:Azuro协议提供高流动性,支持赛前和滚球(live)投注
4. 无需KYC:纯链上交互,无需注册账户或提交身份验证
5. Gas费优化:使用relayer机制,用户仅需签名,中继方承担gas成本(从投注金额扣除relayerFee)
潜在缺点与局限性
1. 私钥风险极高:BETTOR_PRIVATE_KEY为高频使用的高敏感性凭证,若泄露将导致资金直接被盗
2. 前端依赖:严重依赖@azuro-org/dictionaries包解析市场名称,若该包停止维护或数据错误,将无法理解盘口含义
3. 链上延迟:从签名提交到链上确认存在时间差,期间赔率可能变化(虽minOdds提供保护)
4. Polygon生态限制:仅支持Polygon网络,若网络拥堵或RPC故障将影响使用
5. 法律合规风险:体育博彩在多数司法辖区受严格监管,用户需自行承担合规责任
6. claim验证依赖文档:需人工核对claim合约地址与references/polygon.md文档一致,存在文档与链上实际合约不匹配的风险
适合人群
- 熟悉DeFi和链上交互的加密货币原生用户
- 寻求非托管、透明博彩体验的用户
- 已持有POL和USDT、希望避免中心化交易所博彩限制的用户
- 具备基本智能合约交互认知,能理解签名授权风险的用户
常规风险
| 风险类型 | 描述 | 缓解措施 |
|---------|------|---------|
| 私钥泄露 | BETTOR_PRIVATE_KEY存储于环境变量,若CI/CD日志泄露或本地环境被入侵 | 使用专用投注钱包,存放最小资金,定期轮换密钥 |
| 合约风险 | Azuro/Pinwin智能合约漏洞或升级 | 关注协议安全审计报告,控制单注金额 |
| 价格操纵 | 链上赔率可能被大额资金短期影响 | 设置合理的minOdds阈值 |
| 网络故障 | Polygon RPC不可用或拥堵 | 配置备用RPC端点 |
| 前端欺骗 | 钓鱼网站伪造Pinwin API | 严格核验apiUrl域名,仅使用官方文档地址 |
使用建议
- 绝对隔离:为博彩活动创建独立钱包,与主资产钱包物理隔离
- 小额测试:首次使用先用极小金额(如1 USDT)验证完整流程
- 定期审计:每月检查授权额度,及时撤销不再使用的合约授权
- 离线签名:考虑使用硬件钱包或离线签名流程保护私钥