Roadmap
What works now, what comes next on testnet, and what follows SDF approving Confidential Tokens for mainnet.
There are no dates on this page. The last stage depends on a decision outside the project. Sources: docs/SCOPE-LEDGER.md and docs/DEMONSTRATION-STATUS.md.
Working now, on testnet
- Multi-sender aggregate disclosure circuits for 8, 16 and 64 transfers: zero-knowledge, with the minimum group size enforced in the circuit.
- The round registry contract (16 tests, 10 of them negative).
- The client ported to OpenZeppelin v0.9.0, passing the upstream test vectors.
- A testnet deployment whose auditor secret is kept out of the repository.
- An end-to-end round, donor-verified, with
pnpm demo. - The standalone
tally challenge,proveandverifytool. - A published round, verifiable from a clean clone, with two tampering cases rejected.
- Headless non-custodial registration, tested on live testnet.
- Measurements under protocol 29, including four transfers in one transaction.
- The secret guard and CI.
Next, on testnet
In the order the scope ledger lists them:
- Auditor client and archive. Decrypting every event type, standing openings checked against the chain, an event archive that meets OpenZeppelin's indexer specification, and per-period verification.
- Split custody. Joint key generation over Grumpkin, threshold decryption with proofs of correct partial results, a published proof of possession, share refresh, a secret-shared store of balance openings, and the custodian service.
- Requests, lists and outputs.
- The scoped audit-request workflow and the public log.
- The OpenZeppelin policy contract and the subject registry.
- SPP list operation and SPP view-key custody.
- Per-counterparty and inbound disclosure circuits, and the tax-export statement.
- An operator console, and a pilot with one issuer.
All of this is designed, not built. See Operator design.
After SDF approves Confidential Tokens for mainnet
None of this starts before that approval:
- Auditor-side aggregate proofs through an attested enclave.
- Hardware-backed share storage.
- Moving to the OpenZeppelin release that reaches mainnet.
- Mainnet deployment of contracts, archives and custodian nodes, and a second independent archive.
- Payout batching (up to four transfers per transaction) in the library.
- Fixes from an external security audit.
- Operational runbooks.
- A mainnet pilot.
Later: verified recipient identity
The proof shows what amounts moved, not who controls the accounts that received them. A payer could pay accounts it controls. Closing that gap needs recipient attestation: binding each recipient to a verified identity, so a donor learns "this sum went to N distinct verified recipients". It is out of scope for the current work because it changes the trust statement.