Your savings.
Your choice.
Nobody else’s business.
Deposit into a shared pool where the yield funds verifiable prize draws — then privately choose whether yours joins them or compounds to you. Your principal is never at stake, and you can withdraw it at any time.
Your savings
••••••Balance visible only to you
Your choice stays private
Round mechanics are public. Positions are not.
Two ways to save
One deposit.
Two ways to earn.
Lucky
Pool the yield.
The default. Depositing puts your yield into confidential prize draws, while your principal stays exactly where it is.
Steady
Keep the yield.
Your attributable yield compounds into your private savings position. Nothing leaves, nothing is pooled.
New savers start in Lucky, so depositing enters the draw. You can switch to Steady privately at any time, and neither choice is visible on-chain.
The privacy difference
Even your choice
is private.
What a chain observer sees
- Transaction
- 0x9f2c…41ab
- Round
- #12
- Contract
- Sable Vault
- Execution
- Verified on-chain
Everything needed to verify that the protocol ran correctly.
What it cannot
- Balance
- $ 24,180.00
- Mode
- Lucky
- Draw weight
- 1,046,400
- Odds
- 1 in 62
- Prize result
- $ 412.90
Encrypted end to end. Not even Sable’s operators can read these.
Sable doesn’t just encrypt what you save. It encrypts how you choose to save.
Time weighting
Saving longer
should matter.
Draw eligibility is weighted by how much you saved and how long you actually held it — so depositing moments before a draw earns almost nothing.
roundWeight += select(isLucky, balance × elapsedMinutes, 0)
Weight accrues per whole minute, and only across intervals during which the account was in Lucky mode. Because the mode is an encrypted bit, that gate runs as a homomorphic select — both branches execute, so the choice is never observable.
Switching mode checkpoints first, so Steady time is never back-dated into eligibility and Lucky time already earned is never clawed back.
More eligible time
Less eligible time
Same amount saved. Different weight at the draw.
Prize structure
Fourteen chances,
every round.
Jackpot
1 winnerAppears when a funded round is finalized.
Mid
3 winnersAppears when a funded round is finalized.
Small
10 winnersAppears when a funded round is finalized.
Prize values are derived from the yield Lucky savers contribute during a round. They appear here — from real contract state — as soon as a funded round is finalized.
Rollover
When nothing
matches, it grows.
An unmatched jackpot draw carries forward instead of exposing private ticket boundaries. Nobody loses anything — the prize simply gets larger.
Savers occupy private ranges inside a fixed ticket space. Some of that space is always unassigned, and a random point landing there matches no one — which is exactly what keeps the boundaries secret.
Verifiability
Private does
not mean opaque.
Draw execution, round configuration and prize accounting are public and checkable by anyone. Individual financial positions remain confidential.
No completed draws
Verified rounds will appear here after the first on-chain draw.
Public
Round timing, tier configuration, prize totals, draw transactions, rollover outcome.
Private
Balances, modes, draw weights, ticket ranges, individual results. Never published, at any stage.
Principal safety
Savings first.
Prize participation changes where your yield goes. It does not give away your deposited principal.
Withdraw whenever you like — there is no lock-up, and withdrawals stay available even if the protocol is paused. Your principal is never awarded to another saver; prizes are funded from yield alone.
Sable runs on a test network with a testnet asset. As with any smart contract, the code itself carries risk — but no rule in it can route your principal to somebody else’s prize.
The technology
How this is
even possible.
Sable is built on fully homomorphic encryption — arithmetic that works directly on encrypted numbers. It is what lets a smart contract compute your yield and your draw weight without anyone, including us, seeing them.
- 01
Encrypt
Your browser encrypts the amount and your mode before either leaves your device, and attaches a zero-knowledge proof that the ciphertext is well-formed.
Relayer SDK - 02
Compute
Sable's contracts add, compare and select over that ciphertext without ever decrypting it. Your balance is arithmetic the protocol can do but cannot read.
FHEVMZama Protocol - 03
Verify
Every operation executes on-chain, in public transactions anyone can inspect. The mechanics are auditable even though the values are not legible.
Ethereum Sepolia - 04
Reveal
Only you can decrypt your own results, authorised by a signature from your wallet and enforced by the protocol's access control list.
Access Control List
Read the technical architecture — contracts, the FHE data model, the draw algorithm and the exact privacy boundaries.
