How it works
How a block of data becomes a finding
Nurvo Ai runs the same steps in the same sequence for every address, and each step feeds only on the output of the one before. A result never shows up without its source.
Inside a token scan
- 01
Read at one block
The server asks Robinhood Chain for the latest block, then reads everything at that block: the contract code, the standard proxy storage slots, owner(), name, symbol, decimals and supply. Transfer logs are read backwards from that block in windows that shrink when the node refuses a range and grow while answers are small.
- 02
Fill in from outside sources
Sourcify, and then the Blockscout explorer, answer whether the source code is published and matches. The explorer also lists the largest holders and the deployment transaction. Dexscreener gives the depth of the pools that trade the token. Each source can be down; the input is then marked unavailable and the rules that need it say "not checked".
- 03
Run the rules
12 token rules and 6 wallet rules, each with a fixed threshold and a version number. The engine is a pure function: the same inputs give the same findings, so anyone can rerun a report and compare.
- 04
Write it out
Every finding gets a short plain-language reading, the evidence it pointed at (with explorer links), the line it drew and a sentence on what it cannot show. These sentences are written by the rules themselves; nothing is generated or guessed.
- 05
Fingerprint and, if you want, seal
The report is encoded with sorted keys and hashed with keccak-256. Saving keeps it in your browser. Sealing writes the fingerprint, the rules that fired and the block into the NurvoDocket contract under your address, so later anyone can prove the report existed unchanged.
Inside a wallet trace
The trace reads the wallet's ETH balance, the number of transactions it has sent and whether code lives at the address. Its token transfers come from the explorer when it answers, which gives a long history; otherwise from the most recent blocks of the RPC, because public nodes only allow short ranges for queries that are not tied to one contract. The result says which of the two it used.
For every token the wallet touched, the trace reads its current balance and the allowance it still gives to the main Uniswap contracts and Permit2, plus any spender it approved in recent blocks. Counterparties are ranked by how many transfers they share with the wallet. Tokens that arrived but were never moved are listed separately, because unrequested tokens are a common lure.
Shared transfers are shown as exactly that. Two addresses trading with each other is never presented as proof that one person controls both.