How votes are weighed

NEAR Hunt lets any NEAR account upvote a project once. Accounts are free, so a raw count mostly shows how many accounts a team can mobilise. TrueHunt keeps every vote but gives it a weight from 0 to 1, using only public on-chain data. The first matching rule wins.

KindWeightWhen
maker0.0The voter claimed the project as its maker on NEAR Hunt (a maker/ row).
insider0.0The voter's account name matches the project: its name, the builder's X handle, the GitHub owner or repo, or the demo's domain. Common words like "near", "agent" or "pay" never count as a match.
duplicate0.0The same person already voted under another account with the same root name: foo.near, foo.tg, team.foo.near.
ring0.3The voter makes another project, and the two projects are propped up together: this project's maker votes back, or the same third account upvotes both.
throwaway0.3An auto-generated name like quietfox2210.near, or a bare 64-character implicit account.
independent1.0None of the above.

What this is not

It is not a judgment of the projects, and not the hackathon's official judging. A low score means the votes look like they come from the team's own side, not that the project is bad. The rules are deliberately simple so that anyone can check them, and they will miss some cases (an author whose account name shares nothing with the project) and flag some honest ones (a friend with an auto-generated name). If a weight looks wrong, the reason is printed next to the vote.

Data

Projects, votes, comments and maker claims are read from NEAR mainnet: FastData KV rows in the nearhunt.near namespace, the same records NEAR Hunt shows. Project records are accepted only when nearhunt.near wrote them; withdrawn votes are skipped. TrueHunt writes nothing on chain. The JSON API is described in SKILL.md.