RicePayRice-native payment wallet on Monad — Monad Blitz V2 Hackathon (Agentic Payment track)RicePay 让 AI Agent 能在 Monad 链上自主完成支付,同时保持用户对资金的完全控制。低风险支付自动上链,高风险支付实时推送 Telegram / 飞书审批卡片,等待人工确认后再执行。核心理念传统 Web3 钱包是为人设计的。RicePay 是为 AI Agent 设计的:Agent 只持有一把临时 session key,永远无法触碰用户主私钥每一笔支付在执行前都过策略引擎(金额限制、频率限制、白名单)高风险支付暂停,推送消息给人类审批所有支付留有审计链,带 task ID、reason、链上 tx hash架构AI Agent (ricepay CLI / HTTP SDK)
│
│ POST /api/pay
▼
┌────────────────────────────────┐
│ RicePay Server │
│ │
│ 策略引擎 → 风险评分 │
│ 0=低风险 1=中风险 2=高风险 │
└────────┬───────────────────────┘
│
┌────┴────┐
▼ ▼
自动执行 等待人工审批
│ │
│ ┌────┴─────────────┐
│ │ Telegram Bot │ ← 点击按钮批准/拒绝
│ │ 飞书 Bot │ ← 点击卡片批准/拒绝
│ └────────────────── ┘
│ │
└────┬────┘
▼
signer.sendTransaction()
Monad 链上转账
│
▼
收据推送 + 审计日志功能模块说明Session KeyAgent 使用临时密钥,用户主私钥永不暴露策略引擎单笔上限 / 日预算 / 周预算 / 到期时间 / 速率限制风险评分自动 0/1/2 三级,超阈值触发人工审批Telegram Bot长轮询,无需 webhook,按钮批准/拒绝飞书 BotWebSocket 长连接,无需 webhook,卡片交互多 AgentMICRO / STANDARD / ELEVATED 三级权限审计日志每笔支付记录 task ID、reason、risk、tx hash紧急控制revoke() 立即吊销 session keyWeb 控制台浏览器管理 Agent、查看审批、查看收据ricepay CLIAgent 直接调用命令行,无需写代码合约Monad Testnet: 0x306FE2117C9EEe39b70021f763894dF9aB77aec0PolicyVault.sol 管理 Agent 策略、白名单、紧急暂停。快速开始git clone https://github.com/angqijiang-png/rice-pay
cd rice-pay
npm install
# 配置环境变量
cp .env.example .env
# 填写 PRIVATE_KEY、TELEGRAM_BOT_TOKEN、TELEGRAM_CHAT_ID
# 可选填写 FEISHU_APP_ID、FEISHU_APP_SECRET、FEISHU_APPROVAL_CHAT_ID
npm run dev # 启动服务器 :3000
open http://localhost:3000ricepay CLIAgent 通过命令行直接发起支付,无需写代码:# 安装(全局)
npm link # 或 npm install -g ricepay(发布后)
# 配置
ricepay config --key <私钥> --contract 0x306FE... --server http://localhost:3000
# 查看当前 Agent 身份和策略
ricepay whoami
ricepay policy
# 支付前预检查
ricepay precheck --to 0x3C44... --amount 0.01
# 发起支付(自动判断是否需要审批)
ricepay pay --to 0x3C44... --amount 0.01 --reason "CoinGecko API fee" --wait
# 查询审批状态
ricepay status <approvalId>
# 查看支付记录
ricepay receiptsHTTP API(Agent SDK)任何语言的 Agent 都可以通过 HTTP 集成:# 预检查
curl -X POST http://localhost:3000/api/precheck \
-H "Content-Type: application/json" \
-d '{"sessionKey":"0x...","to":"0x...","amount":"10000000000000000","taskId":"task-001"}'
# 发起支付
curl -X POST http://localhost:3000/api/pay \
-d '{"sessionKey":"0x...","to":"0x...","amount":"10000000000000000","taskId":"task-001","reason":"API fee"}'
# → {"status":"executed","txHash":"0x..."}
# → {"status":"pending_approval","approvalId":"..."}
# 查询审批状态
curl http://localhost:3000/api/approval/<approvalId>
# 查看 Agent 策略
curl http://localhost:3000/api/policy/<sessionKey>
# 查看收据
curl http://localhost:3000/api/receipts?agent=<address>Telegram Bot 配置找 @BotFather 创建 bot,获取 token在 .env 里填写:TELEGRAM_BOT_TOKEN=你的token
TELEGRAM_CHAT_ID=你的chatId启动服务器,bot 自动开始长轮询,无需配置 webhook飞书 Bot 配置在飞书开放平台创建自建应用开启 im:message 和 im:chat 权限在 .env 里填写:FEISHU_APP_ID=...
FEISHU_APP_SECRET=...
FEISHU_APPROVAL_CHAT_ID=...启动服务器,bot 通过 WebSocket 长连接接收回调,无需配置 webhook部署合约node scripts/compile.mjs # 编译 PolicyVault.sol
node scripts/deploy.mjs # 部署到 Monad testnet
node scripts/setup-whitelist.mjs # 配置白名单地址演示脚本bash scripts/demo.sh自动跑完整链路:whoami → 策略 → 低风险预检 → 自动支付 → 高风险预检 → 飞书/TG 审批 → 收据。技术栈层技术链Monad Testnet(EVM,Chain ID 10143)合约Solidity 0.8.24,solc + viaIR后端Node.js + Express + TypeScript数据库SQLite(Node.js 内置 node:sqlite)通知Telegram Bot(长轮询)+ 飞书 Bot(WebSocket)CLICommander.js,ethers.js v6前端单文件 HTML 控制台黑客松Monad Blitz V2 — Agentic Payment trackRicePay 可作为 skill/tool 集成进 Claude Code、Codex、Manus 等任何 AI Agent 环境,让 Agent 具备安全的链上支付能力,同时保持人类对资金的最终控制权。