The kascov Discord bot · verified holders

Prove your address once. Every holder door opens.

Hold any amount of $KASCOV, sign one free message, and you are a verified holder: the role, a vote on what gets audited next, watchtower DMs when something you hold changes, first-in-line access to new tools, a passport claim you can prove anywhere, and an API lane at five times the anonymous capacity. The site itself stays free for everyone — the tier only adds.

last updated 2026-08-28

Status · voice · access

What a verified holder gets.

Six things, all real, all additive. None of them is influence: verdicts stay derived from the chain no matter what anyone holds.

One free signature

How verification works.

No wallet connection, no transaction, no funds moved. You sign a phrase; the bot checks the signature and reads the chain.

  1. Hold $KASCOVUse a wallet whose keys are yours. Any amount counts.
  2. Run /verifyIn the kascov Discord, enter your address. The bot answers with a one-time phrase and a kascov.io/verify link.
  3. Sign onceThe link opens this site with the phrase ready. One signature in your wallet — free, and it cannot authorise a transaction.
  4. The role landsThe bot checks the signature against your address’s own key, reads the balance from chain, and grants the role.

Prefer to stay in Discord, or use a wallet the page cannot drive? Sign the same phrase by hand — any wallet with a Sign Message feature works — and paste the signature into /confirm. The manual path is the same proof and is always documented on the signing page.

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.

The agreement

Terms.

At its core the bot 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 rides on that same proof.

What it does

You ask the bot to verify an address with /verify. It gives you a one-time phrase containing your Discord user id and a random nonce, together with a kascov.io/verify link that carries the phrase ready to sign. One signature in your own wallet finishes it there; or sign the phrase by hand and paste the signature into /confirm — the two paths are the same proof. Either way the bot checks the signature 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.

Tools, never findings

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. The holder API lane — today 5× that floor — is the same doctrine applied to capacity.

The whole record

Privacy.

The record below is everything, it exists for exactly two reasons, and /unverify deletes it.

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-N claim; 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 on clears 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.