VerdetLaunch app

Light goesone way.

Privacy for tokenized equities, on rails already deployed. One address to publish, and a different one for every payment that arrives at it.

Get a meta-address

Read from chain 4663 at block 67,644,854

  1. 0x000000…0a4b050x000000…0a4b050

8 transfers in that block alone. Every sender, every recipient and every amount is readable by anyone, and will be for as long as the chain exists.

Verdet is a privacy wallet for tokenized stocks. On a public chain your address is a permanent record: anyone can read what you hold, who you trade with and every position you have ever built, forever, and you are the only party in that arrangement who never agreed to it. Verdet gives you one address to publish and a different address for every payment that arrives at it, with nothing on chain joining one to the next, so you can be paid without handing over your history. It is a client, not a service. The derivation runs in your browser, the rails are contracts we did not write and cannot switch off, and every transaction is yours: signed by your wallet, and shown to you as calldata you could send from anywhere if this site disappeared. What it does not hide, amounts, timing, and the sender, is written down inside the product rather than behind a link.

What you would use this for

Get paid unseen.Move it without funding it.Trade size without printing it.

01

Stealth receive

Live now
A dark world with a green atmosphere, lit from one side, with four small bodies each travelling its own separate orbit around it.

One meta-address, published once. Every payment to it lands at a fresh address with nothing on chain tying one to the next, on rails already deployed that nobody can take away.

Why this matters nowTokenized equities put a real portfolio on a public ledger for the first time. When an employer, a counterparty or a stranger pays you on chain, they get your address, and an address is a searchable record of everything you hold and everyone you have dealt with. On the old rails that record sat with a broker who was regulated to keep it. Here it sits with everybody, permanently.

What it does not hideAmounts, timing, and the sender. The caller on the announcement is whoever paid the gas. Fund a stealth address from your own wallet and you have re-linked it.

Generate a meta-address

03

Sponsored sweep

Planned, M2
A world in shadow with one bright crescent along its edge, lit entirely by a small star off to the side. It gives off no light of its own.

An address holding an asset and no gas is stuck. Sign one message and a relayer pays, so no transaction from your wallet ever touches the address.

Why this matters nowA fresh address is only private until you pay for it. Send it gas from the wallet that already carries your name and the two are joined on chain forever, which undoes everything the fresh address was for. This is the step most privacy tooling leaves to the user, and it is the step where most of the leaking actually happens.

What it does not hideThe request from us: the address, the asset, the amount. The sweep itself is an ordinary public transfer with a public amount and timestamp.

See the pay station

06

Order split above a threshold

Planned, M6
One large world followed by five progressively smaller ones along a curve, so no single body carries the size of the first.

A large fill lands as tranches at fresh addresses, so the position never aggregates into one readable total.

Why this matters nowThe leak is rarely the trade. It is the accumulation: twenty fills in the same direction, readable by anyone, telling the market what you are building before you have finished building it. Size is the one thing a public ledger cannot keep for you, and it is the one thing a desk has always existed to protect.

What it does not hideEach fill, its amount and its timing. The desk that fills the order knows exactly who it filled and how much. Consolidating tranches later re-links all of them at once.

Open the desk

Everything else it does

5 of 12 work today. The rest each say what is holding them, in one line, on the feature page.

  • 02Live

    Disclosure inside the product

    A threat model in the product rather than behind a footer link: what each part hides, what it does not, and exactly what our own servers receive.

  • 04Planned

    Encrypted lookups

    The lookups the app makes are encrypted and authenticated, so a provider that hijacks the chain domain today cannot read them or answer in its place.

  • 05Planned

    Viewing-key export, scoped

    Hand the viewing key to the party entitled to it, scoped to a period or a mandate. The holder sees every address in scope and can move nothing.

  • 07Planned

    Sealed quotes

    Signed quotes settle atomically in one two-leg transaction that never warehouses a stock token.

  • 08Live

    The observer tool

    Put in any address on this chain and see what a passive observer already derives from it: the balance, the counterparties, the assets, the timing. Every line is one ordinary call any explorer makes.

  • 09Live

    Paying to a meta-address

    The sender takes the recipient’s meta-address, from a QR or pasted, derives a fresh stealth address from it on their own side, pays it, and announces it. The QR is the device-to-device half and it is in the wallet now: nobody types 141 characters.

  • 10Live

    Keys encrypted at rest

    Your wallet wrapped by a passphrase-derived key and kept in this browser, so closing the tab no longer loses it. PBKDF2 at 600,000 iterations into AES-256-GCM, both from the platform, no dependency added to the one path that touches a private key.

  • 11Not privacy

    Routing fee

    A fee taken on a routed swap.

  • 12Not privacy

    Staking

    An access mechanism. Tier follows balance and continuous days, and meters the sponsored sweep allowance.

Private OTC for tokenized stocks

The leak is not the trade. It is the accumulation.

A desk fills a large order away from the open book so the order does not move the price. Settling on a public chain reopens that from the other side. Both charts hold the same six fills, at the same sizes, at the same times.

A Every fill to one address

Readable position

The running total is public

The first tranche avoids slippage and hands over the intent for the second through the twentieth. The position is computable, and the next tranche is priced against it before it is sent.

B Every fill somewhere new

Readable position

There is no total to read

The same six fills. Nothing about the trading changed. The tranches do not aggregate into one readable position for people who are not party to it.

The counterparty knows. Your auditor can know. The market does not have to.

Everyone reading that accumulation is a market participant: the counterparty who will quote worse next time, the competing buyer, the bot. Block trading has always been confidential between the parties, with the market learning afterwards in the prescribed form. Indiscriminate is not the same as honest.

Where these addresses came fromEvery address under panel B is derived by @verdet/stealth from one meta-address, st:eth:0x034f355bdcb7c…, with a fresh ephemeral key per fill. The keys are 0x11 and 0x22 repeated, published so nothing here can be mistaken for anybody's money, and the whole vector is re-derived by a test on every run. The two digits under each mark are the view tag: one byte of the shared secret, published on purpose so a scanner can skip 255 candidates in 256, and a real leak we would rather draw than bury.

The desk in full: the three features behind it, and your own order on these charts

Every claim, and the check that settles it

The system is public. The key is yours.

Rails already on chain, keys that never leave your device, and a relayer that pays the gas so you never fund an address yourself. 5 of 11 parts are verified on mainnet today; each row says how.

PartStatusFigureHow it is verified
Keys never leave your deviceVerifiedThe derivation is open source and runs in your tab. Open the network panel while it runs: there is no request in the key path to find.
Keys encrypted at restPlannedA passphrase-derived key wraps the store, and the store is inspectable in the repository. Until then nothing is stored at all, which is stated on the derivation page in place.
The stealth rails are live on this chain todayVerified15 of 15One eth_getCode at the canonical announcer and registry. Both addresses are published and the call is reproducible in a single curl.
Every basket ticker verifiesPlannedsymbol, name and decimals read from each contract. The reading was taken and the seven addresses were not written down, so it cannot be re-run until they are recorded and added to the verification suite. Downgraded on 2026-09-20 rather than left standing.
Every basket token exposes a signable permitPlannedA non-zero domain separator read from each one. Same problem: the addresses were not recorded, so the reading cannot be repeated. Presence is not execution either, and a testnet run still gates the sweep.
A sponsored sweep moves a stock token from an address holding no gasPlannedA permit executed end to end on testnet against a stock token, with the transaction hash published. The hash is the evidence; nothing before it counts.
Gas for a sponsored sweepVerified3.1x lessAbout 200k against a 627k median for the same user outcome by the account-abstraction route, measured on this chain.
Your network provider cannot read or forge the lookups the app makesPlannedBefore and after, on a provider that hijacks the chain domain today, reproduced on two other networks and published with the captures.
Contracts of ours in the receive pathVerified0The announcer and the registry are already deployed and are not ours to write. There is no owner, no pause and no upgrade, because there is no contract.
No admin keys on any contract of oursPlannedEvery contract of ours, when deployed: no owner, no pause, no upgrade. Verified source on the explorer, deployed last and in one batch after the name is cleared.
No account, no sign-upVerifiedThere is nothing to give. Nothing on this site asks for an email, a wallet connection or a name.

Read with itThe stock tokens are upgradeable proxies over one shared implementation with one shared blocklist, controlled by their issuer. What is true today can change under the same address with no notice. We re-verify before every release and we say so.

What is hidden, and what is not

Visible. Unresolvable.

Every feature says what it hides, against whom, and what stays public. The limit gets the wider column, on purpose.

Stealth receive

Live
Hides

The link between your public identity and the address that received the asset. Positions never aggregate into one readable portfolio.

Does not hide

Amounts, timing, and the sender. The caller recorded on the announcement is whoever paid the gas. Funding a stealth address from your own wallet re-links it, and consolidating several of them later re-links all of them at once.

Network layer

Planned
Hides

Your network provider cannot read or forge the lookups the app makes. The default endpoint operator never sees your address paired with your network address.

Does not hide

It is not a tunnel for your whole machine. The destination remains visible, and the server name is in the clear unless the connection encrypts it. It also makes us the party able to see that pairing. The only thing that limits us is architecture that never records it, plus this page telling you so.

Permit relay

Planned
Hides

That you paid the gas. The relayer is the on-chain payer, which is what makes a zero-gas address usable at all.

Does not hide

We see every request: the address, the asset and the amount, plus your network address unless you route around us. The resulting transfer is an ordinary public token movement with a public amount and timestamp.

Staking

Planned
Hides

Nothing. This is an access mechanism, not a privacy mechanism, and it is listed here so it is never mistaken for one.

Does not hide

Staking is a public act tied to an address. A user who stakes from the same wallet they receive stealth payments into has linked the two themselves. The interface will say so at the moment of staking, not afterwards.

The full threat model, including the parts no design of ours fixes

Five steps from a key you hold to a balance you can move. Start with the one that runs in your browser today.

Receive unseen