
CEO of Anonymous Solana Transfers | @darkdrop_sol
Joined August 2020
- Tweets5.4K
- Following1.3K
- Followers2.6K
- Likes3.5K
Kai retweeted
Frontier winners are expected around June 23
Colosseum has been sending interview requests
Receiving one means you made the top 10%
If you haven’t received one yet, keep an eye on your inbox
Respect to everyone who built.
Good luck to all builders ⛵️
Just applied to @MonkeDAO's monkefoundry with @darkdrop_sol.
zk private transfers on solana, credit note architecture, no visible transfer instruction on-chain. sol + usdc live, multiple published audits, colosseum frontier submitted.
app in the works. solana needs privacy infra. let's build.
$DarkDrop dev update!
Shipped a round of security hardening since last week. Closed out the Audit #7 findings including checked arithmetic across all fund paths, a withdraw self alias guard, dead code cleanup, telemetry fixes, and a claim page input validation fix. The issue queue is clean.
One thing stands between here and mainnet, the trusted setup ceremony.
Right now the verifying keys are still dev grade. Fine for devnet while testing, but the final step before mainnet is running the full multi party ceremony with independent contributors and a public transcript before promoting the production keys.
All the code prerequisites are done. What’s left is doing the ceremony properly and generating the final keys.
Not rushing this one. A privacy protocol that handles funds only goes to mainnet once the ceremony is done right. @colosseum @SolanaFndn
3rd time this year I'm rebuilding my dev workflow for $DARKDROP
These agents are triggered automatically by github issues that implements the fix, compiles it, and runs the test suite, then opens a PR that a second agent adversarially reviews, tracing the real codebase and blocking the merge on anything that breaks in production.
Not a linter. It catches missing auth checks, unsafe fund math, soundness breaks.
had our first successful merges, issue closes, plus security reviews with the new system today.
Ran $DarkDrop's live program through an independent Solana security ruleset @JelleoLabs's SOL-001. 020.
Full instruction surface, second-opinion audit.
Result: 0 critical, 0 high, 0 medium.
Only 3 low + 2 info hardening items, all filed as issues. Meaning, program's well hardened. 🔥
github.com/hitman-kai/darkdr…
Audit's public, every finding linked. Building in the open. @colosseum @toly @milianstx @darkdrop_sol @superteam
@SuperteamSG @SolanaFndn
$DARKDROP
Next Frontier categories I looked at: Payments/Fintech + Security/Privacy 👇
Smaller than the previous macro areas, but closely connected
→ moving money better, protecting users and making privacy usable
Payments/Fintech seems to be forming around:
• Simple private payments
Example: @looftapay, payments by username, email or X handle
• Internet-native merchant payments
Example: @paymento_io, a non-custodial x402 gateway for real commerce
• Machine and agentic settlement
Example: @ryvonetwork, a clearing layer for machine payments on Solana
Security/Privacy seems to be forming around:
• Private transfers
Example: @darkdrop_sol, unlinkable private transfers on Solana
• Continuous security checks
Example: @JelleoLabs, continuous Solana program audits
• Inheritance and recovery paths
Example: @Heresprotocol, an autonomous death insurance protocol on Solana
• Reputation and trust layers
Example: @KRED_info, a reputation layer for crypto KOLs
• Threat detection before users interact
Example: @Sentrii_io, security analysis for links, repos and wallet interactions
As more value moves onchain, payments, privacy and security stop being optional.
What interesting projects did you find in these categories?
Currently running the jelleo ruleset for $DARKDROP. let's see.
@JelleoLabs
Dev update
Big progress on the $DarkDrop app.
The thing I was wrestling with, making a private send feel like a normal one, is working end to end on devnet now 🔥
Open the app, paste a wallet, hit send. On the other side, funds just show up. No claim codes, no copy-paste, nothing extra for whoever's receiving.
The whole flow. send → it arrives → it lands in their wallet, privately, recipient unlinkable on-chain
.
Under the hood it's the same credit-note model #DarkDrop already runs, I didn't water it down, I built a one tap experience on top of it and added a stealth layer so the recipient's address stays unlinkable.
SOL and tokens both. The cryptography runs on the phone itself, no servers in the middle.
Real device testing and polish next, nothing to download yet. But the hard part is done.
I'll show it when it's ready. Building in the open.
This is the strongest fix of the day.
Ran 8 adversarial cases against the relayer after the hardening pass, all 8 now fail exactly where they should.
Replay attempts rejected.
Wrong / missing memo rejected.
Over-transfer rejected.
Decoy instructions rejected.
Destination validation enforced.
Exact instruction count enforced.
The important part isn’t just that the happy path works. It’s that the abuse paths don’t.
That’s the difference between works in demos and something hardened for adversarial environments.
@darkdrop_sol @colosseum @toly @milianstx @Arcium $DARKDROP
github.com/hitman-kai/darkdr…
The move isn't "we have no bugs."
The move is, find them on purpose, write every one down, and close them with a test that proves it's fixed.
$DarkDrop's whole backlog is public, findings, repro steps, acceptance criteria, the works. knocking them off now. tracking + documenting beats vibes every time.
$sol @colosseum @superteam @toly @anza_xyz @mert @milianstx
Over the next while you'll see a batch of issues open up on the $DarkDrop repo. That's intentional, and it's a good thing.
On GitHub an issue just means a tracked item: a finding, a hardening task, a note. It doesn't mean something's broken. It's the opposite, it means every piece of QA and review is getting logged in the open instead of living in someone's head.
This is a security and QA pass ahead of mainnet. Most of what's getting filed is hardening and defense-in-depth, caught on purpose by digging for it, not live problems.
More issues being tracked = more eyes = a tighter protocol. Building this in the open, nothing swept under the rug.
github.com/hitman-kai/darkdr…
Shipped a round of security hardening to $DarkDrop today.
I ran a deep self-audit of the on-chain program and worked through 7 findings, relayer DoS hardening, a gasless-relayer edge case that could strip a user's ability to withdraw, deploy-process safety, plus a few maintainability/perf fixes.
All 7 are fixed, deployed, and verified live on devnet across both SOL and USDC.
But the interesting part. I almost shipped a bug in my own fix.
One finding was about a value ("salt") the relayer could swap out, breaking a user's withdrawal. The obvious fix, read the salt from on-chain state instead of trusting the caller, looked correct and compiled cleanly.
It would've bricked every MAX-PRIVACY withdrawal.
The privacy pool intentionally stores a decoy salt on-chain; the real one only exists inside the ZK proof and is known only to the recipient. My clean fix would've checked the decoy, rejected valid pool withdrawals, and locked funds.
I only caught it because I refused to trust it compiles. I spun up a local validator and ran the full recursive-privacy flow end-to-end:
deposit → hidden claim → pool deposit → hidden pool claim → withdraw
It failed exactly where the decoy salt lives.
Real fix: try the on-chain salt first, then fall back to the caller's. Works for both standard and pool notes. Re-tested end-to-end on SOL + USDC, then deployed.
The lesson I keep re-learning are compiling isn't testing, and the most dangerous code is the fix you're most confident about.
DarkDrop is still devnet this was an internal hardening pass, not a replacement for a real third-party audit. But every fund-touching path now has a live end-to-end test behind it.
github.com/hitman-kai/darkdr…
I'm opening a permissionless trusted-setup ceremony for $DarkDrop, and we need contributors. Here's what that means and why it matters.
DarkDrop uses Groth16 zk-SNARKs to make transfers private on Solana. But every Groth16 system has a catch: the proving keys can only be generated alongside a piece of secret randomness, "toxic waste."
Anyone who keeps that secret can forge proofs and mint value out of thin air, silently. It's the single biggest trust assumption in any SNARK protocol.
The fix is a multi-party ceremony. Instead of one machine generating the keys (and you having to trust it deleted the secret), the computation is passed from contributor to contributor. Each one mixes in their own randomness and destroys their share. The math guarantees that as long as just ONE contributor is honest, the toxic waste is unrecoverable, and the system is sound.
That's why we need you, and why more is better. With one contributor, you have to trust them. With dozens of independent people, an attacker would have to compromise every single one to break it. Each honest contributor permanently strengthens the security of every proof DarkDrop will ever make.
You're not doing us a favor, you're making the protocol trustless for everyone, including yourself.
How it works:
• It's permissionless — no roster, no gatekeeping. Anyone can contribute during the open window.
• A contribution takes ~5 minutes: run one command, open a PR. Full guide in the repo.
• Your secret never leaves your machine. For the security-conscious, a freshly-booted or air-gapped environment is ideal.
• We finalize with a publicly-committed drand randomness beacon (run by the League of Entropy), picked in advance so no one (us included) can grind the outcome.
For context: the Phase-1 setup we build on had 54 contributors. We'd love to give DarkDrop's Phase-2 a setup that's just as strong and diverse.
The exact window dates and drand round will be posted in CEREMONY.md (our canonical public record). Follow for the go-live, and read the contributor guide here:
github.com/hitman-kai/darkdr…
If you care about privacy, ZK, or Solana, this is a high-leverage 5 minutes. RTs genuinely help us reach more independent contributors.
boss 🙏
@toly @wedtm @DIMIDJ @AiFlippa @nikil @milianstx @uttam_singhk @mert @easeev @bunsen @glennonchain @SuperteamSG @superteam @sns @CeramicToken @rune_zk @legelsteinn @Helius @solana @SolanaFndn @zksync @Quicknode @Alchemy @ChainstackHQ @anza_xyz @colosseum

















