Tusklynk

How the numbers are made

Tusklynk reports what already happened on a public ledger. It does not execute, advise, recommend, promote, or take custody. Every figure below is reconstructed from the chain and from published lists, and every figure carries the limits of that reconstruction beside it.

What a wallet page shows

Holdings: the native balance and token balances on Base, Ethereum and Solana, read live from the chain through a data provider. Every token row shows its contract or mint address beside its name, because a token's name and symbol are written by whoever deployed it and prove nothing. The address is the only identity.

Realised PnL, where it is shown: the profit or loss on trades already closed, over the last 180 days, with two completeness figures beside every number and the caveats listed on this page displayed rather than only documented. Nothing is projected. Unrealised positions are not valued.

The unit is US dollars. A native-currency view of the same trades is shown alongside. Other currencies are not offered yet.

Realised PnL

  • Only swaps count as trades: a transaction where the wallet gives exactly one asset and receives exactly one other. Everything else is excluded and counted, and the counts are shown.
  • Cost basis is first in, first out per token. A token that arrived by plain transfer, airdrop or any route other than a trade has no known cost; a sale drawing on it realises nothing and is reported as unknown basis rather than as zero.
  • The window is 180 days. Anything acquired before it has unknown cost, and the completeness figure says so.
  • A wallet's history is walked at most 100 provider requests or 50,000 rows deep, whichever comes first. If the walk stops short, the page says how many of the 180 days it covered and the block it reached. Coverage is stated in days, never as a percentage.
  • ETH, wrapped ETH, USDC and USDT are treated as money, valued at the trade's hour and never given a cost basis of their own. A trade between two of them realises nothing. On Base, USDT is not yet priced and is treated as an ordinary token with unknown cost.
  • Nothing per token is final until the walk stops: an older buy changes the basis of every later sale. During a walk the page shows counts, not amounts.

The two completeness figures

Basis completeness is the share of sale proceeds, in dollars, for which the cost of what was sold is fully known. A sale that draws partly on a lot with unknown cost counts as incomplete. It needs no labels and no outside data, so it is available for every wallet the walk can reach, and it is shown beside the days the walk covered.

Outflow to named exits is the dollar amount sent from the wallet, outside trades, to addresses on a published list within the walked window, and how much of it did not come back from the same organisation afterwards. Today that list holds exchange addresses only; mixer and opaque-bridge labels are defined but none exists yet. It is an amount, never a percentage: what left the wallet in total is not a meaningful denominator, because it mixes exchange deposits with the paying half of trades settled across two transactions and with transfers to the wallet's own other addresses, and nothing in a single wallet's history separates them.

The two fail in different directions, which is why both are shown. A wallet that sends most of its holdings to an exchange and trades the remainder on-chain reports a clean basis figure while the economic outcome is invisible; that is what the outflow figure exists to catch.

Outflow to named exits is a lower bound. Only exchanges' published hot wallets are labelled, and people mostly deposit to per-user addresses the exchange sweeps into those wallets, so on real behaviour the figure is near zero. Matching deposit addresses by one hop is a decision not yet taken.

Prices

  • Hourly US dollar prices from CoinGecko, cached by asset and hour. A trade is valued at its own hour's price or not at all; a missing price makes cost or proceeds unknown, never zero.
  • Stablecoins are priced from the market like any other asset, never assumed to be one dollar.
  • Precision is bounded by movement within the hour. Checked against Coinbase's hourly candles on three hours in September 2026, every hourly point lay inside the hour's high-to-low range; ETH moved 1.3% within one of those hours, and a dollar figure here is no more precise than that.

Labels

  • Labels come only from lists their owners publish: Binance's proof-of-reserves address list, on Base, Ethereum and Solana, and Base's own list of Coinbase tokenised-stock contracts. Each label records its source.
  • Coinbase publishes no exchange address list, so its addresses are unlabelled. Several other exchanges publish lists that could not yet be captured. An outflow to an unlabelled exchange is not counted.
  • On Ethereum only exchange labels exist today, so outflow to named exits there counts exchanges only.
  • No private individual is ever named as an address owner. A label names an organisation and says only that it published the address as its own.

Coverage by chain

  • Base: holdings and realised PnL. The method was built and checked on Base wallets.
  • Ethereum: holdings and realised PnL by the same code as Base. As of 24 September 2026 no Ethereum wallet's PnL has been checked against a hand-verified history; that check is scheduled.
  • Solana: holdings and realised PnL, live since 25 September 2026. Outflow to named exits shows as not available for Solana wallets, because the transaction data Tusklynk reads there carries no counterparty address to label; basis completeness is unaffected. Solana walks draw on one daily request budget shared by every wallet; when it is spent, the page says so and the walk runs after the budget resets at 00:00 UTC.

What the figures leave out

  • Gas is not included. On Base and Ethereum the fee is not carried at all; on Solana a transaction that only paid a fee reads as a disposal. The two chains are distorted in opposite directions.
  • A transaction where the wallet sends and receives the same asset, such as a wrap, an unwrap, a liquidity action or a transfer to itself, is not a trade. Wraps and unwraps are recognised only when made directly, not through a router.
  • Both chains net within a transaction: a buy and a sale of one token in one transaction reads as neither, and a transaction that sent ETH and received ETH back reads as no movement.
  • A walk that reached its cap is truncated, and the page says so.
  • A one-sided liquidity deposit reads as a buy of the pool token and its withdrawal as a sale; a two-sided deposit and a concentrated-liquidity position are excluded, so a liquidity position's result may appear as a token trade or not at all.
  • On Solana, rent returned when an empty token account is closed is not matched to the rent paid when it was opened, so realised PnL there is understated.
  • Within one Solana slot, the order of trades follows the provider's order, which carries no index inside the slot.
  • Tokens that report a balance for every address, a known fraud pattern, are dropped from holdings by a list of 83 Base contracts measured on 17 September 2026. New ones are not caught until a live check ships. A token that copies a real token's name or symbol is not flagged; its address is the only thing that tells it apart.

Freshness

A wallet's realised PnL is computed once and served for six hours; the page shows when it was computed. A walk that stopped because a provider kept failing is served as a partial, with the failure named, for ten minutes, then tried again. Holdings are read live on every visit.

Every history measurement in the build record was taken with zero-value transfers excluded, and the walk excludes them explicitly, so zero-value transfers are absent from every count on this site.

What is stored

This is the complete list. Anything not here is not stored.

  • Your watchlist, if you are signed in: your ContentLynk user id, each saved address, an optional label, and when it was saved. Removing an entry deletes the row.
  • A session cookie holding your ContentLynk user id and username, signed, for seven days, and a sign-in cookie holding where to send you back to, for ten minutes. Signing in is done by ContentLynk; Tusklynk never sees a password and keeps no account of its own.
  • In your browser only, while a sign-in started from a Save button is in progress: the address you were saving, so the save can complete when you return.
  • Caches keyed by chain and address, never by user: token metadata for a year, daily price rows, and each wallet's computed PnL result for six hours, plus the working state of a walk in progress. None of these records who asked.
  • Address labels from the published lists above, with their sources, and a daily count of requests made to each data provider.
  • Server logs: request lines, and whether a sign-in began at a Save button, as a single word with no address and no user id beside it.

Not stored: any token balance, including any balance used to decide access; any email address; any link between a person and a wallet. No analytics script runs on these pages today.