The Treble · Tether Developers Cup 2026 · WDK Track

Humans vs.
the machine.
No house.

A trustless prediction pot where an on-device AI stakes its own money against you — no server, no treasurer, no cloud.

HUMANS 0— FT —1 AI PUNDIT
Pear · Autobase WDK · Transaction Policy QVAC · on-device Qwen3 198 tests · 664 asserts · 100% coverage
The problem

Every friend-group pot has the same two holes.

  • 01Someone holds the money.A treasurer who can vanish, forget, or get hacked. You're trusting a custodian for a Saturday bet.
  • 02Someone "misremembers" their pick.After kickoff, the story changes. No neutral record of who called what, when.

And when people say "could an AI beat us?" — the honest answer is usually a cloud API spending someone else's wallet. That's not a player at the table. That's a spectator with a corporate credit card.

→ so we rebuilt the pot from scratch.

The twist

Give the AI a real seat — its own keys, its own stake.

How it runs · npm run demo · ~20s · fully offline
the-treble — 4 real Autobase peers
◆ pot opened  "Kitchen Table Clásico" — Brazil vs Argentina, buy-in 20 USD₮
○ Ana  staked 20 USD₮  pick 3-1   (keys on their own device)
○ Bo   staked 20 USD₮  pick 0-0   (keys on their own device)
○ Cai  staked 20 USD₮  pick 1-2   (keys on their own device)

● The Gaffer  (its OWN keypair + WDK wallet · policy cap 20 USD₮)
   policy pre-flight: ALLOW (allow-bounded-usdt-stake)
    "Backing 1-1 — argentina unbeaten in 14"  conf 60%
    autonomously staked 20 USD₮ from its own wallet

 KICKOFF — pot frozen on the shared append-only ledger
 Bo tried to change his pick after kickoff → REJECTED by every peer
 machine tried to vote the result → REJECTED (no result authority)
 result finalized by 2/3 staked humans (quorum)

Σ CHECK  paid 80 == staked 80  ✓ zero-sum, no house cut
CONVERGENCE  4 peers · one shared state hash  ✓ byte-identical
The magic moment · ~0:55 in the demo

Watch a real WDK policy tell the AI no — then yes.

buy-in 50
cap 20
DECLINE · buy-in 50 USD₮ exceeds my Transaction Policy cap The agent refuses out of its own wallet. Zero money moves. Written to the shared ledger for every peer to see.
buy-in 20
cap 20
ALLOW · autonomously staked 20 USD₮ from its own wallet Same agent, within cap — it signs and stakes itself. Nobody pressed a button for it.

A default-deny wallet governing an autonomous agent, live on stage. That A/B is "real use of the Tether platform" — not a slide claiming it.

Why it can't cheat

Parity, minus power.

Every peer runs the same pure deterministic reducer. State isn't asserted by a server — it's recomputed identically on all four devices, so tampering doesn't disagree quietly, it gets rejected loudly and everywhere.

  • Picks are signed, append-only, and frozen at kickoff — a back-dated edit fails on every node.
  • The agent can stake, but cannot vote results, lock, or add writers.
  • Attack-tested with an accomplice bot — rejected over the wire.
reducer · invariants
# applied identically on 4 peers
grant   → role: agent
stake   → ACCEPT  (bonded, capped)
lock    → REJECT  agent-has-no-lock
vote    → REJECT  agent-has-no-result
invite  → REJECT  agent-cant-add-writer
────────────────────────────
hash    <one shared digest>
        ↳ same on every device
Architecture · all three Tether stacks, load-bearing

One pot. Three real platforms.

PearP2P state, no server. Corestore → Hypercore → Autobase → Hyperbee; Hyperswarm rooms; Protomux seat-requests. The AI is just another writer.
WDKMoney & self-custody. @tetherto/wdk 1.0.0-beta.12 + a custom WalletManager. The agent's cap is WDK's real default-deny Transaction Policy engine — the submitted track.
QVACThe mind, on-device. @qvac/sdk 0.14.0 completion() tool-calling, Qwen3 1.7B — the pick is a genuine local model decision, zero cloud calls.
CoreDeterministic reducer. Every peer applies identical rules → byte-identical state hashes. The trust model, in pure functions.
Proof, not promises

It's real, and it's green.

198
tests passing · 664 assertions · 100% coverage
Σ 80=80
zero-sum settlement to the micro-USD₮ · no house cut
4 peers
byte-identical Autobase state hash · verified live
~20s
full pot lifecycle · fully offline, exits non-zero if Σ breaks

Offline-proof and P2P-proof run in CI (network tripwires). The hard part — consensus, custody, refusal — happens on screen, where a judge can witness it.

The Treble

The house always wins.
So we deleted the house.

Self-custodial. Server-less. On-device. And the machine plays with skin in the game — its own.

Apache-2.0 v1.0.0 ▶ npm run demo Tether Developers Cup 2026

github.com/edycutjong/treble · built by Edy Cu · Indonesia

← / → · space  ·  P notes · ESC grid · C contrast