Nurvo Ai

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

  1. 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.

  2. 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".

  3. 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.

  4. 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.

  5. 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.