qNEVAqNEVA

Field notes

Documentation · how State.OS works

Notes from the field.

Full documentation on how State.OS reads, normalizes and displays market state.

Overview

Reading vs. trading

Why nothing in State.OS executes, and what a wallet connection is actually for.

Every number in State.OS is a read. Prices, dispersion, depth and confidence are all observations about pools that already exist — nothing here places an order, routes a swap, or signs a transaction on your behalf. A wallet can be connected, and a chain badge is shown in the header on every page, but that's identity and context, not an execution channel. Connecting a wallet does not change what any page shows you; every reading is available without one, and every page renders identically whether a wallet is connected or not.

What a wallet connection actually does

The connect flow is a real Web3 connection — an injected-provider handshake (EIP-1193, discovered via EIP-6963) wired through wagmi, the same library most production dApps use for wallet state. What it is not is a WalletConnect relay or a custom signing bridge: there's no project ID, no session relay, because there's nothing that ever needs to request a signature. The connector exists to establish identity, full stop.

Connection state is kept in the browser's local storage only — wagmi's default client-side persistence. Nothing about who connected, when, or from which address is sent to or stored by any State.OS server.

The separation is structural, not just a promise

It would be easy to describe a product as "read-only" as a matter of framing while quietly leaving a signing code path available for later. That's not the case here: there is no transaction-construction or signing logic anywhere in the codebase this wallet connector touches. It isn't disabled behind a flag — it doesn't exist. If a future version adds anything that writes to a chain, that has to be new code in a new surface, not a switch flipped on this one.

This separation is deliberate for a specific reason: tools that blend observation with a call to action tend to bias the observation, even unintentionally, because the numbers that justify the action get more attention than the ones that complicate it. Keeping the two structurally apart is what lets the state shown here stay exactly that — a state, not a pitch.