No security-sensitive part of a commitment is trusted from the browser. The server rebuilds the exact message a wallet was asked to sign from the values submitted, and rejects the request if it doesn’t match. It verifies the signature actually belongs to the public key claiming it. And it bounds every move against the rules of the experiment on screen, so no client can hand itself a better game than the one it was shown.

A few fields are the deliberate exception: things like a device identifier or where a slider started are stored as client-reported metadata, never part of the signed commitment. A lying client only corrupts its own record of those, it can’t move money or forge someone else’s answer.

In Trust and Ultimatum, both players commit before seeing the other’s answer. Nothing about the first player’s move is ever included in a response to the second player before both have committed, that’s enforced by what the server returns, not just by what the interface chooses to display. See Experiments for the exact state each round moves through.

A signing key can only ever hold one seat in one round. A retried request from a key that already committed returns that same original result rather than accepting a new answer or paying out twice, payouts themselves are also idempotent, so a retried settlement can’t create a second debt.

House-funded rounds are the one place real money can be farmed without a player risking anything of their own, so Hunch bounds it from several directions at once, not just one.

Wallet -> daily limit -> lifetime limit Device -> daily limit -> lifetime limit Pair -> repeat-pair protection -> same-device match refusal House -> daily funding cap

A signing key is free to generate, so per-key limits alone aren’t enough, a device identifier survives across fresh keys generated on the same phone. Two wallets that have already played a house-funded round together are refused a repeat, and matchmaking won’t pair a waiting round with the same device that opened it. All of that sits underneath a hard daily cap on total house spending.

Worth saying plainly: these controls reduce repeated house-funded abuse. They don’t establish real-world identity, and they can’t prove that two different devices belong to two different people. Two people deliberately coordinating across two real devices, each honestly under their own limit, isn’t something a per-identity count can see, that risk is bounded by the caps above, not eliminated by them.

Real past decisions surface on Live and as worked examples elsewhere in the app, things like “someone offered 30%” or “someone kept the entire Split stake.” Those events are built from a deliberately reduced shape: the behavioural result, never a public key, device identifier, or anything else that identifies who made the decision. Hunch separates the behaviour from the identity on purpose, everywhere it shows real rounds to anyone other than the two players in them.

This guide explains the system. The two pages below remain the authoritative source for the actual policy.

Read Privacy →Read Terms →