Depositing, end to end.
One signature derives your note keys. They are generated in the browser and never sent anywhere — the same wallet reproduces them on any device, which is also how you recover.
Type any amount and it splits into fixed-size notes, because a note that carries your amount is a note that identifies you.
The deposit itself is public. Your address, the amount, the timestamp — all on chain, by design. What nobody can do is match the withdrawal that comes out later to the deposit that went in.
52 notes unspent.
https://t.co/NA0GiBCA3P
An agent paying per API call gets weak cover from a pool like this. It pays every minute, the timing gives it away, and no proof fixes that.
Turn it around.
What a cold pool lacks is not cryptography — it is traffic. Agents produce exactly that: continuous, undifferentiated, around the clock, and indifferent to being recognised.
Agents may be bad customers for privacy and excellent sources of it. The person is the one hiding in the machine noise, not the machine.
I do not know yet whether that holds. If agent traffic is too regular, a human transaction stands out more, not less. That is arithmetic, not opinion, and it is the next thing I am working out.
Almost everything you own gets worse if you ignore it.
A note in the pool does the opposite. It sits there while other people deposit, and every one of those deposits becomes another candidate an observer has to rule out before they can point at you.
The cover you have on day thirty was not something we shipped. It is something the pool accumulated while you did nothing.
Deposit, forget it is there, come back later.
https://t.co/NA0GiBCA3P
Agents are beginning to pay for things—API calls, compute, and data. But every payment can still be traced back to the wallet that funded them.
Relayers already provide the core primitive: they submit transactions on behalf of a user or agent without directly linking the transaction to the funder. Ours already does this for people today.
The problem is that fixed-denomination privacy pools were designed for infrequent, relatively large transfers where waiting a few days is acceptable. Agents operate differently: they make many small payments continuously, and they need settlement now.
A 0.01 ETH denomination is too large and too rigid. A 20 MB proving key and several seconds of browser-side proving do not fit inside an automated call loop. And an anonymity set that depends on waiting has little value to an agent that cannot wait.
The primitive is right. The parameters are wrong. That is the gap we are building for.
Imagine if paying for coffee showed the barista your balance, every payment you have ever made, everyone you paid, and the date you started.
That is a wallet address.
Pool page rebuilt.
Five sections — how the cover actually works, the anonymity set today, the contracts as verified on chain, the circuit and the ceremony, and what cannot change.
Contract addresses link straight into Blockscout with copy buttons. The set is live from the contract.
One link that answers "what is this."
https://t.co/NA0GiBCA3P
@third_ang3l Two different things, and worth separating.
Explorer verification: done an hour ago. Both contracts fully verified on Blockscout, solc 0.8.28, exact bytecode match.
Contracts verified on Blockscout. Fully — not partially.
PrivacyPool 0x4daA62B28c4529479785892443E0a0DFe392f460
Groth16Verifier 0x57254c611587343958EAbB70993b85Bc7948524F
solc v0.8.28+commit.7893614a, optimizer on, 200 runs, viaIR off. Same source, same settings, identical bytecode. Anything less would have shown as a partial match.
The MiMC hasher has no Solidity source to verify — its bytecode comes out of circomlibjs, the same library the client uses. So reproduce it instead:
mimcSpongecontract.createCode('mimcsponge', 220)
The deployed runtime code is a byte-exact substring of that output, starting 12 bytes in, past the constructor. One line of JS and you have checked it yourself.
https://t.co/uAObMj0SCQ
@thegardener777 Not ad-hoc, not a calendar. Funded by our trading fee share, sized against unspent notes in the pool — the anonymity set, which only moves on real deposits.
More usage, bigger burn. and I'll say so rather than invent a schedule.
First round done, hashes above.
What we earn, we burn.
Our share of $STRATA trading fees goes into buying $STRATA on the open market, and every token bought goes to an address whose private key does not exist.
Same price you pay. No allocation, no discount, no private deal.
Every buy and every burn gets published with its transaction hash.
50,468,188 already burned. The team wallet holds zero.
Round one.
buy 0x263eff7dfb55a37d8168c6851bc2e04734df2d0701fdc9c0405ecaa3bea6f9d7
burn 0x5b30f85187b6df83e60f06a34fca59f3d440c49cbe6bf2e8d31efeb9f9032a7e
Nothing was kept. The wallet that bought it is back to zero.
52,577,785 burned by us in total — 5.26% of supply. The contract has no mint function and no owner.
Code work is still the priority. More rounds on the way, no dates promised.
While we build — what would make you actually use this? Not buy. Use.
What is missing, what feels unsafe, what would you check first?
Say it plainly. Now is more useful than later.
Code first. Buybacks after.
Right now: more privacy work on the proving path, contract source verified on the explorer, everything landing in public commits before it lands in the product. This is the part nobody applauds, and it decides whether the rest is worth anything.
Then: our share of trading fees goes into buying $STRATA at market and sending it to 0x…dEaD, every hash published.
No date is being promised. It starts when the work above is done, and you will find out because a transaction appears — not because we said so.
Depositing, end to end.
One signature derives your note keys. They are generated in the browser and never sent anywhere — the same wallet reproduces them on any device, which is also how you recover.
Type any amount and it splits into fixed-size notes, because a note that carries your amount is a note that identifies you.
The deposit itself is public. Your address, the amount, the timestamp — all on chain, by design. What nobody can do is match the withdrawal that comes out later to the deposit that went in.
52 notes unspent.
https://t.co/NA0GiBCA3P
Nobody stopped.
37 commits in the last three days. Some of what went in:
— Scoped note derivation to the pool, closing a cross-pool proof replay
— Stopped telling the RPC provider which notes are ours
— Ran the phase-2 ceremony in the browser and closed it on a public beacon
— Refused any wallet that cannot reproduce its own signature
— Proxied the chain RPC same-origin instead of shipping the endpoint
More proving work in progress. Every commit lands in public before it lands in the product — you never have to wait for an announcement to know what changed.
https://t.co/S3ZPmGDbFF
Yes. The source has been public since before launch — https://t.co/S3ZPmGDbFF — and the SHA-256 of every circuit artefact is in the README, so the deployed proving key can be checked as well as the contracts.
Explorer verification is next. Everything needed is ready:
PrivacyPool 0x4daA62B28c4529479785892443E0a0DFe392f460
Verifier 0x57254c611587343958EAbB70993b85Bc7948524F
solc 0.8.28 · optimizer on · 200 runs · viaIR off
Constructor args: verifier, hasher 0x4aEE710cc6d536f2064BD1Ca194B5BB0d54Ff97f, denomination 10000000000000000, levels 20