User guide · Kaspa L1

See who really holds it

A holder list tells you how much each wallet has. DagSphere tells you which of those wallets are the same person — who funded whom, what moved between them, and what the dev did with their allocation. This is how to read it.

Watch it work

Thirty seconds: a scan lands, wallets spread out by size, hovering a bubble opens its history, clicking one locks its connections lit, and a wallet gets a name. Download the MP4 to post it anywhere.

Sample data. $ACME is not a real token and none of these wallets exist — the app is genuine, the data is invented so nothing here reads as a claim about anyone.

What it tells you

Every scan answers five questions about a token's holders, in order of how much they should worry you:

Bundling
Which top holders are linked to each other — by a KAS transfer, a token transfer, or a shared funder — and how much of the supply those linked groups control between them.
Dev conduct
What the deployer did with their allocation: still holding, sold on the market, or moved it to other wallets first and sold from there.
Wallet age
Holders whose wallets were created days before the launch, or funded in the window just before it went live.
Serial launches
Whether the deployer has launched other tokens, and what happened to their allocation in each one.
Who already left
A holders list only contains people who still hold, so everyone who sold out and walked is invisible on every other tool. DagSphere names them and totals what they sold — on some tokens that is over 90% of all selling.

Everything is read from Kaspa L1 and the covenant ledger. Nothing is self-reported, and nothing is taken from the project.

Getting in

DagSphere is free with any Dagger account, and it takes about ten seconds:

  1. Send /sphere to the Dagger bot, in a direct message. It replies with a six-digit code.
  2. Enter that code at daggertrade.com/sphere. It works once, and it expires in ten minutes.
  3. That's it. Your browser stays signed in for 30 days. Ask for a new code any time.

Don't have Dagger yet? Start the bot — the same account trades, and DagSphere comes with it.

One account, one person

Your access is yours. If it gets used from two places at once, it is removed automatically — nobody has to notice, the system does it. Send /sphere again to get back in.

Nobody from Dagger will ever ask you for your code. If one arrives and you didn't ask for it, ignore it — it dies on its own.

Running a scan

  1. Pick a token, or type into the search bar. It takes a ticker, a covenant id, or a kaspa: address. Typing a ticker offers matching tokens as you go.
  2. Choose your depth — top 10, 20 or 50 holders. Deeper finds more, and takes longer.
  3. Wait. The scan reads every holder's transaction history off L1, one wallet at a time. Cold scans take roughly 5–10 seconds, cached ones about 2.
The DagSphere landing page showing a grid of tradeable tokens with prices and 24-hour changes.
The token grid is live market data — click any card to scan it, or paste an address into the bar to look up a wallet instead.
The scan loader, showing progress through wallet histories with a running count of wallets and transactions read.
The loader counts wallets and transactions as it goes, because the wait is the work. Depth is deliberate — halving how much history is read was measured to cut detected clustering by more than a third.

Why there is no score

DagSphere does not grade tokens. There is no 0–100 number, no letter, no risk level — and there won't be one unless it can be computed by someone who doesn't trust us.

An earlier version did have one. It was removed, and not because the weights were wrong. It's that we picked the weights. A grade the operator authors is a grade the operator can be accused of selling: move one coefficient and a token slides from D to B, and nothing on the page could prove we hadn't. Publishing the formula doesn't fix that — it stays our formula.

What you get instead is the evidence, unblended: how much of the supply moves together, which wallets are linked and by what, how old they are, what the dev holds, what the dev sold, and how much was sold by wallets that have since left. Every one of those is read off Kaspa L1 or the covenant ledger, and the links beside each wallet go to the raw records so you can check them yourself.

Reading them is your job, and that's the point. A concentrated holder set isn't automatically a scam and a clean one isn't automatically safe — a single number would have implied otherwise on both counts.

The verdict bar: the headline finding about how much supply is linked, and a bundle severity meter.
The verdict bar leads with a measurement — the share of supply that moves together — and states the finding in words before you look at anything.

Reading the map

Each bubble is a wallet, sized by how much of the supply it holds. Colour is its role; the ring around it is its cluster.

dev / creator holder shared funder infrastructure burned

Lines are evidence, and each kind means something different:

Solid teal
A KAS transfer. One wallet's input paid the other's output on L1. Direction and amount read straight off the chain — proof, not inference.
Solid violet
A token transfer. Decoded from the covenant ownership ledger, with the exact amount.
Dashed amber
A shared funder. The same outside wallet paid two or more of these holders. One is noise; several is the classic bundle tell — but read the next paragraph before you conclude anything.
A completed scan: the bubble map with clustered wallets, the scan statistics panel and the clusters panel on the right.
Rings mark clusters. The clusters panel on the right names each group, its combined share, and why it was grouped — linked by transfers is stronger evidence than shared funder.

Not every shared funder is a bundler

A faucet, an academy paying course rewards, an exchange withdrawal wallet — all of them pay lots of different people, and to a clustering pass that looks identical to one person seeding their own wallets.

The chain tells them apart without anyone having to declare anything: a seeder funds its wallets in one burst near launch, because those wallets exist to buy. A distributor pays different people whenever they earn it, for months. Hover a shared funder and DagSphere shows you which shape it has, measured — how many holders it paid, over how long, and how far apart. It is reported as evidence and changes no figure on the page.

Working the graph

Click a bubble to lock it — its connections stay lit while you move across to inspect them. Click it again, or click empty space, to unlock. Drag a bubble to pin it where you put it, double-click to release, scroll to zoom.

Every map starts tidy. Each linked group of wallets gets its own space, laid out in rings around its biggest holder, and the whole map is zoomed to fit your screen — so a top-50 scan on a phone is as readable as a top-10. Moved things about and made a mess? Hit ⟲ Tidy in the corner of the map to put it all back, or double-click empty space to fit it to the screen.

On a phone: drag to move, pinch to zoom, tap a bubble to lock it and open its card, and hold a bubble to name it.

Wallets with no links at all are kept out of the simulation and parked in the tray along the bottom. In a graph, proximity looks like evidence, and for these there is none — drop eight unconnected bubbles into a layout and they drift into clumps that mean nothing.

They were never hidden: they sit in that tray, and in the wallets table, with their real balances. If you want the whole holder set on the canvas anyway, hit Show on map at the right of the tray. They come in dashed and faded, sized true, so you can judge their weight without their position claiming anything.

Contracts are named, not counted

The biggest "holder" on a young token is usually not a person — it is the bonding curve holding the unsold supply. DagSphere labels them: bonding curve, liquidity pool, token contract, LP shares, and where the build has been audited by KasCov it says so and names the build. An unmatched build is flagged as unmatched rather than accused of anything.

The Kaspa burn address is labelled too, and burned supply is noted but never counted — it is nobody's holding, so it stays out of concentration and clustering, and appears on its own line so you can see why the figures do not add up to the whole supply.

The wallets table

The same holders as rows, sortable by any column. Flags are the fast read:

clean fresh prelaunch never-traded active-trader holds-transferred sold-transferred net-seller shared-funder dev dev:$TICKER capped
fresh
Wallet created within a week of the launch.
prelaunch
Funded in the two days before the token went live.
holds-transferred
Holds more than its on-venue buys can explain — coins arrived by transfer, not by buying.
sold-transferred
Sold more than it ever bought on the venue. It was given coins and sold them.
dev:$TICKER
This wallet deployed that token. Deployers are tagged on every scan, everywhere they appear.
capped
The wallet has more history than the scan reads. Its figures are a floor, not a total.
The wallets table showing share, balance, trades, tokens held, transaction count, age and flags for each holder.
Every row links out to KasCov for its covenant holdings and trades, and to the Kaspa explorer for its native KAS history. A wallet needs both to be read fully.

Transfers

Every link the map drew, as a list with amounts, transaction counts and dates. Below it sits a second table — windowed transfers — which is worth understanding.

Covenant transfers don't always name a counterparty. Where they can't be decoded, the wallet's balance history still proves that a quantity left or arrived, and brackets it between two known transactions. So the amount and the timing are certain; the other end is unknown. The table says so rather than guessing.

The transfers tab, listing wallet pairs with link type, amount, transaction count and first and last dates.
Direction is honoured for token transfers — the From and To columns mean what they say.

Naming wallets

Any wallet can be given your own name — "whale #2", "my alt", "the dev's other wallet". It then shows everywhere that wallet appears: on its bubble, in both tables, on the hover card and on its wallet page.

To name one
Click the beside any wallet in the table or on its page, or right-click its bubble on the map.
To remove one
Open the same box and leave it empty.
Where they live
Against your access link — so they come back every visit, and follow you to any device you open your link on.

Your names are yours alone

They are never shown to another user and never attached to the wallet publicly. A name beats a .kas name in the display, because you chose it and the chain didn't.

The wallets table with the second row renamed to Whale #2, shown in blue instead of a shortened address.
A named wallet reads in blue where the address used to be. Whale #2 here is the same row as before — nothing about the wallet changed, only how you see it.

The dev panel

On the right of every scan, the deployer gets their own box: how much they hold now, what they bought and sold on the venue, whether they've traded at all, and what else they've launched.

The line that matters most is launch history. One launch is not a pattern; three is. For each previous token it says what happened to that allocation — held, moved, sold, or quiet.

Read "Sold (venue)" carefully

It counts sales on the market only. A dev who moved their allocation to another wallet first and sold from there shows zero here — which is exactly why the transfer tracking exists. Check the moved figure and the transfers tab before concluding a dev never sold.

What it can't tell you

The tool is only worth using if it's honest about its edges.

Trade mechanics
Every trade pays fees to ordinary addresses inside the transaction. Those are deliberately never drawn as links — counting them would wire the dev to every person who ever bought.
Some counterparties
Where a covenant transfer can't be decoded, you get amount and timing but not the other end. The windowed transfers table is explicit about this.
Beyond the top N
A scan reads the depth you chose. Links to holders outside it aren't drawn — a deeper scan may find more.
Intent
Shared funders and fresh wallets are evidence, not verdicts. Exchanges, friends and normal on-ramps all produce the same shapes. Nothing here decides for you whether a token is a scam, and it isn't built to.

The full method, and everything the tool deliberately excludes, is published in the Method & limits tab inside the app — so the argument has an address.

The Method and limits tab, documenting how each measurement is derived and what the tool deliberately excludes.
Nothing about the method is hidden. If a project disputes a finding, this tab is the conversation.

It never touches your wallet

DagSphere is read-only. No connect, no signature, no key. It reads public chain data and shows you what's there.

What to send back

The most useful thing you can do is tell us where it's wrong. Reply to the bot in Telegram with any of:

  • A finding you don't believe. Name the token and say what you think is actually true — that is how the transfer tracking, the exited-wallet tab and the distributor detection all got built.
  • A number that looks wrong for a project you know well, in either direction.
  • Anything slow, broken or ugly — including on your phone.
  • Something you wanted to do and couldn't.

Scans, names and everything else are yours to hammer. You can't break anything that matters — it only reads.