Skip to content
MrJev

Prism

Liquidity-provision agent for Meteora DLMM. Jev judges toxic flow, market stress, and mean-reversion likelihood in shadow/advisory mode only, without driving trades. Not financial advice.

View on GitHub →

Hands-on review

A Solana liquidity agent that keeps Jev advisory and paper-only. Serious engineering, and one remote endpoint it trusts more than it should.

Good for

  • Studying how to keep a model out of the path that moves money
  • A large, genuinely tested Effect-TS codebase with a real risk kernel
  • Paper trading, where the Jev layer is allowed to do something

Watch out for

  • A remote endpoint supplies the fee rate and destination your wallet pays to
  • The shipped blacklists are empty files, and every screener fails open
  • Live funds: read the code yourself before running anything that signs

Tested Sep 20, 2026 at 22c67bdbe30b · Bun in Docker, offline; 2,167 tests across 152 files. Nothing on-chain was run, and no wallet or key was involved

How we reviewed this: we installed it in Docker with Bun and ran its full test suite offline. We deliberately ran nothing that touches a chain, a wallet or a key: no setup, no registration, no enter, exit, rebalance, swap or harvest. Everything about on-chain behaviour here comes from reading the code.

What it does

Prism, by irfndi, watches Meteora DLMM pools on Solana and decides whether to hold, rebalance, exit or enter. It is a large codebase — one engine file runs to 15,000 lines — and 2,167 tests pass offline in about two minutes.

Jev occupies two small files. For each entry candidate, one request asks four questions: which deposit distribution fits this regime (Choice), is the volume toxic flow, is a return to range likely enough to hold, and is the pool in systemic stress.

Jev cannot open or close a position. Its only output with any effect halves a position size, and that path is guarded by paperTrading === true — in live mode it is unreachable, and it is off by default. The rest is logged, and written to a vector memory that a separate LLM layer may later read as context. That’s an indirect channel, and worth knowing, but the hard rule holds: the typed decisions don’t move money.

The state it sends is clean: pool address and pair, TVL, volume, fees, a few computed ratios and the active bin. No wallet, no position size, no balances. Requests are rate-limited behind a circuit breaker.

The trust boundary we’d want changed

Fee-sharing configuration — the platform fee rate and the wallet it is paid to — is fetched from a remote endpoint the project controls. The parser takes both values as they arrive, and the downstream check accepts any rate up to and including 100%. The resulting transfer is appended to a transaction signed by the operator’s wallet. There is no local ceiling, no allowlist of destinations and no confirmation; the one guard is a check that the destination isn’t the wallet itself.

Nothing suggests bad intent — the published tiers are ordinary percentages, and this is how a hosted service funds itself. The problem is structural: if that endpoint is ever wrong, compromised or impersonated, the local software will sign what it is told. A hard cap in code and a pinned destination would remove the whole class of risk.

Because this project handles live funds and has no private reporting channel, we asked the author to enable one rather than publish details. We’ll follow up when there’s a way to send them.

Two related notes for anyone running it: the shipped token and deployer blacklists are empty files, and the README is candid that every external screener is advisory and fails open. And the default backtester runs on synthetic data — its own banner says the results are a lower-bound stress test that assumes no token price depreciation.

Verdict

The discipline here is real: the model advises, code decides, and the one place a typed answer can change a number is fenced behind paper trading. The test suite is the largest we’ve run in this ecosystem and it is green offline.

If you’re studying how to build with a model near money, read this. If you’re thinking of running it with funds, read the revenue-share path first and decide whether you want a remote endpoint to have that much say.

For other finance projects, see jev-trader in our roundup.

See how it compares with other tools in Best Jev tools, tested hands-on.

Review updated Sep 20, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.

More in Finance

jev-trader

★ 3.1k▲ 31

jarrodwatts/jev-trader

Asks Jev buy or sell on every Monad block and places real post-only limit orders on the Kuru MON-USDC book. Not financial advice.

TypeScriptReviewed

beebots

★ 334▲ 6

imikerussell/beebots

Three trading bots race on OKX perpetual futures with every decision typed and a risk layer in plain code; paper trading is the default. Not financial advice.

TypeScript

brainstormity/Jev-X-Sentiment-Analysis

Crypto terminal that reads up to 1,000 posts about a ticker alongside market and funding data and turns them into a buy, sell, hold, or take-profit call. No license file at the time of writing. Not financial advice.

PythonReviewed

Get new Jev projects every week

New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.

Powered by Buttondown. See our privacy policy.