Addresses & URLs

Overview to all of ZK Compression's RPC URLs, Program IDs & Accounts and Lookup Tables.

RPC URLs

Network
Service
URL

Mainnet

Network Address (RPC)

https://mainnet.helius-rpc.com?api-key=<api_key>

Mainnet

Photon RPC API

https://mainnet.helius-rpc.com?api-key=<api_key>

Find all JSON RPC Methods for ZK Compression here.

Program IDs

Light System Program

SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7

Compressed Token Program

cTokenmWW8bLPjZEBAUgYy3zKxQZW6VKi7bqNFEVv3m

Account Compression Program

compr6CUsB5m2jS4Y3831ztGSTnDpnKJTKS95d64XVq

State Trees, Queues and Token Escrow PDA

Public State Tree #1

smt1NamzXdq4AMqS2fS2F1i5KTYPZRhoHgWx38d8WsT

Public Nullifier Queue #1

nfq1NvQDJ2GEgnS8zt9prAe8rjjpAW1zFkrvZoBR148

Public Address Tree #1

amt1Ayt45jfbdw5YSo7iz6WZxUmnZsQTYXy82hVwyC2

Public Address Queue #1

aq1S9z4reTSQAdgWHGD2zDaS39sjGrAxbR31vxJ2F4F

Token Escrow Owner PDA

GXtd2izAiMJPwMEjfgTRH3d7k9mjn4Jq3JrWFv9gySYy

Lookup Tables

Lookup tables reduce your transaction size. We provide pre-initialized lookup tables that cover the Light's program IDs and accounts:

Lookup Table #1 (Mainnet)

9NYFyEqPkyXUhkerbGHXUXkvb4qpzeEdHuGpgbgpH1NJ

Lookup Table #1 (Devnet)

qAJZMgnQJ8G6vA3WRcjD9Jan1wtKkaCFWLWskxJrR5V

We provide a helper function below if you need to extend a custom lookup table.

ExtendLookUpTables.ts
import { Rpc, confirmTx, createRpc } from "@lightprotocol/stateless.js";
import { createTokenProgramLookupTable } from "@lightprotocol/compressed-token";
import { Keypair, PublicKey} from "@solana/web3.js";
import { RPC_ENDPOINT } from "./constants";
const payer = Keypair.generate();
const authority = payer;
const additionalTokenMints : PublicKey[] = [];
const additionalAccounts : PublicKey[] = [];

// Localnet
const connection: Rpc = createRpc();

const main = async () => {
  /// airdrop lamports to pay gas and rent
  await confirmTx(
    connection,
    await connection.requestAirdrop(payer.publicKey, 1e7)
  );

  /// Create LUT
  const { address } = await createTokenProgramLookupTable(
    connection,
    payer,
    authority,
    additionalTokenMints,
    additionalAccounts
  );

  console.log("Created lookup table:", address.toBase58());
};

main();

Last updated