Docs
How Obsero works
Getting started
You do not need an account or a wallet to watch anything. Open the monitor, paste an address and the newest events of that contract appear within a few seconds. Add rules, press Save watch, and the watch stays in this browser. A wallet is needed only to publish a preset, or to follow your own address in one click.
- Pick a target: a token, a lending market, a vault, a multisig, any address on Robinhood Chain.
- Read its events in the monitor; filter by kind, search by transaction or address, sort by amount.
- Add rules. Each new event is checked against them while the tab is open.
- Allow browser notifications if you want a pop-up; every match also lands in the alert log.
Contract monitor
The first read walks backwards from the head block in windows. It starts with a window of a few thousand blocks, grows it while answers are small and shrinks it when the node says a window holds too many logs. It stops after a handful of queries, about 200,000 blocks or a few hundred events, whichever comes first. A busy token can fill that budget within minutes of history; the page says so when the read stops early.
After that, the open tab asks for the newest 2,000 blocks every five seconds and merges what is new. New rows flash briefly, and any that match a rule are tagged.
Decoded events
These signatures are decoded into named fields: Transfer, Approval, ApprovalForAll, OwnershipTransferred, Upgraded, AdminChanged, Paused, Unpaused, Deposit, Withdrawal. Anything else is listed as an unknown event with its topic hash and data size, so nothing is hidden. Matching is by signature hash and layout only: a contract can emit a familiar-looking event that means something different, so read important ones on the explorer.
What is at the address
The side panel shows the code size (zero means a wallet or an empty address) and, when the address answers like an ERC-20, its name, symbol, decimals and total supply. Amounts in the table use those decimals.
Live stream
The live stream reads the newest sixteen blocks with their transactions every few seconds and lists every user transaction: plain ETH transfers, contract calls (with the method name when the selector is a common one) and contract creations. Each block on Robinhood Chain also carries one sequencer system transaction; it is counted separately and not shown as activity.
The globe draws one dot per transaction. Transactions have no location, so a dot's position is derived from its hash and means nothing; the dot itself is a real transaction you can click and open.
Watchlist
The watchlist follows up to twelve wallets. Every ten seconds each one is read: ETH balance, nonce, code size, and its USDG and WETH balances. The table shows what changed since your last visit (this browser remembers the last reading). Wallet rules can fire when the nonce moves, when the balance crosses a line, or when network gas rises above a level.
Alert rules
A rule document is compact JSON with a version and up to 8 rules. Key order is fixed, so the same rules always produce the same bytes and the same hash:
{"v":1,"rules":[{"k":"transfer_over","min":"100000"},{"k":"event","name":"OwnershipTransferred"}]}eventwithname: one of the decoded event names, orany.transfer_overwithmin: a Transfer of at least this many tokens (decimals applied).involveswithwho: any decoded event with this address in one of its fields.balance_below/balance_abovewitheth: a watched wallet crossing an ETH balance.nonce_moved: a watched wallet sent a transaction.gas_abovewithgwei: network gas price above a level.
Rules fire on the change, not continuously: a balance that stays low alerts once. Everything runs in your tab. Email and webhook delivery, which would keep working while you are away, are planned.
Watch presets and ObseroWatchBoard
A preset is a target address, a label (up to 48 bytes) and a rule document (up to 2,048 bytes). Published presets live on the ObseroWatchBoard contract on Robinhood Chain. It is deployed at 0x9e193c0170f317885c1b6f06144ff9963b30122b.
publish(target, label, rules)stores the publisher, target, label, rule length, keccak-256 of the rules and the chain's own block number, and emitsPresetPublishedwith the rule bytes. About 240k gas.retire(id)marks your own preset retired. Nobody else can; nothing is ever deleted.preset(id),presetCount(),targetPresets(target, offset, limit),publisherPresets(publisher, offset, limit)are paged reads (newest first, up to 100 per call).
Importing a preset reads its publish event from the exact block, hashes the rule bytes and refuses them if the hash differs from the one stored. The contract has no owner, no admin, no fee, no pause and no upgrade path, and it never holds funds.
Where the data comes from
All of it is public Robinhood Chain data read with standard JSON-RPC calls. The site's server reads through the chain's public RPC with two fallbacks and caches shared answers for a few seconds, so many visitors cost the chain no more than one. Browser reads go through a read-only relay that only accepts read methods, caps log ranges at 20,000 blocks and limits how much each network can ask for. The relay never forwards a signed transaction; anything you sign goes from your wallet to the chain.
Developer API (planned)
A developer API that serves the same monitoring data to your own apps, with keys and usage limits, is planned. It does not exist yet. The routes the site uses internally are not a public API and may change without notice.
$OBSERO
$OBSERO is the Obsero token on Robinhood Chain. Its planned uses are API credits, alert capacity and monitoring plans; none of them exist yet, and the token promises no value, income or reward. See the token page for the contract address and live supply once it launches.