
jev-trader每 300ms 让 AI 在 Monad 链上下真实交易订单这是什么一文读懂【免费下载链接】jev-traderOne AI trade decision every Monad block. Jev on Kuru MON-USDC.项目地址: https://gitcode.com/gh_mirrors/je/jev-traderjev-trader是一个运行在 Monad 链上的AI 交易机器人它盯住 Kuru 交易所的 MON-USDC 订单簿由一个名为 Jev 的 TypeSafe AI 模型在每个区块约 300 毫秒只回答一个问题——买还是卖然后在订单簿上挂出一笔真实的 post-only 限价单。它不是模拟盘而是真金白银的链上交易并配有一个实时刷新的仪表盘网页让你亲眼看到 AI 每 300ms 做一次决策、上一笔订单的全过程。一句话概括这个项目This AI makes a real trade decision every 300 ms on Monad.而且 AI 推理一小时的成本约 $0.20甚至比链上 gas 还便宜。 jev-trader 是什么AI 决策 链上执行的极简组合传统交易机器人通常由策略规则 行情数据驱动而 jev-trader 把决策环节直接交给 AI 模型。整个系统由三部分构成组件作用对应文件决策层AI 模型每个区块读订单簿输出 buy / sell 及概率src/model.ts执行层链上交易编码并发送 Kuru 的batchUpdate限价单src/market.ts展示层仪表盘SSE 流式推送每区块事件前端实时渲染src/server.ts、web/src/app/page.tsx它的盈利逻辑很朴素作为maker挂单方而非 taker在最优买价/卖价内侧一个 tick 处挂单等别人的吃单砸进来成交——赚的是价差spread而不是付出价差。产品理念定义在 SPEC.md 里核心原则是单屏、无登录、无设置画面的运动本身就是内容每 300ms 必须有东西在变化。⚡ 核心机制每 300ms 的决策-下单循环这是整个项目最精彩的部分主循环实现在 src/trader.ts 的onBlock方法中。每个区块到来时它做四件事读订单簿一次eth_call读取 Kuru 的 MON-USDC 订单簿约 18ms问 AI把盘口、价差、近 30 秒的成交与深度打包成一份紧凑的交易状态问模型一个选择题——再过约 100 个区块MON 价格会更高还是更低模型在约 100ms 内返回带概率的 buy / sell上一笔订单在模型指出的那一边挂出 200 MON 的 post-only 限价单最优价内侧 1 个 tick同时取消上一区块留下的旧单一笔batchUpdate交易搞定记账更新仓位、已实现/未实现盈亏、gas 与 AI 花费并把整个区块事件推给仪表盘。 如果上一笔订单还没处理完新区块就被标记为late迟到本块只 hold 不下单——保证任意时刻只有一个请求在飞绝不追赶过期区块。️ 为什么能在 300ms 里跑完热路径上只有 2 次 RPC这是理解项目工程含金量的关键。为了把决策 下单塞进一个区块热循环恰好只做两次 RPC 往返详见 README.md 的 The 300 ms budget 章节✅ 一次eth_call读订单簿src/book.ts手工解码getL2Book返回数据比 SDK 少一次网络往返✅ 一次eth_sendRawTransaction发送签名好的交易RPC 收到哈希即返回。而被刻意排除在热路径之外的❌eth_estimateGas——Monad 按 gas limit 收费所以 limit 在启动时估算一次后硬编码❌ gas 价格查询——使用静态 type-2 费用400 gwei 上限 2 gwei 优先级❌ 同步等待回执——回执、费用刷新、保证金检查都在后续区块的空闲时间里异步完成见 src/market.ts 的pollPending与refresh。实测数据dry run mock 模型订单簿读取 p50 约 18ms整个循环 p50 约 100ms。区块来源由 src/chain.ts 提供WebSocketnewHeads为主、150ms 轮询兜底突发区块会合并成只处理最新一个。 项目结构一览每个文件各管一件事后端只有 7 个核心文件职责清晰src/ 目录文件一句话说明src/config.ts全部环境变量配置RPC 地址、市场地址、gas、仓位上限、模型选择src/chain.ts区块推送源WebSocket 轮询兜底、原始 RPC 封装src/book.ts最小往返的订单簿读取器手解 ABI 数据src/market.tsKuru 市场操作读簿、手编码batchUpdate、保证金、异步确认src/model.tsModel接口 JevModel真 AI/MockModel动量启发式替身src/trader.ts主循环单请求在飞、迟到即 hold、仓位与盈亏记账src/server.tsBun 服务器快照/、历史/history、SSE 流/events前端是一个 Next.js 单页应用web/src/组件与后端事件一一对应决策面板 DecisionPanel、价格曲线 FlowChart、交易流水 Feed、六格计数器 StatsRow。数据经 useFeed.ts 从 SSE 流入web/README.md 有更细的前端说明。 本地跑起来3 条命令 免费 dry-run 模式配置入口在 src/config.ts全部走环境变量。最棒的是不配私钥就是 dry-run——真实的订单簿、真实的 AI 决策只是成交被模拟订单挂一个区块被真实盘口穿越时即视为成交。快速启动步骤复制环境模板cp .env.example .env安装依赖bun install启动bun run start几个关键开关默认值见 src/config.tsMODELjevTYPESAFE_AI_API_KEY启用真正的 Jev AI默认mock是动量盘口失衡噪声的确定性替身src/model.tsTRADE_SIZE_MON单笔数量默认 200Kuru 该市场的最低单量MAX_POSITION_MON仓位上限触顶后订单自动翻到减仓一侧capped: true概率仍显示模型原意DRY_RUN/ 缺少PRIVATE_KEY进入模拟成交模式。仓库还附了验证脚本scripts/bench-read.ts对比自研订单簿读取器与 SDK 的精度和延迟scripts/dry-encode.ts离线签名一笔买/卖并断言 calldata 与 SDK 完全一致——手编码不是猜的是逐字节对齐过的。 仪表盘每 300ms 都在动的单屏直播间前端页面严格遵循 SPEC.md 的五段式布局一切为了录一段 20 秒的屏摄就能让人看懂头部标题 跳动红点 每 300ms 递增的区块号 钱包地址 模型徽章真 Jev 显示jev-latest替身模型挂琥珀色stand-in徽章价格主图MON/USDC 中间价滚动窗口每个成交打一个绿/红三角标记几乎每个区块都有决策面板招牌元素买/卖概率双向条、本块决策延迟如 94 ms、底部 60 格 tick 条绿买红卖、琥珀色迟到计数器行区块数、决策数、成交数、AI 花费与 gas 花费并排放置——AI 比 gas 还便宜这个卖点直接可视化无需注解成交流水最近 12 笔成交含区块、方向、数量、价格、延迟与交易哈希。数据经 src/server.ts 的 SSE 端点/events推送连接时先发snapshot之后每区块一条block事件、回执落地时quote事件、成交时fill事件。项目还有一个已部署的公开 dry-run 实例可玩地址见 README.md打开就能看到 mock 模型每 300ms 下单的真实节奏。 总结它想证明什么jev-trader 不是要给你一套能抄的策略SPEC.md 明确写着模型并非以盈利为目标、无回测、无策略讲解。它想证明的是AI 决策可以快TypeSafe 模型不产文本、直接返回带概率的结构化决策100ms 出答案快过一个区块周期成本可以低到反直觉AI 推理一小时 ≈ $0.20同期 gas ≈ $2–5The AI costs less than the gas一切真实可验证钱包地址、交易哈希、区块高度全部上链盈亏红绿照晒亏损和盈利一样直白。一个 300ms 节奏的AI 心跳配上克制的深色交易台美学——这就是 jev-trader 的核心体验让 AI 的每个决策都以链上订单的形式肉眼可见地发生。【免费下载链接】jev-traderOne AI trade decision every Monad block. Jev on Kuru MON-USDC.项目地址: https://gitcode.com/gh_mirrors/je/jev-trader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考