# Photon API Methods

The Photon provides ZK Compression methods that extend default Solana JSON RPC API. Detailed documentation for Photon API methods can be found in the [ZK Compression JSON RPC Methods](https://www.zkcompression.com/developers/json-rpc-methods).

| Method                                    | Description                                                                                                                           |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **getCompressedAccount**                  | Retrieve a compressed account by its address or hash.                                                                                 |
| **getCompressedBalance**                  | Retrieve the balance of a compressed account.                                                                                         |
| **getCompressedTokenAccountBalance**      | Retrieve the balance of a compressed token account.                                                                                   |
| **getCompressedBalanceByOwner**           | Retrieve the balance of all compressed accounts owned by a specific address.                                                          |
| **getCompressedMintTokenHolders**         | Retrieve the owner balances of compressed mint, descending order.                                                                     |
| **getCompressedTokenBalancesByOwnerV2**   | Retrieve the balance of all compressed accounts owned by a specific address, paginated.                                               |
| **getCompressedAccountsByOwner**          | Retrieve all owner's compressed accounts, paginated.                                                                                  |
| **getMultipleCompressedAccounts**         | Retrieve multiple compressed accounts by their addresses or hashes.                                                                   |
| **getCompressedTokenAccountsByDelegate**  | Retrieve all compressed token accounts delegated fully or partially to a specific address, paginated.                                 |
| **getTransactionWithCompressionInfo**     | Retrieve transaction details along with compression information.                                                                      |
| **getCompressedAccountProof**             | Retrieve the proof that compression program uses to verify validity of account.                                                       |
| **getMultipleCompressedAccountProofs**    | Retrieve proofs for multiple compressed accounts.                                                                                     |
| **getMultipleNewAddressProofs**           | Retrieve proofs that the new addresses are not taken already and can be created.                                                      |
| **getValidityProof**                      | Retrieve a single ZK Proof that is used by the compression program to check if the account is valid and new addresses can be created. |
| **getCompressionSignaturesForAccount**    | Retrieve signatures of the transaction that opened or closed a compressed account for a specific hash, paginated.                     |
| **getCompressionSignaturesForAddress**    | Retrieve signatures of the transaction that opened or closed a compressed account for a specific address, paginated.                  |
| **getCompressionSignaturesForOwner**      | Retrieve signatures of the transaction that modified a compressed account of a specific owner, paginated.                             |
| **getCompressionSignaturesForTokenOwner** | Retrieve signatures of the transaction that modified a compressed token account of a specific owner, paginated.                       |
| **getLatestCompressionSignatures**        | Retrieve signatures of the latest transactions, paginated.                                                                            |
| **getLatestNonVotingSignatures**          | Retrieve signatures of the latest non-voting transactions.                                                                            |
| **getIndexerSlot**                        | Retrieve slot number of latest indexed block by the indexer.                                                                          |
| **getIndexerHealth**                      | Retrieve the status of the indexer, `ok` if indexer is not stale.                                                                     |
