Live on Robinhood Chain
Tare

What it cost you.

Your wallet shows you what you hold. It has never once shown you what you paid for it. Tare reads your whole history on this chain — the shares that arrived, and the dollars that left in the same transaction — and works out the cost of every lot, what it is worth now, and what you are up or down. Then it sells the ones you choose in one transaction.

Stock we read
$1.0m
in 17 real wallets, whole histories
Lots we could price exactly
7%
the rest arrived another way, and say so
Our contracts
0
and no approval to us
Reads your whole history, from the first block a stock ever moved Cost from the dollars that actually left First in, first out, and it says so One transaction to sell, through Uniswap's own router
How it works

Read it, price it, sell it

Tare is a page, not a company. It reads the chain from your browser and sends nothing but what you choose, from your own wallet.

01

Every transfer, from the first one

Paste any address. Tare asks Robinhood Chain for every transfer of a tokenized stock with that address on either side — and, in the same queries, every dollar and every wrapped ether that moved with them — starting at block 140,000, where the first of these stocks ever moved. That is the whole history, not a guess from a balance.

Free · no wallet needed to look
02

What each lot cost

In the transaction where the shares arrived, something left: USDG, ETH, or other shares. That is what they cost. Where nothing left — a gift, a transfer from your own other wallet, liquidity coming back — Tare values them at the chain's own price in that block and marks the lot received.

7% of the lots we read were exact
03

Sell what you choose

Tick the stocks you want gone — or tap Down to tick everything you are losing on. Tare quotes every leg on the better of Uniswap v3 and v4, tells you the gain or loss it books before you sign, and sends one transaction to Uniswap's Universal Router.

About $0.039 of gas for a two-stock sale
What a cost is

One rule, written down, applied to everything

A cost basis is a judgement as much as a number. Here is the whole judgement Tare makes, in the order it makes it.

The rule

  1. Shares that arrived cost whatever left the wallet in the same transaction — USDG at a dollar, ETH and wrapped ether at the chain's own ETH price in that block, other shares at their own price in that block.
  2. If several stocks arrived at once, that cost is split between them in proportion to what each was worth at that block.
  3. If nothing left, the lot is received and valued at what the chain says it was worth when it arrived. Tare will not invent a price somebody paid you off chain.
  4. Shares that left are sold for whatever arrived in the same transaction, split the same way. If nothing arrived, they were sent: the lots go at what they cost and nothing is booked as a gain. Moving your own shares to your own cold wallet is not a profit.
  5. A sale consumes the oldest lots first. First in, first out — the default every tax authority assumes, and the one that cannot be chosen to flatter the number.

Worked, in dollars

Block 65,642,498bought 2.00 shares$600 left the wallet
Block 65,643,498bought 1.00 more$400 left the wallet
Block 65,644,398sold 2.00$800 arrived
first in, first out: those two cost $600+$200 realised
one share left, at the second lot's price$400 of cost

The same arithmetic runs in js/ledger.js, which is the file the page loads, the property run executes and the fuzzer attacks. There is no second copy of it anywhere on this site.

What we found

We read 25 real wallets before we asked you to

The first 25 addresses, in a fixed order nobody chose, of the 775 stock holders on this chain. Whole histories, through the same two files the page runs.

Held between them
$1.02m
at the prices in block 65,570,610
It cost them
$988,001
as Tare reads the chain
Up or down
+$30,476
14 up, 2 down
Already realised
−$84,912
booked by sales they have made

Where the costs came from

  • Exact — the dollars that left the wallet10 lots · 7%
  • Valued on arrival — nothing left for them132 lots · 93%
  • Sales these wallets have already made37
  • Transactions read in all635

A lot is exact when the chain shows dollars leaving the wallet in the same transaction as the shares arriving. Everything else is valued, and says so on the row.

What it cost us to read them

  • Wallets read25 (8 could not be read)
  • Median wallet72.7 s
  • Log queries, median wallet14
  • Price queries, median wallet4

Reading a wallet is a few log queries, not one per transaction: an earlier version fetched a receipt for every transaction and took over ten minutes on the busiest address here.

Where it is wrong

The case against this page

Every number here comes from one chain, and the chain does not know everything about your money. These are the gaps, in the order they are likely to matter to you.

It cannot see off-chain

If you bought shares somewhere else and sent them here, the chain has no idea what you paid. Tare marks that lot received and values it at the price when it arrived — which is a different number from your cost, and the page never pretends otherwise. In the wallets we read, 93% of lots were like that.

It does not count gas, and it is not tax advice

The fee you paid to make each trade is not in the cost. Neither are wash-sale rules, holding periods, or anything your own tax authority does differently — including whether these tokens are securities where you live. Tare is a ledger of what the chain shows. It is not advice, and nobody here is your accountant.

Liquidity positions leave a hole

Shares put into a Uniswap position leave your wallet and come back as a different amount. Tare books them as sent and received, so the cost survives but the gain from providing liquidity does not appear. Where the lots no longer add up to the balance the chain reports, the row says so rather than showing a cost that cannot be right.

Selling

One signature, one transaction

Tare holds nothing and deploys nothing. Selling is Uniswap's own Permit2 and Universal Router, called by your wallet.

What your wallet is asked

  1. An ordinary approval of Permit2 for each stock you have never sold before — skipped when one already covers it.
  2. One signature covering every stock in this sale, good for 30 minutes. A signature, not a transaction: it costs nothing.
  3. One transaction to the Universal Router. Every leg is routed to the better of Uniswap v3 and v4, every dollar is paid straight to you, and the whole thing is run against the chain first so a refusal is a sentence rather than a failed signature.

What it books

Before you sign, Tare tells you what the sale realises against the cost of the lots it will consume — first in, first out, the same lots the table shows. A loss you have been carrying becomes a loss you have taken, and the page says so in those words.

  • One stock155,060 gas · $0.022
  • Two stocks, one transaction269,528 gas · $0.039
  • Approving Permit2, once per stock46,417 gas · $0.0067
  • Gas price when measured0.059 gwei · ETH $2,449.60
What was checked

Every claim here has a run behind it

Each figure below is written by the tool that produced it, into data/, and the build refuses to publish a page with a number nobody computed.

Properties, on the real chain
19/19
at block 65,699,369, selling AAPL through v3 and AMC through v4
Sabotage
12/12
broken builders, each caught by the property named for it
Fuzz
2×10
11/11 deliberate breaks caught by the invariant named for each
The app, clicked through
25/25
a real browser on a fork, under the deployed policy
The live page, real chain
7/7
compared with a node read at the page's own block

Tare has not been audited. It deploys no contract of its own, so there is nothing of ours to audit — but the page could still be wrong about your money, and the checks above are the reason to believe it is not, in the ways they cover.

Questions

The ones worth asking

Can Tare move my money?

No. It never asks for an approval of its own, and it has no contract to hold anything in. The only approval it ever asks for is to Uniswap's Permit2, for the exact number of shares in the sale you chose, and the dollars go from the pool straight to your address.

Why is one of my stocks missing?

Tare prices 51 stocks — the ones with a real Uniswap pool against USDG on this chain at block 65,570,610. A token with no pool has no price, so it cannot be valued or sold, and it is left out rather than shown at zero.

The number does not match my own records.

Most likely one of three things: a lot that arrived from somewhere the chain cannot price (the row says received), gas that Tare does not count as cost, or shares that went into a liquidity position and came back. If the lots do not add up to your balance, the row says that too.

Does it store anything?

No account, no server of ours that sees your address, no analytics. The one thing that is not your browser is a small proxy for reading the chain, which exists because Robinhood's public node rejects a browser exactly when it is busy.

Why first in, first out?

Because the alternative is choosing, and a ledger that chooses gets to decide whether you made money. FIFO is what most tax authorities assume by default. Tare states the method on the page and in every export.

Who made this?

It is one page on a static host, with no company behind it. The photograph, the licence and the credits are on the credits page; what it can and cannot see is spelled out in the docs.

Find out what you paid.

Any address, no wallet needed to look.

Read a wallet