01 โ€” COVER
WTF!! HACKATHON ยท iEXEC NOX
Bet what you know,
not who you are.

Private positions on a real prediction market โ€” the official Gnosis Conditional Tokens market, byte-for-byte, with a confidential participation layer welded on by iExec Nox.

Live on Ethereum Sepolia ERC-7984 ยท Intel TDX 197 tests green
Alice
0x9f3cโ€ฆenc
0x0000โ€ฆenc
๐Ÿ”’
Bob
0x71abโ€ฆenc
0x0000โ€ฆenc
๐Ÿ”’
Carol
0x44deโ€ฆenc
0x0000โ€ฆenc
๐Ÿ”’
Dana
0x0000โ€ฆenc
0x1c62โ€ฆenc
๐Ÿ”’
4 identical commitBet txs ยท one dissented with size ยท which one? unfindable
02 โ€” HOOK
NOXORACLE ๐Ÿ”ฎ
The uncomfortable truth

4 identical transactions.
One dissenter.
Unfindable.

A transparent market can only price the truth people are willing to sign their name to. Everyone else self-censors โ€” and the market loses exactly the information it exists to collect.

03 โ€” PROBLEM
NOXORACLE ๐Ÿ”ฎ
The 2am problem

The informed
can't afford
to be seen.

A policy analyst is certain the consensus is wrong. A $10k on-chain bet against her employer's public position is a firing offense the second anyone links her wallet. So the market never learns what she knows.

direction leaks size leaks timing leaks wallet linkable forever
Polymarket-style order book ยท public
WalletSideSizeSeen by
0x71abโ€ฆ9cYES$4,000everyone
0x44deโ€ฆ13YES$6,000everyone
0xa1c6โ€ฆdanaNO$10,000her boss, too
0x9f3cโ€ฆ22YES$7,000everyone
โš  Every position is doxxable. Whales front-run it, employers punish it.

Prior privacy attempts rebuild the whole market from scratch โ€” and die without liquidity. Nobody trades where nobody trades.

04 โ€” SOLUTION
noxoracle.edycu.dev
The solution

Two sealed
numbers. Zero
direction.

Keep the real market untouched. Add a confidential layer: every bet is committed as two encrypted amounts โ€” a YES-stake and a NO-stake, one of them an encrypted zero. Direction never exists in plaintext, anywhere.

Bet what you know, not who you are.

noxoracle.edycu.dev/market
Will the incumbent lose the runoff?
YES
NO โœ“
handle ยท YES
enc(0)
handle ยท NO
enc(500)
โ†’ encryptInput ร— 2 (Promise.all)
โ†’ commitBet(hYes, hNo, pYes, pNo)
โœ“ sealed in Intel TDX โ€” chain sees two handles
05 โ€” ARCHITECTURE
NOXORACLE ๐Ÿ”ฎ
How it works ยท one flow, three phases

Encrypted in. Aggregate out. Encrypted back.

BROWSER Bet slip side โ†’ (amt, 0) / (0, amt) HandleClient encryptInput ร—2 Promise.all โ€” concurrent iEXEC NOX GATEWAY Intel TDX enclave seals direction + size NOVEL CONTRACT ยท Sepolia NoxOraclePool.sol โ‘  commitBet โ€” dual handle, per-user ACL sumYes / sumNo = Nox.add(โ€ฆ) ยท encrypted โ‘ก closeEpoch โ€” allowPublicDecryption aggregates ONLY (I2, greppable) โ‘ข settle / claim โ€” Nox.mul/div ร— public rate pooled cUSD custody ยท nothing in wallets UNMODIFIED ยท HASH โœ“ Gnosis FPMM 1.8.1 buy(plainYes) ยท buy(plainNo) one batch ยท plaintext ONLY here UNMODIFIED ยท HASH โœ“ Conditional Tokens 1.0.3 reportPayouts ยท redeemPositions the real market โ€” untouched /verify ยท JUDGE TOOL verify-epoch 1 recompute I1โ€“I5 from chain data alone โœ“ conservation โœ“ aggregation-only โœ“ bytecode purity
commit-private ยท dual encrypted handle batch-execute-public-aggregate ยท sums only decrypt claim-private ยท encrypted ร— public scalar
06 โ€” LIVE DEMO ยท THE HERO MOMENT
NOXORACLE ๐Ÿ”ฎ
The one devastating demo
"Four people just bet
on this market.
Tell me who bet NO."
Aggregate ยท YES
1,700
publicDecrypt(sumYes)
Aggregate ยท NO โœ“ wins
500
publicDecrypt(sumNo)

The market knows the information โ€” someone dissented with size โ€” but not the informant. Aggregates decrypt. Individuals never do.

D Dana's position card
sign โ†’ decrypt(own)
NO 500 cUSD โ€” unsealed for her alone
โœ“ claim paid: exactly the pot
= 1,626.1277 cUSD
k-anonymity meter ยท k = 4
ABCyou?
membership public ยท side + size hidden ยท kโ‰ฅ3 โœ“
07 โ€” THE ONE FLOW ยท PROVEN ON-CHAIN
sepolia.etherscan.io
One flow, extreme depth โ€” every phase is a real Sepolia transaction

commit-private โ†’ aggregate โ†’ claim-private

โ†’
PHASE 01

Commit โ€” private

commitBet(hYes, hNo, โ€ฆ)

4 bettors, each two sealed handles. k = 4. Direction never plaintext.

โ†’
PHASE 02

Execute โ€” public aggregate

executeEpoch โ†’ FPMM.buyร—2

Only sums decrypt: YES 1,700 / NO 500, routed through the real FPMM in one batch. NO resolves.

PHASE 03

Claim โ€” private

claim() ยท Nox.mul/div

Dana's sealed NO 500 pays exactly the pot โ€” 1,626.1277 cUSD. Even her win stays hers to disclose.

Zero mock data. The full confidential cycle โ€” commit โ†’ close โ†’ execute โ†’ finalize โ†’ settle โ†’ claim โ€” ran end-to-end on live Sepolia over a byte-for-byte unmodified Gnosis CTF market.
08 โ€” WHY ONLY iEXEC NOX
ERC-7984 ยท TECHNICAL DEPTH
The SDK is the engine, not decoration

Six Nox primitives. Remove one, the product dies.

Nox primitiveWhat it does hereWithout it you needโ€ฆ
aggregation-only allowPublicDecryptionreveals epoch sums only (I2)a threshold-decryption committee
dual encryptInput + fromExternaldirection-free (amtYes, amtNo)โ€ฆor a side-bit leaks in calldata
per-user ACL (allowThis / addViewer)decrypt-your-own-position forevera custodial account database
IERC-7984 pooled custody + operator-pullnothing position-shaped in walletspositions in wallets = the linkage
2-step unwrap โ†’ finalizeUnwrapplaintext exits ONLY at the FPMMa trust-me bridge
Nox.mul / div (ร— public scalar)public-rate confidential claimsleaked stakes at claim time
Strip Nox out and you're building four separate systems โ€” an FHE coprocessor, a decryption committee, a custodial batcher, a disclosure registry โ€” and still couldn't compose with the CTF market on the same chain.
09 โ€” DEPLOYED & VERIFIABLE
ETHEREUM SEPOLIA
Deployed on Sepolia ยท source-verified ยท recomputable

Read the contract. Don't take our word.

NoxOraclePool novel ยท source-verified โœ“0xfFba9520โ€ฆ83d4a2E
ConditionalTokens 1.0.3 unmodified ยท bytecode hash โœ“0xCd316D06โ€ฆ62eA734a5
FPMM 1.8.1 instance unmodified ยท real market0xBf4900dfโ€ฆBEEf4cc3
cUSD wrapper ERC-7984 confidential USD0x82C281D7โ€ฆ7468991
197
tests green ยท 134 logic + 63 solidity
100%
contract coverage
k=4
live epoch anonymity set
$ npm run verify-epoch 1
recomputing from chain dataโ€ฆ
โœ“ I1 conservation ฮฃ stakes โ‰ก sums
โœ“ I2 aggregation-only disclosure
โœ“ I3 faithful routing โ†’ FPMM
โœ“ I4 claims bounded โ‰ค pot
โœ“ I5 CTF MATCH ยท FPMM MATCH
โ†’ EPOCH 1 GREEN
check-artifacts confirms CTF + FPMM on-chain bytecode โ‰ก the official npm artifacts. The "unmodified" claim is CI-proven, not asserted.
10 โ€” WHY THIS WINS
NOXORACLE ๐Ÿ”ฎ
The unfair advantage

Privacy on the real market โ€” not a fork of it.

๐Ÿงฑ

Composability others can't have

Privacy-market rivals rebuild the exchange and starve for liquidity. We add confidentiality to the official Gnosis CTF + FPMM, byte-for-byte โ€” the liquidity is already there.

๐Ÿ”

Privacy that survives settlement

Direction and size stay hidden through and after resolution โ€” not just until the reveal. Membership is public; what you believed and how much never is.

๐Ÿ›

Caught live, not in a mock

First Sepolia run reverted in executeEpoch (NotAllowed 0xb87a12a9): the token re-enters TDX under its own identity, so the pool must allowTransient the burn. A permissive mock hid it. Fixed, redeployed, re-ran green โ€” logged in feedback.md #16.

11 โ€” SHIPPED ยท & HONEST LIMITS
NOXORACLE ๐Ÿ”ฎ
What actually shipped

A real product, and honest about its edges.

197
tests green โ€” full confidential cycle covered
6
on-chain proof txs, one per phase, Sepolia
7
-stage CI/CD โ€” CodeQL, Dependabot, TruffleHog
1
novel contract on the real Gnosis market
โ†’
k-anonymity is bounded by epoch size. In-product meter + a k<3 warning + a seeded bad epoch #0. Membership is public; only side and size hide.
โ†’
Batching trades latency for FPMM price drift. Slippage guards on every buy โ€” the privacy/price trade-off, stated up front.
โ†’
Demo oracle is a disclosed centralized EOA. reality.eth is the named production path; CTF is oracle-agnostic.
โ†’
Nox SDK is beta 0.1.0-beta.13. Findings and the caught-live revert are logged in feedback.md.
12 โ€” THE ASK
WTF!! HACKATHON ยท iEXEC NOX
Try the demo โ€” then judge us on it

Run the epoch.
Then ask who bet NO.

Bet what you know, not who you are.
Live on Sepolia 197 tests ยท 100% coverage โ‰ค4-min demo video
scan โ†’ noxoracle.edycu.dev
NoxOracle ๐Ÿ”ฎ
built solo ยท WTF!! Hackathon
01 / 12
โ† โ†’ navigate ยท ESC grid ยท P presenter ยท C contrast

All slides โ€” click to jump ยท ESC to close