the kascov Discord bot
At its core it answers one question: does this Kaspa address really hold this token? It checks a signature against the address’s own key, reads the balance from chain, and grants a role only if both hold up. Nothing is taken on trust, including your word for it. Everything else it does, the audit vote and the watchtower DMs, rides on that same proof.
last updated 2026-08-05
It will never ask you for a seed phrase, a private key, or a wallet connection. Signing a message is free, moves nothing, and cannot authorise a transaction. Anything asking for more is not us. Check kascov.io and the official links channel before trusting any link that claims to be kascov.
Terms
What it does
You ask the bot to verify an address. It gives you a one-time phrase
containing your Discord user id and a random nonce. You sign that phrase in
your own wallet and hand back the signature. The bot checks it against the
address you named, using the standard Kaspa personal-message scheme, then
reads that address’s token balances from chain and grants the
verified holder role if a balance is there.
The check repeats on a schedule. The role reflects what you hold now, not what you held once, so it is removed when the balance goes.
On top of verification it runs two things for verified holders, both described below: the audit vote and watchtower DMs.
What it does not do
- It does not move funds. It cannot: a signed message is not a transaction.
- It does not read your messages, or anything in any other channel.
- It does not give anyone influence over what kascov.io reports. Holding a token buys a role, a vote on what gets audited next, and early access to new tools. It does not buy a verdict, and asking for one is the fastest way to lose the role.
The audit vote
Verified holders whose proven balance is at least 100 $KASCOV can vote on
what gets audited next with /vote. The floor keeps a wallet
of dust from being a ballot; it is policy, not physics, and it changes
only by a commit to the public repo. One holder, one vote per round.
Voting again before the round closes replaces the earlier ballot, it
never adds a second one. Rounds are opened by the operator with a slate
of two to six options, and close when the operator closes them or after
five days, whichever comes first.
The tally is public at kascov.io/vote as counts only.
Who voted for what is never published, and when a round closes the
ballots themselves are deleted. Two things survive a close: the counts,
and the fact that you took part — a voted-round-N
claim in your public passport that names the
round, never the choice. The disclaimers
are part of the rules and ship inside the tally file itself: the vote
accelerates the audit queue, it never decides a verdict, and kascov may
audit anything at any time, voted for or not.
Watchtower DMs
Verified holders can get a Discord DM when something they already care about changes: a token they hold moves market phase (bonding to graduated), or their own proven balance crosses zero or the 100 dust floor. Every alert derives from endpoints anyone can read on kascov.io, so a DM never tells a holder anything the free site does not already show. It is a convenience, not an edge.
New verifications start with alerts on, and /alerts off
stops them. Anyone verified before this feature existed is off until
they opt in with /alerts on: nobody gets messages they
never agreed to. If your Discord privacy settings refuse the DM, the bot
marks you unreachable and quietly stops trying; /alerts on
makes it try again.
No warranty
kascov is free, open source, and provided as is. It derives everything from the Kaspa chain and publishes only what it can prove, but it is not financial advice and it is not a guarantee. Verify anything that matters yourself: every figure on the site links to the page that proves it, and the source is at github.com/Knitser/kascov.
Losing access
The role can be removed if your balance goes, if you ask, or if you break the server rules. Nothing else here is conditional on holding anything: kascov.io stays free and open whether you hold a token or not.
Early access: the lane policy
Holding $KASCOV can put you first in line for new tools. It never puts you first in line for findings. That line is the whole policy:
- Holder-first early access covers tools only: interfaces, bots, dashboards, conveniences. Never findings about live mainnet tokens.
- A tool that computes new facts about live mainnet tokens previews on testnet data, or its findings publish to everyone at the same moment. There is no window in which a holder can read something about a mainnet token that the public site does not show.
- Anything scarce or competitive on chain launches for everyone simultaneously. Early access is never a head start in a race.
- Windows are discretionary and announced per release.
Beneath the policy sits the standing doctrine: kascov.io stays free for everyone, the token buys no influence over verdicts ever, and holder lanes only add capacity on top of the anonymous tier, which is a floor that can only rise.
Privacy
Everything the bot keeps after you verify:
- your Discord user id
- the Kaspa address you proved
- the time you proved it
- the balance it read at that moment
- your alert preference, on or off
- your alert cursor: the last market phase and balance bucket the watchtower told you about, kept so it messages you on change only
- your ballot in the current round, while that round is open; closing a round keeps the counts and deletes the ballots
- the rounds you have voted in — the round name and its close
date, kept after close so your passport can carry its
voted-round-Nclaim; the choice itself is deleted with the ballot - the time of the last periodic re-check
- an unreachable flag, set if your DMs are closed so the watchtower
stops trying;
/alerts onclears it
That is the whole record. It exists so the role can be re-checked later without asking you to sign again, and so the same address cannot be claimed by two different accounts.
What becomes public: the passport
One derived slice of that record is published on purpose, in the claims
file at /passport-claims.json
and rendered at kascov.io/passport: the address
you proved, each badge you have earned, the date it was granted, and
— for rounds closed after this notice first shipped — a
voted-round-N participation claim naming the round you
voted in. The file never carries your Discord identity, and a
participation claim never says what you picked: the account-to-address
link and the ballot itself stay unpublished.
While you are mid-verification
Between /verify and finishing, one more thing is held for up to
fifteen minutes: the phrase you were asked to sign, and the Discord token
that lets the bot edit its own message when you are done. That is what turns
“sign this” into “verified” in the same message
rather than leaving you guessing.
Both are deleted the moment you finish, and expire on their own if you do not. Neither survives into the record above.
What is not stored
- No seed phrase, private key, or anything that could move funds. The bot never receives one.
- No message content. The bot only sees the commands you send it.
- No email, no IP address, no analytics, no advertising identifiers.
- Your signature is used to check the proof and then dropped. It is never written down, not even for the fifteen minutes the phrase is.
Who else sees it
Beyond the passport slice above, nobody. The record itself is not sold, shared, or sent anywhere. It lives on the same server that runs kascov.io. Note that your Kaspa address and its balances were already public on chain before any of this: the bot learns which Discord account goes with an address, and that link is the only new fact it holds.
Deleting it
Run /unverify. The row is deleted, anything mid-verification
is cleared, your ballot leaves any open round, and the role is removed,
with no record that it ever existed. Passport claims derive from that
record, so they leave the public claims file the next time it
regenerates: revocation is absence. You can verify again later with the
same address or a different one. Leaving the server has the same effect,
applied at the next periodic check, so within a few hours rather than
instantly.
Analytics on the site
Separately from the bot: kascov.io measures its own traffic from its own server logs. No analytics SDK, no cookie, no tracking pixel, no third-party collector.
Contact
@0xKnitser on X, or the kascov Discord. Anything wrong on this page is a bug, so please say so.