Your walletโs security depends on who can change its rules. Hosted wallets like @privy_io and @turnkeyhq keep those rules inside their own system.
With Lit Protocol, the rules live in contracts on @base. Changing them takes a transaction from your wallet, and anyone can read them.
Teams like @RelayProtocol and @EmblemVault build with Lit for real control.
Linking an email to a wallet should take two proofs: the user can read the mailbox, and the wallet agrees.
On Lit, a Lit Action signs the verification link and emails it directly, so your backend never holds a link it could use to verify an email itself.
Hashing an email address does not keep it private on a blockchain. Anyone can hash a list of likely addresses and compare.
A keyed hash fixes that. On Lit, the key is derived from a Lit wallet inside a secure enclave, so a guess can only be tested through your own action.
Your app can send email without ever holding the email provider's API key.
On Lit, the key is encrypted to a Lit wallet and decrypted only inside the Lit Action that sends the email. The sender and template are written into the action's code.
Customer-managed keys let you control the key's policy. The provider's service still uses the key and sees your data while it works.
Zero operator access means the provider has no technical path to either one.
You can run a @HyperliquidX trading bot without a private key on its server.
A Lit Action signs the orders with a Lit wallet whose key stays in an enclave. Your main account approves that wallet as an API wallet, and the action checks every order against limits in its code.
We measured 600 @HyperliquidX signing requests on Lit's staging environment from our office, on an ordinary connection, end to end.
The median was 135 to 140 ms for one signature. All 600 succeeded and verified with Hyperliquid's official Python SDK.
If a regulator asks which code handled a customer's data, you should be able to prove it.
On Lit, each action signs its results with a key that comes from a hash of its own code. A signed result names the code that produced it.
No single employee should be able to move a fintech's funds.
On Lit, the signing key stays in an enclave, every payment runs through code next to it, and in ChainSecured mode the contract only accepts rule changes from your own Safe.
Where does your app keep its private keys? If the honest answer makes you a little nervous, I'd love to hear from you.
I've been building on @LitProtocol for a month now and have shipped two projects already. If a day goes by without me building something, I feel like I skipped a meal ๐ For my next build, I want to solve a real problem, so I'd love to hear yours first.
Has something like this happened to you?
โข A private key sitting in a .env file, or in a commit you had to scrub
โข An AI agent or bot that needed API keys or a wallet, with nothing really stopping it from misusing them ๐ค
โข A payout or trading script where one bug could sign the wrong transaction
โข A client asking who on your team can access their keys or data
Or something else entirely? Tell me what happened and what you did about it. Replies and DMs open๐ฅ
Encrypted memory protects an AI agent's data from the host. The agent's own outbound calls are a separate risk.
With Lit, the agent runs in a confidential VM, a proxy inside it allows only the hostnames you listed, and changing that list needs your approval on-chain.
An AI agent that holds a production key can leak it into logs, transcripts, and prompts.
With Agent Keychain, the agent asks for one operation, like reading a Stripe balance. The agent never gets the key. It is decrypted only inside a Lit enclave to make that one call.