Developers
Author
Bri Wylde
Publishing date
It’s about that time again — a new protocol upgrade is on the horizon for the Stellar network: X-Ray! This upgrade begins laying the groundwork for developers to build configurable, compliance-forward privacy applications using zero-knowledge (ZK) cryptography without compromising the transparency that defines Stellar.
At Meridian 2025, Stellar Development Foundation’s (SDF) Chief Product Officer Tomer Weller outlined the long-term privacy strategy for Stellar (see the presentation here). A core pillar of that strategy is a commitment to invest in critical privacy infrastructure and build the foundational cryptographic capabilities developers need before higher-level privacy solutions can exist.
X-Ray — named after the everyday tool used to show only what needs to be seen and nothing more — represents the first major milestone in that plan. It proposes native support for two important primitives:
Follow progress and preparation instructions through the continuously updated Protocol X-Ray Upgrade Guide.
What X-Ray introduces and why it matters
CAP-0074: Host functions for BN254 proposes adding native host functions that enable elliptic curve operations on BN254, the elliptic curve standard used across many well-known ZK applications, such as privacy pools, Lighter, Starknet, and ZK Email. While Stellar already supports BLS12-381, a newer pairing-friendly curve introduced in CAP-0059: Host functions for BLS12-381, BN254 remains the most widely used curve in today’s ZK ecosystem.
Without native Soroban support for BN-254, developers building ZK applications on Stellar have to either rewrite their applications for a different curve or maintain workarounds that add complexity and cost. CAP-0074 removes that friction by introducing three host functions:
These functions enable efficient on-chain verification of zk-SNARK proofs, provide feature parity with Ethereum’s EIP-196 and EIP-197 precompiles, and make Stellar interoperable with existing ZK tooling and libraries. That means builders currently in EVM environments can easily migrate or extend projects to Stellar.
Supporting both BN254 and BLS12-381 helps enable configurable privacy on Stellar by giving developers the flexibility to choose the curve that best suits their goals.
What X-Ray introduces and why it matters
While BN254 provides the pairing operations for proof verification, you also need an efficient cryptographic hash, which is where Poseidon comes in.
CAP-0075: Cryptographic Primitives for Poseidon/Poseidon2 Hash Functions defines host functions that expose the core permutation primitives behind Poseidon and Poseidon2.
These primitives let developers design hash functions that are highly efficient in ZK circuits, addressing a key performance bottleneck in ZK systems. Traditional hashes like SHA-256 are computationally expensive to model within proofs, making Poseidon and Poseidon2 better suited for ZK-friendly applications.
With native Poseidon primitives available:
Together, CAP-0074 and CAP-0075 establish the cryptographic foundation developers need to build privacy-preserving applications on Stellar without compromising transparency.
These capabilities unlock:
Learn more about how the Stellar Development Foundation (SDF) is focusing on privacy by watching Tomer Weller’s 2025 Meridian presentation and reading this recent article.