I have a little logic problem. On one of my projects, I want to set up a voting system. Only NFT holders can vote. My issue is the following:

A person has 5 NFTs, he is the only holder of 5 NFTs so can only vote once. If he disperses his NFTs over 5 accounts, he becomes 5 holders of 1 NFT and therefore can vote 5 times. It's annoying. I can't rely on the IP since some will have a dynamic one. I also thought of freezing the NFTs (just saving them in DB after a vote) to say that these NFTs are present in a wallet that has voted. But still, the same problem, if he scatters, he can vote several times. How can I ensure that a holder, no matter how many NFTs/wallets he has, can vote only once?

You will tell me that we are not 5 votes ready. Yes. But in the case where a guy has 51% of the supply and the others 1, the guy only has to create x wallet for the 51% and he has full power over the vote. It's annoying.

  • Your requirements conflict (1) Vote per NFT (2) Vote per person. You have no way to check if holder is same person.
    – Ohad Dahan
    Commented Sep 4, 2022 at 17:36
  • 1
    Using NFTs as a voting medium works just like the shares. The majority holder is a decision maker. If you have problem with that, increase the pass percentage to something higher (say 75%). But allowing the same voting power irrespective of the holding is a flawed concept and won't be possible to enforce.
    – 0xShuk
    Commented Sep 4, 2022 at 18:53
  • After reflection I will actually go on an NFT = one vote. The vote has a beneficial effect or not and it is the vote that will decide. A user who owns 51% of the project believes in it and it is not in his interest to vote against the proposal.
    – Swifty
    Commented Sep 6, 2022 at 2:14

1 Answer 1


There's no way to prevent this. Perhaps you could charge a fee to perform the action, discouraging people from doing it indiscriminately, but ultimately in web3 there's no way to stop someone using multiple wallets for a service.

  • Yes, I understand. The goal is not to charge a fee or people won't want to vote. The goal being to be free on this part but to control the vote to the quantity of holder and not to the quantity of NFT possessed.
    – Swifty
    Commented Sep 5, 2022 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.