Privacy
Receive fills at one-time stealth addresses, sweep them when you choose, and see exactly what Mibble hides and what it doesn't.
Stealth keys
ERC-5564 · secp256k1Signing a fixed message derives a spending key and a viewing key on this device. Nothing is sent anywhere. Re-signing with the same wallet always gives the same keys.
Then tick “Pay output to a stealth address” on the order ticket. Each order gets a new address, announced through the canonical ERC-5564 announcer 0x5564…5564.
Scan and claim
Sweep destinationDefaults to the connected wallet, which links it to the stealth address. Use a fresh address for more privacy.
What still leaks
Your limit price, deadline, DCA scheduleHiddenOnly inside the commitment and the ciphertext for one solver. Revealed to nobody on-chain.
That you deposited, which token and how muchPublicEscrow is an ERC-20 transfer. Use “Split into standard sizes” so sizes look like everyone else's.
Output token and amount at fill timePublicThe swap and the IntentExecuted event are on-chain once the order fills.
Link between your wallet and the payoutReducedWith stealth payout the output goes to a one-time address, but executeIntentTo still emits your commitment and owner, so a careful observer can link them. It hides the payout from casual balance lookups, not from chain analysis.
Gas-funding trailReducedGasless orders need no ETH. Funding a stealth address from your main wallet to sweep it links the two.
When you tradeReducedSolvers wait a random delay before filling, so the fill time does not line up exactly with the price crossing your limit.
Route / venue from tx sizeReducedAdapter calldata is padded to 512 bytes for every route. Gas used still differs per venue.
Your order from the solverTrustedThe solver you encrypt to sees the plaintext. TEE mode narrows this to attested enclave code. The local demo uses a MOCK attestation.