ultratears
Unofficial native Windows port of Tears of the Kingdom 1.4.3 using static recompilation. Builds locally from the player's own extracted game dump; no game files included.
Learn why trust evolves with 9 AI strategies, evolutionary tournaments, and noise simulation. Then play for real with ZK-protected XLM stakes on Stellar.
GamesTypeScript · CSSGitHub @thisyearnofearOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
A zero-knowledge Prisoner's Dilemma on Stellar. Commit moves with ZK proofs — trust is proven, not promised.
Loading the full README. The saved excerpt is shown below.
latep.trustfall.xyz — an interactive demo of the iterated Prisoner's Dilemma on Stellar, with two real zero-knowledge proof patterns verified on-chain in a Soroban contract.
The name is petal backwards: trust me, trust me not.
A game-theory learning app (tutorial, tournament, ZK multiplayer) that doubles as a working proof that real ZK verification runs on Stellar today. Two Noir/UltraHonk circuits, verified on-chain via Stellar's native BN254 + Poseidon host functions:Read the full README ↗latep.trustfall.xyz — a private reputation primitive for Stellar: prove your track record to any counterparty without revealing it. The first issuer is an interactive Prisoner's Dilemma with two real zero-knowledge proof patterns verified on-chain in a Soroban contract.
The name is petal backwards: trust me, trust me not.
Strangers can only transact three ways: trust blindly, over-collateralize, or publish your history. Trust blindly doesn't survive volume. Over-collateralizing is capital-inefficient — it is why a borrower with a flawless record still posts a full deposit in Stellar's remittance and OTC corridors, because the lender has no way to check the record. And publishing is becoming untenable: a public track record is permanent, correlatable, and it leaks who you've transacted with. For an autonomous agent it is absurd — an agent has no public history to publish and no social graph to borrow one from, so every new agent starts at zero trust forever. Latep builds the fourth option.
A private reputation primitive for Stellar. A holder proves they have a record of keeping their word — "≥T% of my recorded interactions were kept" — to any counterparty, without revealing who they are, what they did, or with whom. Reputation is minted per issuer into incremental Poseidon Merkle trees on Soroban, so any service can mint for the same holder without changing our contract.
The first issuer is Latep itself: a game-theory learning app (tutorial, tournament, ZK multiplayer) that doubles as a working proof that real ZK verification runs on Stellar today. Two Noir/UltraHonk circuits, verified on-chain via Stellar's native BN254 + Poseidon host functions:
A third pattern — private reputation (prove a track record without revealing it) — is spec'd but not built, and it is the primitive the product is made of. See docs/VISION.md for the problem, the gap and the use cases; docs/PITCH_HACKMERIDIAN.md for the pitch; docs/HACKMERIDIAN.md for the spec and the weekend plan; docs/MIDNIGHT_PLAN.md for the build decision.
CCYHIUOAUWFCWA5RV34UPT4SEXJFNE3SITGFR5HM2BL2K2RFOSGECE4P. The full multiplayer flow — two independent wallets, create → join → prove → reveal ×2 → escrow settlement — has been verified end-to-end on testnet headlessly (scripts/e2e-testnet.mjs, run log with tx hashes: docs/E2E_TESTNET_RUN.md). The contract holds a house reserve so CC/DC payouts (which exceed escrow) can settle; the script tops it up automatically.docs/PITCH.md before demoing. Details in docs/PRODUCT_REVIEW.md.25–26 October 2026 · ONE16, Marvila, Lisbon · in person only.
Entering the Scale track with the product position: Latep is a private reputation primitive for Stellar, and the game is its first issuer. The weekend's step is Pattern 3 — the reputation circuit, the on-chain Poseidon sponge, the incremental Merkle append, and the contract surface, built issuer-agnostic so a second issuer can mint for the same holder without changing our contract.
Pitch, demo script and judge Q&A: docs/PITCH_HACKMERIDIAN.md.
Spec, weekend plan and the application framing:
docs/HACKMERIDIAN.md. Product position, the problem,
the gap and the use cases: docs/VISION.md.
Entered as the education + games story: playable wallet-free tutorial/tournament plus two on-chain-verified ZK patterns (commitment binding, private accreditation). Submit by Oct 14, 0:59 — ship as-is, no new patterns; write-up stresses "real ZK verification runs on Stellar today." The package as submitted is kept at docs/PITCH.md.
design.md — the design system (the source of truth for look and motion). Section 13 covers the story redesign: the desk surface, paper and pencil/ink materials, chapters as sheets, page transitions, the type scale, and the reputation seamdocs/REDESIGN_PLAN.md — redesign phases, tickets and review rulesdocs/HACKMERIDIAN.md — the three-pattern story, Pattern 3 (private reputation) spec, HackMeridian plandocs/VISION.md — product position: the problem, the gap, the use cases, the reputation primitive, the market analysis, the "canonical or bust" answer, and the convergence plandocs/MIDNIGHT_PLAN.md — the Stellar × Midnight build decision: data path, sharpened gate, privacy wordingdocs/PATTERN3_TEST_VECTORS.md — the shared Pattern 3 fixture and how the circuit, contract, and client consume itdocs/PATTERN3_SEED.md — identity-seed lifecycle: creation, backup, recovery, rotation, threat modeldocs/COMPREHENSION_TEST.md — the 5-person protocol for the redesign's success criteriondocs/PITCH_HACKMERIDIAN.md — the current pitch: problem, gap, use cases, demo script, submission copy, judge Q&Adocs/PITCH.md — the Find Your Way pitch package as submitted (historical)docs/PRODUCT_REVIEW.md — honest product review, gaps, what was fixeddocs/ROADMAP.md — build status, current design prioritydocs/ZK_HACKATHON_PLAN.md — original hackathon plandocs/demo-script.md — demo walkthroughdocs/SECURITY.md — security notesgit clone https://github.com/thisyearnofear/latep.git
cd latep
npm install
npm run dev # http://localhost:5173
Needs Node 24+, plus a Stellar wallet with testnet XLM for the ZK multiplayer side. The tutorial and tournament run wallet-free.
Contract, circuits, and dev commands are documented alongside the code: contracts/zk_dilemma/, circuits/move_commitment/, circuits/allowlist_membership/.
The site is Cloudflare Pages, deployed by hand (no Git integration), at
latep.trustfall.xyz / latep.pages.dev:
npm run build
npx wrangler pages deploy dist --project-name=latep
Requires a wrangler login (npx wrangler login) on the account that owns the
latep project — check npx wrangler whoami first. The dashboard env vars
listed in pages.toml (PUBLIC_STELLAR_*, VITE_ZK_DILEMMA_CONTRACT_ID,
VITE_API_PROXY_URL, …) must be set, or multiplayer won't work.
The root wrangler.toml is for the Workers API (api/), a separate deploy;
the site's redesigns don't touch it. Ignore wrangler's
pages_build_output_dir warning on the frontend deploy — dist is passed
explicitly.
Built for the Stellar Hacks: Real-World ZK hackathon. Adapts Nicky Case's "The Evolution of Trust". License: Apache 2.0.