Corrupt Bot by Corrupt Solutions

Corrupt Bot // Docs

How it works, in plain words.

Corrupt Bot gives the holders of your NFT collection their Discord role and takes it back when they sell. Here is everything it does, what it asks for, and what to do when something looks wrong.

Set up in five minutes

Everything works from your phone. You need Manage Server on the server (or to own it).

  1. Open corrupt.solutions/bot/setup and press Sign in with Discord. The bot sees your username and your server list — nothing is posted as you.
  2. Pick your server.
  3. Licence: sign with a wallet that holds a Hood Lord (free), or pay $120 in USDC or ETH and sign with the wallet that paid.
  4. Collection: paste the contract, the Solana collection address or the Sui NFT type, press Look it up, then Add this collection.
  5. Roles & channels: name the holder role. Tier roles and a 1/1 role are optional.
  6. Brand (optional): a name, accent colour, tagline and logo for your verify page, and the bot’s nickname.
  7. Add the bot: press Add to your server, then Authorize on Discord’s page. It brings you back.
  8. Build it: one press makes the roles and a #verify channel with the pinned Verify button.
  9. In Discord, lock your holders’ channels to the holder role (Edit Channel → Permissions).

What your holders see

  • The button. In #verify there is a pinned message with a green Verify button. Typing /verify works too.
  • The private link. Pressing it answers privately with a link to the verify page. It works once, for the next 15 minutes, and only for the person who pressed it.
  • Is this you? The page shows their Discord @handle and asks them to confirm before anything else.
  • The wallet signature. They connect the wallet that holds the NFT and sign a short message. It is free: no transaction, no gas, nothing leaves the wallet.
  • The role and the DM. The role lands in seconds and the bot sends a DM saying so. Holders can come back any time to link another wallet or unlink one.

Holders who aren’t in your server yet can use your server’s holder link (the dashboard’s Copy the holder link): they connect Discord on the page, and it adds them to the server once they verify.

How and when roles are removed

  • Every hour the bot re-reads linked wallets, each on its own chain — a big server is covered across a few runs — so sellers lose the role within hours. If a holder’s wallets no longer hold enough, the role comes off and the bot DMs them why.
  • A failed read never removes a role. If a chain doesn’t answer, nothing changes for that wallet — it goes first in the next re-check. Nobody loses a role because a chain was slow.
  • Re-check now in your dashboard runs it at once for your server (once every 10 minutes).
  • Unlink. A holder can unlink a wallet on the verify page; you can unlink any wallet from the dashboard’s Holders tab. If it held everything, the role comes off right away.

Tier roles follow the same rule: each one is held while the total across a holder’s wallets stays at or above its minimum.

Supported chains

  • ERC-721 collections on Ethereum, Base, ApeChain and Robinhood Chain.
  • Solana collections — the verified collection address marketplaces group by, not a single NFT or a creator wallet.
  • Sui NFT types (0x…::module::Type), including NFTs held in kiosks.
  • ERC-1155 isn’t supported yet. The setup page says so if you paste one.

One server can check up to five collections on any mix of chains; a holder’s NFTs across them add up. Each Discord account can link up to ten wallets per server. Holders sign with the wallet app they already use — MetaMask, Rabby or Coinbase Wallet for EVM, Phantom or Backpack for Solana, Slush for Sui — in the browser or inside the wallet app.

The phishing warning

Never open a verify link someone else sends you — even a corrupt.solutions one. Press the Verify button in your server yourself.

Each press makes a private link for the person who pressed it. A link from someone else is theirs: signing on it would link your wallet to their Discord account. That is why the page always shows whose link it is — Is this you? @handle — and why you should press Not me if it isn’t.

  • Nobody from the team will DM you first.
  • The bot never asks for a seed phrase, a private key or a transaction. Verifying is a free signature; it moves nothing.
  • Discord warns before opening any site outside Discord. That is normal — check that the address is corrupt.solutions.

Pricing and licences

  • Free for Hood Lords holders. Sign with a wallet that holds a Hood Lord when you set up. The server stays licensed even if you sell later.
  • $120 once per server for everyone else, paid in USDC or ETH on Base or Ethereum. The setup page shows the address. Send it from your own wallet, paste the transaction hash, and sign with the wallet that paid.
  • USDC: 120. ETH: at least $120 at the current price — checked against Chainlink’s ETH/USD price when you submit, so send a little more.
  • A payment counts once it has 3 confirmations: USDC for up to 7 days after it was sent, ETH within 2 hours of sending (it is valued at the price when you submit, so an old payment can’t wait for the price to rise). Each payment licenses one server.

No monthly fee, no renewals. The licence stays with the server for good. Your holders never pay anything.

Permissions the bot asks for

Manage Roles
to give and take the holder roles it made — only roles below its own.
Manage Channels
to make #verify (and, for a fresh server’s full layout, the holder categories).
View Channels, Send Messages, Embed Links, Read Message History
to post the Verify message.
Pin Messages
to pin it and keep it in place.
Create Invite
an invite for holders Discord won’t add by itself.
Change Nickname
its own, if you give it one.

What it never does: no Administrator, no kick or ban, no Manage Messages (it can’t delete anyone’s messages), no reading messages or DMs, nothing posted as you. It doesn’t sit in your server reading chat — it acts when someone presses Verify, when you build, and on the hourly re-check.

Troubleshooting

The role isn’t given
Discord lets a bot give only roles below its own. Server Settings → Roles: drag Corrupt Bot’s role above the roles it hands out.
The bot was removed
Your dashboard says so. Press Add it back, then Settings → Rebuild in Discord.
Joining fails
If Discord won’t add a holder (banned, or in too many servers), the page shows your invite: they join, then press I joined.
Discord asks for a 2FA code
Servers that require two-factor authentication for moderation ask for it when you add the bot. Have your authenticator ready.
Rules Screening is on
New members accept your rules in Discord before your channels open. Then they press Check again on the verify page.
“This interaction failed”
The bot didn’t answer in time. Press Verify again. Still failing? Use the Open the page link in the pinned message and connect Discord there.
“The chain didn’t answer”
Nothing was counted and nothing changed. Try again in a minute.

Support

Message us at corrupt.solutions/#contact. Tell us your server’s name and what you see — a screenshot helps.

Nobody from the team will DM you first, and nobody will ever ask for a seed phrase.