← kascov.io

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

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:

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:

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

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.