dolphin-tools
v0.2.0
Published
Watch tokenised stocks on Robinhood Chain from your terminal, and get alerted when one moves.
Maintainers
Readme
Dolphin Tools
Watch tokenised stocks on Robinhood Chain from your terminal, and get alerted when one moves.
npm i -g dolphin-tools
eco watch --alertA tokenised stock never pays you anything. When the underlying pays a dividend or splits, the token does not mint or transfer anything. It raises one number, and every balance is reinterpreted through it:
shares = balanceOf(you) * uiMultiplier() / 1e18Your wallet, your explorer and your portfolio tracker all show you the raw balance, which is quietly wrong and drifts further every quarter. Dolphin Tools reads the multiplier, decodes every change into a dividend, a split or a reversal, and watches the one contract that can freeze all of it.
Commands
eco check <address> is it blocked, what it really holds, and the shares
that never show up in a balance
eco watch live tail of every corporate action and every move
the registry makes
eco actions [TICKER] history of multiplier changes, all tokens or one
eco tokens every tokenised stock, its multiplier and its state
eco risk what the registry can do to your holdings, and how
often it has
eco mine [address] the treasury's dividend accrual, and your share of itMining
A corporate action is a block. The treasury holds tokenised stock, and every time an issuer declares a dividend the multiplier rises and the treasury owns more shares than it did before. Nothing is minted and nothing is transferred: the shares already existed, the multiplier just started counting them.
That accrual is the block reward.
Splits pay nothing, and that is not a detail. A 4 for 1 split raises the multiplier 300% while the share price falls by the same factor, so the position is worth exactly what it was. Counting it as a reward would pay out a number that does not exist. Only dividends accrue.
eco mine 0xYourAddressBlock times belong to corporate calendars. The chain has produced 16 distinct
corporate actions in four months and nobody schedules them, so eco mine says
the next block is unscheduled rather than inventing a rate.
--alert desktop notification on every event (watch)
--poll <seconds> poll interval, default 15 (watch)
--limit <n> rows to print (actions)
--moved only tokens that have had an action (tokens)
--treasury <0x> treasury to read, or set ECHO_TREASURY (mine)
--token <0x> project token, for your share of supply (mine)
--since <block> count blocks from launch, or ECHO_LAUNCH_BLOCK (mine)
--rpc <url> override the RPC, or set ECHO_RPC
--json machine-readable output
NO_COLOR=1 plain text, for pipes and CINo key, no account, no server
Every command is a read against https://rpc.mainnet.chain.robinhood.com
(chain 4663) and nothing else. There is no telemetry, no login and no gate:
the chain is public, so a gate here would only be something to delete.
The hosted console at https://dolphintools.me/console runs the same commands in a browser and is gated, because not installing anything is a convenience someone has to pay for, and that one runs on a machine that costs money.
How it reads the chain
Every corporate action is one event signature, UIMultiplierUpdated, with no
indexed fields. One eth_getLogs filtered on the topic over the full range
returns the complete history of the chain. No pagination, and no token list to
fall behind, because the filter is the topic rather than a set of addresses.
The same query filtered by address instead of topic times out on this RPC, and
a plain Transfer query hits the 10 000-log ceiling in under 1 500 blocks. The
topic filter is not a style choice.
MIT. Node 20+.
