Security
How your wallet is protected
This service is built on a single principle: your funds should be secured by cryptography, not by trusting us. Here’s what that means in practice.
Non-custodial design
Non-custodial means this service never holds your private key in a form we can use. We cannot move your SOL, access your wallet, or authorize transactions on your behalf.
For managed wallet users, your private key is protected by your passphrase from the moment it’s created. Your passphrase is the only key — without it, the encrypted wallet is unreadable, even to us. When you authorize a transaction, your key is unlocked inside an isolated security boundary for only as long as it takes to sign — a fraction of a second — then discarded.
For connected wallet users (Phantom, Solflare, etc.), your private key never leaves your wallet. this service submits unsigned transaction requests; your wallet signs them locally.
What this service can and cannot see
We can see
- Your public wallet address
- Your stake positions and balances (these are public on-chain)
- Your staking history
- Your email address (for login and notifications)
We cannot see
- Your private key — ever
- Your passphrase — ever
- Your recovery phrase — ever
- Your SOL balance (beyond what's public on-chain)
Passphrase lockout protection
Entering an incorrect passphrase multiple times triggers a temporary lockout to protect against guessing attacks. After repeated lockouts, email verification is required before further attempts are allowed. This makes brute-force access to your wallet impractical regardless of computational power.
Where your key is unlocked
When a managed wallet user authorizes a transaction, their encrypted private key is decrypted inside an AWS Nitro Enclave: a sealed piece of hardware with no persistent storage, no interactive access, and no way for an operator to read what is in its memory. Not even this service engineers can see inside it. The plaintext key exists there only for the sub-second window needed to sign, and is discarded immediately after.
You do not have to take our word for that. The enclave produces a signed attestation document, and your browser checks that signature itself, against a certificate chain rooted in Amazon’s own certificate authority rather than ours. Your browser also compares a fingerprint of the exact software image the enclave is running against a list published in our source code and release notes, so an independent reviewer can rebuild that image and confirm the fingerprint matches.
What this does and does not prove. It proves the signing code is running on genuine sealed Amazon hardware, and it means any change to that code has to leave a trail in our published source history. That is tamper evidence, not a guarantee that you never have to trust us at all: we still control the source, the build, and the published fingerprint. We would rather say that plainly than overclaim it.
Risks to be aware of
- SOL price volatility. The value of your staked SOL fluctuates with the market. Staking does not protect against price changes.
- Slashing. Validators that misbehave or experience extended downtime can be penalized by the network. While the Toshi CSS validator maintains strong uptime, slashing risk cannot be entirely eliminated.
- Lost credentials. If you lose both your passphrase and your recovery phrase, your funds cannot be recovered by anyone. Store your recovery phrase safely.
- Unstaking cooldown. During the ~2–4 day unstaking period, your SOL cannot be accessed or transferred.
Read the full Risk Disclosure for complete details.
Next: FAQ →