pocket, two pockets from one phrase
private

Your balance is nobody’s business.
So we built one that keeps quiet.

Stellar's first noncustodial private wallet
Install from GitHub Read the docs Contact us
Amounts encryptedProved on your deviceNo serversSelf-custodyNo admin keysSwapEarn yieldCircle CCTPNo telemetryOpen sourceAmounts encryptedProved on your deviceNo serversSelf-custodyNo admin keysSwapEarn yieldCircle CCTPNo telemetryOpen source

One phrase. Two pockets.

public pocket
142.4917 XLM
anyone can read this
private pocket
142.4917 XLM
only your key can read this

Pocket seals the numbers. Everything that makes a payment legitimate stays in the open.

how much you paid someone sealed
how much you hold in your private pocket sealed
your wallet address in the open
who you paid in the open
money moving in or out of it in the open

Pocket is a wallet first.

Everything you already expect from a Stellar wallet, self-custody throughout, one phrase and no account to make. The private pocket is the part nobody else has.

Aquarius
Swap
Trade between assets with a live quote and a slippage bound, without leaving the wallet.
DeFindex
Earn yield
Deposit into a vault and withdraw again, straight from the public pocket.
Circle CCTP
Move USDC between chains
Send it to Ethereum, Base, Solana and nine more, and claim it coming back. Burned on one chain and minted on the other, not swapped for something else.
Send and receive Asset management Transaction history Live prices and portfolio value Hide balances on screen Testnet faucet
and the private pocket
Four moves, and a history only your device can read.
Shield
move XLM or USDC in from the public pocket
Send privately
pay someone with the amount sealed
Unshield
move it back out again
Its own history
readable on your device and nowhere else
the design
How it works, and why it is built this way.

Seven steps from the point on the curve to the contract that checks it, then the case for hiding the amount instead of hiding who you paid.

Read the design →

Moving money between them.

shield
put XLM or USDC into the private pocket
send privately
pay someone without showing how much
unshield
take it back out again

Shield

Move XLM or USDC from your public pocket into the private one. Anyone can see you moved this much in. What you do with it afterwards, they cannot. It takes two transactions and Pocket does the second one itself.

pocket public
public 142.4917
private 0.0000
0 XLM
shield
pocket private
private 20.0000
  to
  hidden
send privately

Send privately

Pay someone and keep the amount to yourself. Both addresses are still out in the open; the number is not. Money you receive arrives the same way, and one tap makes it ready to spend.

Unshield

Move money back out to your public pocket, where the amount is public again. Put in exactly 1,000 and later take out exactly 1,000, and somebody watching can put the two together.

pocket public
public 122.4917
private 10.0000
0 XLM
unshield

The amount is not visible. Go and check.

One real confidential transfer on Stellar testnet, exactly as the ledger stores it.

as the ledger stores it testnet
contract CDMXZEFO…LDK2Y6
function confidential_transfer
from GC6JCCFW…56CDMN
to GB43MNLS…AL6Z3F7
data 15,356 bytes
amount
no amount, in any field

Both addresses in the clear. The time, the fee, the sender, the recipient.

Open it on the explorer →
security
Nothing here asks you to trust us.

No owner on the contracts, no server holding your amounts, no website that can reach your private pocket. Each one, and how it is enforced.

See the guarantees →

Native USDC through Circle's CCTP.

Burned on one chain, minted on Stellar. No wrapped token and no bridge holding your funds. Shield it and the amount is hidden from that point on.

USDC Base burned there
USDC Stellar minted here
sealed Private pocket amount hidden
The only Stellar wallet where bridged USDC can be shielded into a private balance, in the same app, one action after it lands.
One asset, all the way through

What arrives from CCTP is the same Circle USDC the swap trades and the private pocket wraps. Nothing to reconcile afterwards.

Both directions

Most integrations only send. Pocket signs both Stellar legs: the outbound burn, and the inbound claim for USDC addressed to you here.

Fast or standard

CCTP V2 finality. Take the fast path when you want it settled, the standard one when you do not.

Swap inside the Pocket.

Swap between the assets your wallet holds, priced by Aquarius across its live pools. You see the quote before anything is signed, and you set how far the price is allowed to move before the swap cancels itself instead of filling at a rate you did not agree to.

Aquarius returns a route, which is the path your money takes through the pools to get there. Pocket reads the route and checks both ends match the two assets you picked before it signs anything.

priced by Aquarius
swap
you pay
0 XLM
you get quote
0.00 USDC
cancels if the price moves past 0.5%
swap
the route it takes
XLM yours
pool aquarius
pool aquarius
USDC yours
both ends checked against what you picked

Yield, without leaving your wallet.

Idle XLM and USDC earn nothing. Put them in a DeFindex vault straight from your wallet and they do. Deposit and withdraw whenever you want, no separate app, no moving funds somewhere else first.

no separate app
XLMUSDCToken
DeFindex vault
earning, from your own pocket
Your position and the current rate sit on the home screen next to everything else, so you can see what it is doing at a glance.
integrated with DeFindex
the vault it deposits into
the amount you typed
the account it debits
matches · signed
Every vault transaction is read back and checked against what you asked for before Pocket signs it. If a single field is off, it refuses.
documentation
The documentation.

Sixty-four pages on how Pocket works, what it does not do, and where every number on this page comes from.

Read the docs →

Proven foundations underneath.

The ledger, the circuits and the prover are the most reviewed pieces available. Rolling our own would have been the mistake. Pocket is what turns them into a wallet somebody can hold money in.

01 Stellar
the ledger
Stellar

Where everything settles. Fast, cheap, already carrying real payments. Your public pocket behaves exactly like any other Stellar wallet.

02 Soroban
the contracts
Soroban

Stellar's smart contract platform. The private pocket lives there as a contract holding real assets, tracking who owns what as commitments instead of numbers.

03 OpenZeppelin
the confidential token
OpenZeppelin

The confidential token and its six circuits, audited with remediation completed in July 2026 and pinned to an exact revision, so what runs on chain is what was reviewed.

04 Noir
the circuits
Noir

The language those circuits are written in: proving a payment is valid without revealing the amount. You own it, the sums add up, nothing was created out of nothing.

05 Barretenberg
the prover
Barretenberg

Aztec's proving system, running in your browser with its reference data shipped inside the extension. It proves what our witness assembly hands it, and it never touches a server.

06 Nethermind
the on-chain verifier
Nethermind

The contract that checks every proof. It holds the six verification keys, fixed when it was deployed, and either accepts a transfer or rejects the transaction.

Questions.

What can people see when I pay privately? +
Your address, the address you paid, and that a payment happened. Not how much.How the sealing works
So is this anonymous? +
No, and deliberately not. People can see that you paid someone, and who. What nobody can read is how much, and no setting changes that.Hiding the parties too means a different design: one shared pool instead of your own balance, privacy that depends on how many strangers use it, and someone in the middle to break the link. We would rather you hold the key that reads your own amounts, and be able to prove a payment when it matters.Why we made that trade
Who else can read my amounts? +
Nobody. Every confidential account binds one key that can read its amounts, permanently, and Pocket derives yours from your own recovery phrase. Systems like this usually assign one shared key controlled by whoever runs the service.Every guarantee, and how it is enforced
What does it cost? +
Fractions of a cent. Measured on the ledger: a private payment costs 0.0397523 XLM, opening a private pocket is a one-off 0.0312027 XLM, and making received money spendable is 0.0009266 XLM.
Where are my keys kept? +
On your device, in a vault encrypted with your password. There is no account to make and no server of ours to sign in to.How your keys are held
What if I lose my 24 words? +
Nobody can recover them for you. There is no recovery service, by design.
Do the 24 words bring everything back? +
Your public pocket, yes, all of it. Your private pocket takes a little more work: Stellar only stores the commitments, so Pocket replays your history to work out what you hold, then checks its own answer against the chain. If a piece of that history cannot be checked, it tells you instead of guessing.
Am I locked into Pocket? +
No. Your keys are derived to the published standard, so the same recovery phrase opens the same accounts in any wallet that follows it, including the private ones.
Is it live? +
It works on Stellar's test network today, with real payments you can look up. Real money is the next step, and two things have to land first. Both are made by other people, not us: a stronger version of the proof checker that lives on Stellar, and an outside review of it.
Has it been audited? +
Our wallet and the contracts we deployed have not been reviewed by an outside firm. The confidential token system underneath them was reviewed by OpenZeppelin in July 2026, with remediation completed, and that report is not published yet.What has been reviewed, exactly
Which browsers work? +
Chrome and Chromium browsers, version 109 or later.
Can I connect it to a website? +
Not in this build. The interface for granting a site access is not wired up yet, so nothing can ask your wallet for anything.
Hardware wallet, several accounts, multi-signature? +
None of the three, yet. One account per wallet, one phrase, one signature. We would rather ship the private pocket working than three half-built features around it.