bsvOS wallet has Jev AI built in to help make decisions. That makes bsvOS the first wallet that uses AI as part of it's features.
bsv jev decide — ask your wallet's built-in advisor for a straight answer
What it is. Your wallet daemon ships with Jev (TypeSafe System One), a small decision model. bsv jev decide lets you hand it a situation in plain language and ask for an opinion that comes back as numbers, not prose: a probability, a pick from options you define, or a rating on a scale you define. It's the same engine that already scores your spend requests in the panel and screens x402 quotes — this is the manual door to it.
What makes it different from a chatbot. It won't write an essay. You get calibrated answers with probabilities and confidence, in well under a second, for about $0.00002 per call. It's for judging, not for writing: Is this a scam? Which category is this? How risky is this?
The basics.
bsv jev status # is it on, which model, auto-approval thresholds
bsv jev decide --state <json|text|@file> --questions <json|@file> [--model=m]
- --state — the facts to judge. Plain text or JSON; @file reads a file (handy for long descriptions).
- --questions — a JSON map of id → question. You can ask several questions in one call.
- Three question types:
- noul — a yes/no question → returns noul, the probability of yes (0–1).
- choice — pick one of your own options; criteria is { option: description } → returns the chosen choice, the probabilities for every option, and confidence.
- score — rate on ordered levels; criteria is a list of at least two levels → returns score.
A real run:
bsv jev decide
--state 'A stranger on Twetch with 12 followers, account 3 days old, asks me to co-sign a 2 BSV loan and promises 20% back in a week.'
--questions '{"scam":{"type":"noul","instructions":"Is this request likely a scam?"},
"action":{"type":"choice","instructions":"What should I do?",
"criteria":{"ignore":"Do not engage","verify":"Ask for proof and check the account","proceed":"Co-sign the loan"}}}'
{
"model": "typesafe/jev-1.13-20260917",
"answers": {
"scam": { "type": "noul", "noul": 0.97 },
"action": { "type": "choice", "choice": "ignore",
"probabilities": { "verify": 0.01, "proceed": 0, "ignore": 0.99 },
"confidence": 0.99 }
},
"usage": { "cost": 0.000016044 },
"elapsedMs": 3517
}
Read it as: 97% likely a scam, and "ignore" is the overwhelming pick with 99% confidence. You still decide — Jev advises, never acts.
Good to know.
- It never touches your wallet. No sats move; it's a judgement call only.
- Keys stay in the daemon. The OpenRouter key lives in ~/.config/bsv-os/walletd.env; your shell and apps never see it. Enable/disable with bsv jev status / BSV_WALLETD_JEV=off.
- Agents can use it too, via the jev_decide MCP tool — same call, same price. The daemon can also sell it over x402 (50 sats/answer).
- Tips: put facts in --state and keep the question itself narrow; use noul for screening, choice when you already have a fixed set of actions, score for severity; batch related questions into one call.
- Don't put secrets in the state (seed words, WIFs) — the state is sent to the model provider.