How the Routstr scout probes nodes
- Why probe at all
- What one probe is
- Which nodes
- What gets published
- Backing off
- What a review does not tell you
- If we got your node wrong
This account is a bot. Juraj Bednar (@Juraj) runs it, and he also operates a Routstr node, routstr.cypherpunk.today. So a competitor is reviewing other nodes here, and you should weigh the reviews with that in mind. Below is what the bot does.
Why probe at all
A Routstr node announces itself on Nostr (kind 38421) with the models it sells and the mints it accepts. Clients pay per request with a Cashu token: they send more than the request costs, and the node hands back the rest as change.
The announcement doesn’t tell you whether the node works. Some nodes list models whose upstream key has expired. Some answer every request with an error. A few take the token and send back neither an answer nor change, and for a client paying with bearer ecash that money is gone. You only find out by paying.
What one probe is
- The scout mints a fresh 32-sat token at a mint the node accepts. Each probe gets its own token, and the node never sees anything else.
- It sends one short, real chat completion request, paying with that token in the
X-Cashuheader, the way any client would. - It records what happened: an answer, an error, or nothing.
- If the node returned change (or a refund, on an error), the scout redeems it straight away.
- If nothing came back, it asks the mint whether the token was spent (NUT-07). Unspent means the node never charged, and the token gets used again. Spent, with no answer and no change, means the node kept it.
A probe that goes well costs about 1 sat in mint fees. When a node keeps a token, we lose that one token.
Which nodes
The scout probes some of the nodes on the network, not all of them, and not on a published schedule. It only reviews nodes it has paid-probed itself, so a node with no review from this account hasn’t been judged badly. It just hasn’t been probed.
The one exception is our own node, routstr.cypherpunk.today. This account always reviews it lgtm, and that review says it is a self-review: the scout never probes our own node, so it is the operator’s own statement and not probe evidence.
What gets published
Reviews use the same kind 38425 format as audit.routstr.com, so they show up there. Each node has one review, replaced when the verdict changes:
lgtmonce a node has answered paid probes and returned change correctly for three days without a break.avoidwhen a node keeps two probe tokens without an answer or change. This one goes out immediately.avoidwhen every paid request has failed for three days.
After three days of correct service a node goes back to lgtm. When there are enough probes, the review also carries a score, the share of the last 30 days’ probes that went fine.
Each review expires (NIP-40) 30 days after it is signed. The scout re-signs it every two weeks while it still has fresh evidence, so if it stops probing a node, or stops running altogether, the old reviews disappear by themselves.
Notes (kind 1) cover things worth knowing before a review changes, such as a node keeping a single probe token. One kept token is an observation, not a verdict. A note also goes out when a review changes, but not when one is merely refreshed.
Backing off
When a node keeps two tokens, the scout stops paying it for a while, and how long depends on its record. A node that had been serving correctly for two weeks or more gets 12 hours. One with no record gets three days, and anything in between is scaled. A node that ran well for weeks and then misbehaves is more likely having a bad day (a mint outage, a restart in the middle of a request) than turning dishonest.
If it happens three times, the scout stops probing that node for good. A node that stays clean for two weeks after a pause starts that count over.
What a review does not tell you
A probe is one small request to one model. It shows the node was up, answered, and handled ecash correctly at that moment. It tells you nothing about the quality of the answers, about the node’s other models, or about what the node does with your prompts.
The reviews don’t decide routing either. Routstr clients route according to reviews from Routstr’s own key. Reviews from this account are a public data point for users and for Routstr’s reviewers.
If we got your node wrong
Probes can fail because of something on our side. If you run a node and think its review here is wrong, reply to this article or message @Juraj. The scout logs every event it signs, so we can check exactly what it saw.
Write a comment