jarrodwatts / jev-trader
One AI trade decision every Monad block. Jev on Kuru MON-USDC.
github.com/jarrodwatts/jev-traderIndexed at b587759Up to date with upstream
What is jev-trader?
jev-trader is a TypeScript trading engine for making one AI trade decision per Monad block on the Kuru MON-USDC order book. It reads the order book, chooses buy or sell, and posts a post-only limit order that replaces the previous order. The project uses Bun, TypeScript, ethers, the Kuru SDK, and AI SDK components.
Written by a model from the README and the source
46 files and 305 symbols in 4 modules, led by TypeScript (34 files) and Dockerfile (1).
Code health
This codebase scores 6.7 out of 10 for code health, which we rate fair. It also scores maintainability 7.5 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 6 of 46 files are git hotspots, and they average 4.3 — which is where the fixes pay off most.
Use jarrodwatts/jev-trader in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/jarrodwatts/jev-trader
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is jev-trader put together?")
- get_why("why is jev-trader structured this way?")
Explore jev-trader
- DocumentationModule-by-module documentation, 55 pages.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of jev-trader
- jev-trader asks a TypeSafe Jev model to answer buy or sell for the Kuru MON-USDC order book every Monad block.
- jev-trader posts a post-only limit order one tick inside the touch and replaces the previous resting order.
- jev-trader supports dry runs with real order-book data, real decisions, and simulated fills.
- jev-trader streams block, quote, and fill information to a dashboard through server endpoints and SSE.
- jev-trader provides a mock momentum heuristic when the Jev model is not selected.
How jarrodwatts/jev-trader works
The application receives new block signals through src/chain.ts, using WebSocket newHeads with a polling backstop and raw RPC. src/book.ts reads and decodes the latest L2 order book through one eth_call and merges the AMM vault. src/model.ts defines the model interface and provides JevModel and MockModel decisions. src/market.ts reads the Kuru book, encodes cancel-and-place batchUpdate transactions, and handles order submission. src/trader.ts runs the decision loop, holds when a decision is late, and tracks positions and P&L. src/server.ts uses Bun.serve to provide snapshots, history, and SSE events for the web dashboard in web.
The codebase has 46 files and 305 symbols in 4 modules, led by TypeScript and Dockerfile. Code health is 6.7 out of 10, rated fair.
jarrodwatts/jev-trader FAQ
What is jev-trader?
jev-trader is an AI trading engine for the Kuru MON-USDC order book on Monad. It makes one buy-or-sell decision per block and posts a post-only limit order.
How does jev-trader work?
jev-trader reads the latest order book, asks Jev or a mock model for a buy-or-sell decision, and submits a cancel-and-replace order. A Bun server streams block and fill events to the dashboard.
What language is jev-trader written in?
jev-trader is written in TypeScript. Its stack includes Bun, ethers, the Kuru SDK, React, Next, and AI SDK packages.
How is the jev-trader code organized?
jev-trader places runtime logic in src, operational tools in scripts, and dashboard code in web. src/trader.ts coordinates decisions and accounting, while src/server.ts exposes dashboard data.
When should I use jev-trader?
jev-trader is for running an AI or mock trading loop on the Kuru MON-USDC order book. It supports dry runs with simulated fills and live order submission when configured.
What license does jev-trader use?
jev-trader uses the MIT license.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of jarrodwatts/jev-trader from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain jarrodwatts/jev-trader?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of jarrodwatts/jev-trader. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/jarrodwatts/jev-trader?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/jarrodwatts/jev-trader?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/jarrodwatts/jev-trader?src=badge_card)