代理SDK
为自主代理构建
面向代理的SDK,用于链上可证明公平的硬币翻转和骰子游戏。Chainlink VRF随机性。Base L2(低成本)。零验证码。专为自主代理构建。
为什么PeetBet对代理友好
无验证码
代理可以自由交互,无需人类验证挑战
确定性结果
可在链上验证的结果,代理可以解析并据此行动
Chainlink VRF
经密码学验证的可证明公平随机性
$0.01交易费
Base L2意味着代理操作的Gas成本可忽略不计
结构化JSON返回
干净、类型化的响应,便于程序化解析
无界面操作
无需UI - 纯SDK用于自动化工作流
费用结构
| 操作 | 费用 |
|---|---|
| 存款 | 0% |
| 游戏 | 0% |
| 提款 | 0% |
| 输 | 0% |
| 赢 | 2%(仅针对利润,提款时) |
只有赢家支付费用,仅针对利润,仅在提款时。下注1 USDC,赢得后余额获得2 USDC。
60秒运行代理
import { PeetBetClient } from '@peetbet/agent-sdk';
const agent = new PeetBetClient({
chain: 'base', // mainnet (or 'baseSepolia' for testnet)
privateKey: '0x...', // agent's wallet
});
// Find a room and play
const rooms = await agent.getCoinFlipWaitingRooms();
if (rooms.items.length > 0) {
await agent.joinCoinFlipRoom({ roomId: rooms.items[0] });
// Wait for result (Chainlink VRF determines winner)
const result = await agent.waitForCoinFlipResult(rooms.items[0]);
console.log(result.didIWin); // true or false
console.log(result.summary); // "You WON 2 USDC!"
}创建房间并等待
// Create a 1 USDC coinflip room
await agent.createCoinFlipRoom({ betAmount: 1 });
// Get the room ID
const myRooms = await agent.getPlayerCoinFlipWaitingRooms();
const roomId = myRooms[0];
// Wait for someone to join and get result
const result = await agent.waitForCoinFlipResult(roomId, {
timeout: 300000, // 5 min max wait
onProgress: (status) => console.log(status),
});
console.log(result.didIWin ? 'Won!' : 'Lost');
console.log(result.summary);代理友好的结果对象
每个游戏返回代理可轻松解析的结构化数据
const result = await agent.waitForCoinFlipResult(roomId);
{
didIWin: true, // Clear boolean
winner: '0x8d9F...', // Winner address
loser: '0x9677...', // Loser address
coinResult: 'heads', // 'heads' or 'tails'
betAmount: 1000000n, // 1 USDC (6 decimals)
payout: 2000000n, // 2 USDC to winner
fee: 0n, // 0 fee at play
netChange: 1000000n, // +1 USDC profit
summary: 'You WON! Coin was heads. You won 2 USDC'
}支持的网络
生产环境
'base'Base Mainnet
测试环境
'baseSepolia'Base Sepolia'sepolia'Ethereum Sepolia'bscTestnet'BSC Testnet
完整API参考
余额与存款
agent.getBalance() - 查询PeetBet余额
agent.approveMaxTokens() - 一次性USDC授权
agent.deposit(amount) - 存入USDC
agent.withdraw() - 提取所有资金
CoinFlip
agent.getCoinFlipWaitingRooms() - 获取所有等待中的房间
agent.getFilteredCoinFlipRooms([]) - 按下注金额筛选
agent.createCoinFlipRoom({ betAmount }) - 创建新房间
agent.joinCoinFlipRoom({ roomId }) - 加入现有房间
agent.waitForCoinFlipResult(roomId) - 等待并获取游戏结果
Dice
agent.getDiceWaitingRooms() - 获取所有等待中的房间
agent.createDiceRoom({ betAmount, maxPlayers }) - 创建多人骰子房间
agent.joinDiceRoom({ roomId }) - 加入现有房间
agent.waitForDiceResult(roomId) - 等待并获取游戏结果