
Confidential guessing game on @base. Guess ⅔ of the average - closest takes the pot. Encrypted onchain with @inconetwork. No peeking, no front-running
⅔ × the average
Joined October 2013
- Tweets34
- Following11
- Followers81
- Likes29
Base 's Cobalt upgrade introduced Validity Transactions: you sign a transaction with conditions, and it can stay private until it's included in a block.
That's privacy before the block. Nobody sees your move while it's in flight.
But some games need privacy after the block.
TWO·THIRDS is a guessing game. Everyone picks a number from 0 to 63, and whoever lands closest to two thirds of the average wins the pot. If your pick becomes readable the moment it lands onchain, the last player to enter reads every number, does the math, and wins. Every round.
So the pick has to stay sealed for the whole round, not just until inclusion.
That's the layer @inconetwork adds on @base. Your number is encrypted in your browser and stored onchain as a sealed value that nobody can read until the round closes. Not other players, not the contract, not me. Then the contract verifies the reveal onchain and pays the winner automatically.
Private until the block.
Private until the reveal.
$1 a round: twothirds.fun
Pick a number from 0 to 63.
Closest to 2/3 of the average wins the pot.
Simple, until you put it on a public chain: the last player reads every pick, does the math, and wins every time.
So on TWO·THIRDS every pick is sealed with @inconetwork. Not the players, not the contract, not even me can see it until the round closes. Then the board unseals and the winner is paid automatically.
$1 a round on @base
twothirds.fun
Here's one of them, running with real money on @base right now.
TWO·THIRDS is a guessing game that a transparent chain literally cannot host: pick 0-63, land closest to two thirds of the average. If picks are readable from state, the last player computes the exact answer and wins every round. Not an exploit - arithmetic.
Confidential compute is the only reason it's playable. Picks are sealed with Inco Lightning until the round closes, then verified onchain and paid automatically.
twothirds.fun
A guessing game on a public chain is broken by design: the last player just reads everyone's picks and wins
twothirds.fun fixes that with Inco Lightning. every guess stays sealed until the round closes
same Base, same wallet, zero peeking
Joining the @inconetwork Summer Game Jam on @base 🏝️
Building "Humans vs Machines" for TWO·THIRDS: two confidential arenas sharing one engine. Humans at $1, agents at $0.10, nobody - not even the contract - sees a pick until the round closes.
Follow along, I'll ship in the open. twothirds.fun
My game for Hackaton xitter.cf/0maxxdev/status/208836…
INCOgnito
Everyone at the table can read your card. You cannot.
Five players receive five distinct encrypted identities from a roster of sixteen. Your identity is visible to every seat except your own.
You ask the room questions about yourself. The house chooses who answers, and they are free to lie to your face.
Built for the @inconetwork Summer Game Jam.
Why this needs confidential compute
Your identity is encrypted and access is granted to every player except its owner.
That inversion is the game. On a chain with public state, you could read your own card from storage and win immediately.
The second confidential value is whether an answer was honest.
The claim is public. The honest answer is computed over the encrypted identity, but the result remains sealed until somebody pays to challenge it.
So lying becomes an onchain action with a cryptographic receipt. The room hears the claim immediately. The truth is settled only when challenged.
What a thousand simulated games taught me
I built the bots and simulator separately from the interface so the balance could be tested rather than guessed.
The current deterministic run produced:
• 1,000 games
• 18.8 turns per game
• 0 stalled games
• 16,756 total answers
• 1,672 lies
• 1.67 lies per game
• 2.02 accusations per game
• 37% of accusations caught a liar
Lies made up 9.98% of all answers.
Using three seconds as the threshold, liars paused 60.2% of the time and honest players paused 14.5% of the time.
After observing a pause, the probability that the answer was a lie rose from 9.98% to 31.5%.
Useful information. Still a gamble.
It proves nothing. It is the only thing there is.
What shipped
• A Solidity contract deployed on Base Sepolia using Inco Lightning
• Five distinct encrypted identities with access granted away from their owners
• Encrypted verification of whether each public answer was honest
• Five deterministic bot wallets maintaining a house table
• An instant local playable mode requiring no wallet
• Experimental wallet and read-only spectator interfaces
• No LLMs in the bots: deterministic code makes the simulation fast and reproducible
playincognito.xyz
There's a game from 1936 that a blockchain couldn't run until now.
Keynes described it as a newspaper beauty contest: don't pick the prettiest face, pick the face you think everyone else will pick. Economists turned it into a number game - everyone picks 0 to 63, and whoever lands closest to two thirds of the average wins.
It's one of the cleanest tests of strategic reasoning ever designed. Naive players pick around 32. One level deeper is 21. Another level down is 14. Pure logic says pick 0 - and pure logic reliably loses, because real people don't reason all the way down.
Here's why it can't exist on a normal chain: if picks are stored in plaintext, the last player to enter reads everyone else's number, computes the exact answer, and wins every time. Not a cheating problem. Arithmetic. The game is dead the moment state is public.
TWO·THIRDS solves it with @inconetwork Lightning. Your pick is encrypted in your browser before it touches the network. The contract stores a sealed handle - not a number. Nobody can read it. Not other players, not the mempool, not me.
When the round closes, the contract verifies attested decryptions onchain, computes the target, and pays the winner automatically. No reveal step. No claim button.
6,254 rounds have run on @base mainnet. Every settlement path has executed with real money - multiplayer, solo refund, empty rollover. Zero stuck rounds. Zero fallback payouts ever needed.
The machine works. It just needs people in it.
$1 a round. Pick one level deeper than everyone else.
twothirds.fun
Two things happening with TWO·THIRDS:
1/ An agent mode is coming to the game itself - AI agents encrypting their own picks and playing sealed rounds alongside humans. Building it into twothirds.fun directly.
2/ For the @inconetwork Summer Game Jam I'm building something separate and new - not TWO·THIRDS. The jam rules ask for a new game, so the hackathon project is its own thing (more soon 👀).
Same confidential tech underneath. Different games on top.
Can confirm 2, 3, 6 and 9 - here's what they look like as an actual app.
twothirds.fun is a confidential game where 100 players submit sealed picks and nobody, including the contract, sees them until the round closes.
Foundry, viem, plain Solidity. euint256 instead of uint256, and encryption is one SDK call in the browser. No bridging, no new chain - USDC that lives on Base stays on Base, and the whole thing deployed for a fraction of a cent.
2,342 rounds later: 7/7 through authorize → attestedDecrypt → verify onchain → settle. Zero stuck rounds.
...are mathematically broken without confidentiality: the last player reads everyone's moves and wins.
That's why twothirds.fun runs on Inco - sealed picks, attested decryption, winners paid automatically inside settle().
$1 a round, live on Base.
TWO·THIRDS status check - @base mainnet:
2,342 rounds started, unattended
7 multiplayer settles - 7/7 through the full @inconetwork path: authorize → attestedDecrypt → verify onchain → settle
16 solo rounds auto-refunded
2,318 empty rounds rolled forward
0 queued winner payouts, 0 queued treasury - the fallback path exists and has never been needed
Every settlement branch in the contract has now executed on mainnet: multiplayer, solo refund, empty rollover. Zero stuck rounds.
The honest read: reliability is solved, distribution isn't yet. Working on the second one.
twothirds.fun
So we did.
TWO·THIRDS is live on Base:
encrypted picks, closest to 2/3 wins the pot, payouts automatic.
twothirds.fun
New tutorial: build a confidential onchain game on @inconetwork Lightning.
Everything you need, taken from a production game running on @base mainnet (twothirds.fun):
- encrypted state in plain Solidity (euint256)
- browser-side encryption, no plaintext ever onchain
- a keeper that settles with attested decryption the contract verifies
- the edge cases that bite: input fees, clamping, gas bounds
Zero to mainnet in one read 👇
Most onchain games don't die from hacks.
They die from one round that gets stuck, in public, with someone's money inside.
Before shipping TWO-THIRDS ($1 confidential guessing game on @base) we listed every way a round can freeze - and closed all of them at the contract level
The pattern behind all of it:
settlement must always complete.
Missing reveal, failed transfer, empty round, gas blowup, dead bot, tie - everything degrades into a refund, a credit, a rollover, or a clamp. Never into a stuck round.
Confidentiality gets the headlines. This is the unglamorous half of putting real money in a game loop.
Every settled round is public and auditable: twothirds.fun
0x4163b226f978E071FD45bc913bf9EbC8ed2d5860 on @buildonbase, sealed picks by @inconetwork






