Players
Bots can’t steal your win.
Your answer stays private. Nobody can copy it and take your prize.
Explore chests →Live on Stellar mainnet and testnet
Anyone can lock XLM behind a riddle. Solve it and the prize is yours. Bots can't steal it.
01 How it works
A prize locked behind a riddle. Solve it, claim it.
Every chest locks a prize behind a question.
hash → 0x2df9…ab19
A zero-knowledge proof shows you know it without revealing it.
proof → verified
Right answer? The contract pays you. Nobody else can take it.
+10 XLM
Who uses it
Ask a question, lock a prize behind it, share a link. Three ways to use it:
Communities
Post a riddle in Discord or Telegram. Whoever solves it wins XLM, paid automatically. No one has to send prizes by hand.
Brands & marketing
Put a riddle on your product, ad or event page. Fans who solve it win a real prize, and you set the budget up front.
Hackathons & events
The answer is the flag. Solve it, get paid. The prize is locked from the start, and what isn’t claimed comes back to you.
02 Attack demo
Even if a bot copies your answer, the prize still goes to you.
Run the demoillustrative replay
$ watch mempool --chest 000600.00 you submit π sealed to GA7Q…X4ZK00.41 bot copy π, resend from GBOT…7Q100.80 chain verify(π, recipient=GBOT…7Q1)REJECTED proof bound to GA7Q…X4ZK, not GBOT…7Q101.20 chain verify(π, recipient=GA7Q…X4ZK)VERIFIED prize released 10 XLM$ ▌
Who it is for
Players
Your answer stays private. Nobody can copy it and take your prize.
Explore chests →Creators
Add XLM, set a deadline, share the link. Nobody solves it? You get it back.
Create a chest →Builders
Open-source contracts and circuits on Stellar. MIT license.
Read the docs →03 Stellar × ZK
You prove you know it without showing it.
We cover the network fees for you.
Stellar confirms the payout in about 5 seconds.
Sent straight to your wallet. No setup needed.
Live data from the last 7 days on testnet.
04 Security
Your answer is tied to your address. A copy won't work for anyone else.
The same answer can't be used twice.
Each chest will get its own contract, so a problem in one can't touch the others.
We test our live contracts with Kuyfi, an open-source scanner that attacks them the way a hacker would.
View Kuyfi on GitHub →Black-box scan of the same bytecode on testnet, not a full audit. A full audit is planned via the SCF Audit Bank. Mainnet has prize caps.
SDK · @findloot/sdk
Create chests and pay out prizes from your own app with a few lines of TypeScript.
$ npm i @findloot/sdkimport { createChestClient, fingerprintAnswer } from "@findloot/sdk";const { fingerprintHex } = await fingerprintAnswer("alexandria", 7n);const client = createChestClient({ publicKey });const tx = await client.create_chest({ creator, fingerprint, … });const id = (await tx.signAndSend({ signTransaction })).result.unwrap();Bring a wallet and a sharp mind. We bring the bots that will fail.