pocket
Overview

Status

Pocket runs on Stellar testnet today, end to end, with real proofs the on-chain verifier accepted. Two upstream things gate mainnet.

Pocket works end to end on Stellar testnet, with real UltraHonk proofs generated on your own machine and accepted by the on-chain verifier. Every claim below is a transaction anyone can look up.

Proven on chain

WhatTransactionFee charged
Auditor key registered, id allocated by the registry7465cc88…0.0051934 XLM
Confidential account registered, proof accepted60dff27f…0.0312027 XLM
Received balance merged into spendable792caf07…0.0009266 XLM
Confidential transfer, amount hidden391b5767…0.0397523 XLM

The register transaction is the one that proves the whole pipeline. It ran with no mocks: a spending key derived from a SEP-0053 signer root, a witness built by Pocket's own cryptography, the real Noir circuit solving that witness, a real UltraHonk proof of 14,592 bytes, and the on-chain verifier accepting it.

How to check each of these yourself.

Deployed contracts

Six contracts are live on testnet: two confidential wrappers sharing one verifier and one auditor registry, plus the two Stellar Asset Contracts they wrap.

Every address, with the verification-key hashes.

Mainnet

Pocket is built for mainnet. The mainnet network entry already exists in the wallet's configuration, carrying the network passphrase, Horizon, the native Stellar Asset Contract, Circle's mainnet USDC issuer and the mainnet Aquarius router.

The switch is closed in this build, held by three independent checks: the network setter, the manifest's host permissions, and the empty mainnet deployment list.

Two upstream items gate opening it: the Soroban verifier implements only the non-zero-knowledge proof flavour, and the verifier backend has not been audited.

What has to happen, and in what order.

What is checked before anything ships

Seven release gates run against the artifact a user would install, not against the sources that produced it. They check the toolchain pin, that all six verification keys reproduce from circuit source, that every deployed address resolves on chain, that the pinned verifier fork carries no Rust changes, that the public-input counts match the circuits, that the package carries no source maps or loopback endpoints, and that the browser suite passes against that exact package.

The seven gates, and what each one catches.

Every claim in one place

Networks, assets, audit status, permissions, and what is built: the register carries all of it.

On this page