Skip to main content

RPC and Photon

Packet uses ZK-compressed accounts for threads, messages, inbox archives, and activity. A normal Solana RPC endpoint is not enough to read or prove this state.

You need an RPC provider that supports ZK Compression / Photon.

What Photon Is

Photon is the ZK Compression indexer/RPC layer. It indexes Solana transactions that contain compressed account data and exposes ZK Compression API methods for reading compressed state and fetching validity proofs.

Packet uses this layer through Light Protocol clients. Without it, operations that load compressed accounts, load activity history, send compressed messages, or build compressed-account proofs will fail.

Use a Helius RPC endpoint for the simplest setup:

https://mainnet.helius-rpc.com/?api-key=YOUR_KEY
https://devnet.helius-rpc.com/?api-key=YOUR_KEY

Helius supports Solana RPC and exposes the ZK Compression / Photon API used by Packet, so the same endpoint can usually be used for:

  • normal Solana connection
  • compressionApiEndpoint
  • proverEndpoint

Do not use a plain public Solana endpoint such as https://api.mainnet-beta.solana.com for Packet. It does not provide the Photon/ZK Compression methods Packet needs.

Separate Endpoints

Advanced setups can use separate endpoints:

EndpointPurpose
Solana RPC connectionStandard Solana transactions and account reads.
Compression API endpointPhoton/ZK Compression indexed account reads.
Prover endpointValidity proofs for compressed account operations.

CLI and MCP default the compression/prover endpoints to the main RPC URL. That works when the main RPC is Helius/Photon-compatible.

References