Skip to main content
VotersRight

Verification

Verify a Heartbeat on Chain

Every heartbeat on VotersRight is backed by a record on the Solana smart contract — not a private number you have to take on faith. Pick any senator below and confirm the count yourself against the public ledger. You don't have to trust us; you can check.

How we count votes → · The smart contract & audit →

How this works

  1. 1. Each senator's positions live in a Solana Poll account whose address is derived, not assigned — seeded by ["poll", sha256(politician_uuid)] under the voting program. Anyone with the program id can reproduce that address; nothing is hidden.
  2. 2. Run the copy-to-clipboard snippet below to derive a senator's Poll PDA from first principles, then read its total_count off the public RPC. It should match the count we show.
  3. 3. We show you the derivation rather than a pre-baked address on purpose: a number you reproduce yourself is worth more than one we ask you to trust.
Program ID (devnet)
5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b
Public RPC (devnet)
https://api.devnet.solana.com

The smart contract is currently on the Solana devnet cluster. The audited mainnet program and the independent security-audit report are forthcoming; both the mainnet program ID and the published audit appear here before public launch (see Section 08 → ). The contract source is public: smart contract source repository →

100 active senators — pick one and verify.

Alabama

Katie Boyd Britt R · AL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('74df26c5-ef03-4390-8218-e6a0027f855a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tommy Tuberville R · AL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('b2f2a855-67d6-4173-8bf4-382bd71fd3f4', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Alaska

Lisa Murkowski R · AK

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('1175fc70-923a-4553-8951-9dd11d370bd2', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Dan Sullivan R · AK

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('9ec8b21d-8023-4a23-966e-274e28b4fbde', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Arizona

Ruben Gallego D · AZ

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('d559bf2c-ab3f-4ad0-ae1a-be8fb44efee5', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Mark Kelly D · AZ

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('8b827879-c0af-4ce4-928c-cf0aea108b6f', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Arkansas

John Boozman R · AR

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('65ac4912-d50c-43d3-9884-75c6bea201d5', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tom Cotton R · AR

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('d70aed9d-fdf0-4164-ace0-94ad9b2e251f', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

California

Alex Padilla D · CA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('0a780ac1-c4fe-4cc4-92a5-bdbeb95834d0', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Adam B. Schiff D · CA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('a65bc3e8-c0b9-49af-b7d2-c5053a946cdf', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Colorado

Michael F. Bennet D · CO

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f282e56a-89c4-4b21-abbc-6d96e69e0a8c', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

John W. Hickenlooper D · CO

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('39260867-505f-44b7-9425-5efcaa7f2ba1', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Connecticut

Richard Blumenthal D · CT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('bc136fd3-c0ed-4c57-8e50-fe5db250dca4', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Christopher Murphy D · CT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('94e2f33d-81ae-485c-b865-6fee6ac552df', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Delaware

Lisa Blunt Rochester D · DE

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('63644d3b-9e79-452d-8b09-178ea8f538cd', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Christopher A. Coons D · DE

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('a5654802-a0ab-49aa-9fdc-c74b4100ae1a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Florida

Ashley Moody R · FL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f8083f0c-ff6b-43d8-a263-f0820cfea96a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Rick Scott R · FL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('afb59f30-76d1-42b6-a2ac-cd1232f22e55', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Georgia

Jon Ossoff D · GA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('8c82cb55-9cd5-4e76-a383-9fc72b3c3302', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Raphael G. Warnock D · GA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f9efe9d3-19a1-4d6f-9827-66b4d57cca37', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Hawaii

Mazie K. Hirono D · HI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('7899b9dc-ff9f-438d-acbb-2836ed368d47', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Brian Schatz D · HI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('5d0753b4-713a-4cc5-84b6-73e92c9ef425', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Idaho

Mike Crapo R · ID

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('22e8a397-1e83-40cd-8bf0-d20540c35998', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

James E. Risch R · ID

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('8e86cb07-c75f-4388-ae78-bcee0649db3d', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Illinois

Tammy Duckworth D · IL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('28a15fc3-eb0b-4d49-b327-dadf6c3384ae', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Richard J. Durbin D · IL

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('60c781ba-4373-4703-9e05-d232b7dba752', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Indiana

Jim Banks R · IN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('72498426-dcdd-43cd-a356-2835ff9aa661', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Todd Young R · IN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('79544a3e-09e0-41ff-83f9-d9968f6ce983', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Iowa

Joni Ernst R · IA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('5a5b4591-8a4c-4c1a-b7b1-e27423a3ad62', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Chuck Grassley R · IA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('399c7cbe-1552-4139-bed7-6a4b73bf82b9', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Kansas

Roger Marshall R · KS

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('75895749-de5c-4153-85b7-dfd7bd1976ca', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Jerry Moran R · KS

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('55f006b5-3816-494d-85c1-7551b43cb842', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Kentucky

Mitch McConnell R · KY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('52f6a887-2bef-4ca0-ace1-fbea53a3e3de', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Rand Paul R · KY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('ad2d2f26-8766-4bc5-bbf9-2a08dcedbb66', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Louisiana

Bill Cassidy R · LA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('5075778d-2355-4724-96ac-e2d624e13003', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

John Kennedy R · LA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('4928b759-b699-4fae-b073-87aedf7b3f2a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Maine

Susan M. Collins R · ME

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('ab0750cc-5998-4e7e-82cc-0546b268d268', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Angus S. King, Jr. I · ME

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('7546d28d-9d6c-41da-bee2-b9d1304f00d0', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Maryland

Angela D. Alsobrooks D · MD

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('945a5bf1-36f0-492f-9d6e-32fd2c6ad1e4', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Chris Van Hollen D · MD

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6749acfc-50bd-474f-9d6e-257a4a356df7', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Massachusetts

Edward J. Markey D · MA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('079a1a16-70e8-462c-9b2e-831c4869a27a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Elizabeth Warren D · MA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('b144e499-1cd4-486a-ab44-11e510e64cb6', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Michigan

Gary C. Peters D · MI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('a3e7f09f-8002-4256-b6c5-d54eae2a69c7', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Elissa Slotkin D · MI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('12a82dbb-5f0f-4ee2-a0a3-a303d8237182', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Minnesota

Amy Klobuchar D · MN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('bff061f3-7a5d-437a-b5d1-a90c97826c89', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tina Smith D · MN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('4801e9ea-8b33-41ca-9faf-12c410d120eb', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Mississippi

Cindy Hyde-Smith R · MS

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6fc80419-dde7-4e3b-bb1a-7f025b08159c', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Roger F. Wicker R · MS

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f3d88904-0707-4ce7-8a7b-ae73e772f999', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Missouri

Josh Hawley R · MO

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('857f269f-6f13-4877-968d-621b501fd28f', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Eric Schmitt R · MO

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('0e83a35b-7265-4b12-a31c-6d270f1e6bc1', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Montana

Steve Daines R · MT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('dc4e051c-b0c7-425a-b7df-32d9d2823735', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tim Sheehy R · MT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('e0587b51-52ee-4b65-ace3-e9f71f6ef89b', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Nebraska

Deb Fischer R · NE

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('e5d4fc8e-c981-4ed7-aa11-96ab38511fb5', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Pete Ricketts R · NE

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('5611e317-dfac-46ec-8655-c3e6d77de347', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Nevada

Catherine Cortez Masto D · NV

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6f2e2fcd-3a23-4ad5-a0ea-170acf50f386', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Jacky Rosen D · NV

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('cfaf2f37-ff27-4442-9759-0534913bd1c4', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

New Hampshire

Margaret Wood Hassan D · NH

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('0bf1ffd8-9dcb-4faf-bdd8-107d120e7500', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Jeanne Shaheen D · NH

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('94a8a1f2-5462-4881-be57-d0507077d93a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

New Jersey

Cory A. Booker D · NJ

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('c1eafc22-f88e-44e5-b08a-66d91ceb4519', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Andy Kim D · NJ

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('908c6a80-754d-4959-a2f7-59db11373b64', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

New Mexico

Martin Heinrich D · NM

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('697339a6-ad6d-4709-9f32-52afea128ac0', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Ben Ray Luján D · NM

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('7f5e64ba-eabe-463f-bcd6-2230f4a3e636', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

New York

Kirsten E. Gillibrand D · NY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('d482a9ce-1551-4ccd-85c7-d9c987ca1c89', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Charles E. Schumer D · NY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('200f68dd-f672-4630-af3a-c69a07582185', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

North Carolina

Ted Budd R · NC

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('593e4f19-cb43-45cc-83b9-85d85ad3ff81', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Thom Tillis R · NC

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('cd7d3597-ad86-4ea5-aa45-9971cf769a79', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

North Dakota

Kevin Cramer R · ND

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('7d5e43a6-529f-4d53-ab97-0b0cbf057fb3', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

John Hoeven R · ND

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('bc42de90-eb27-4853-985a-b7465a76ac2b', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Ohio

Jon Husted R · OH

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('ca397b9b-b197-4ed3-8719-c260cdc91f10', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Bernie Moreno R · OH

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('efc87867-ed5a-4251-86dc-f5cd8b1c744a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Oklahoma

Alan Armstrong R · OK

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f8561fca-7d9a-49ae-88d0-c440986a1f17', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

James Lankford R · OK

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('8e4f0894-0038-41c1-bf54-b36909fe1d83', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Oregon

Jeff Merkley D · OR

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('e9c75b5f-968a-4520-8d9c-c92ef7760a6c', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Ron Wyden D · OR

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('eaf64a63-99da-475c-bdc6-9a6848621bc9', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Pennsylvania

John Fetterman D · PA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('ce5f0c24-ca19-4ddd-9d3f-41dc7c4b0890', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

David McCormick R · PA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('1600a67e-e223-4f6f-847c-a41b1f17cee4', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Rhode Island

Jack Reed D · RI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('4ed3acc8-9451-4ed4-9660-ef093efefefe', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Sheldon Whitehouse D · RI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('64c6728a-71fb-4c29-b89c-0faee47234ac', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

South Carolina

Lindsey Graham R · SC

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6562dabe-8bf6-4aff-a7f0-840612075e41', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tim Scott R · SC

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('5535d991-53e6-4bdf-95ee-d06918a1948a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

South Dakota

Mike Rounds R · SD

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('fb9e31fe-afdd-433c-b330-fb0765e2ff56', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

John Thune R · SD

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('05bedd5b-f1ce-4c90-bd28-453926fee62a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Tennessee

Marsha Blackburn R · TN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('b04c229d-65e9-414c-98fb-cf901d1ead33', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Bill Hagerty R · TN

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('297f8491-39d2-4c80-9f3a-66100572905d', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Texas

John Cornyn R · TX

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('1718318c-c44b-4d38-975b-98d9eea4165b', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Ted Cruz R · TX

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('da1e7dc1-0ca8-446f-a1dd-8e4587e86776', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Utah

John R. Curtis R · UT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('f744c099-b23e-440e-a0a8-b59225bef59e', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Mike Lee R · UT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('bf0fe9cb-7662-4092-b6cf-561f2e9d5ab5', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Vermont

Bernard Sanders I · VT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('036d2dbc-d3c4-489b-9556-900d2485491a', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Peter Welch D · VT

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('44760d0e-e7fd-4483-9563-559eea973d26', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Virginia

Tim Kaine D · VA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('96ab9b00-9d11-4af4-9722-aec36f2573af', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Mark R. Warner D · VA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('e83a5a0a-564e-4cd7-bc2e-8efb917e7a2f', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Washington

Maria Cantwell D · WA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('ada95512-4b9a-45b7-b62e-5fec0c081cfc', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Patty Murray D · WA

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('c1fdb3a4-3217-415c-9e35-cf2841c1e32c', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

West Virginia

Shelley Moore Capito R · WV

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('82f76cfd-84ea-4813-ba29-884e3cf9bf16', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

James C. Justice R · WV

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6fd1135a-f5cf-4edc-bee4-857b06c770eb', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Wisconsin

Tammy Baldwin D · WI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('18d0c803-a968-49f7-90a2-bdc2d289296e', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Ron Johnson R · WI

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('19385a19-976e-41d6-bfd6-8475c5338394', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Wyoming

John Barrasso R · WY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('6f72aad7-bea2-4e95-b20c-0e009e0d6f79', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.

Cynthia M. Lummis R · WY

Heartbeat we show: 0 verified positions

Solana CLI

solana account <POLL_PDA> --url https://api.devnet.solana.com

JavaScript (@solana/web3.js) — derive the PDA yourself

import { Connection, PublicKey } from '@solana/web3.js';
import { createHash } from 'node:crypto';

// 1. politician_id seed = sha256(utf8(politician uuid)) — the SAME id the
//    on-chain Poll account is seeded with (politicians.id).
const politicianId = createHash('sha256')
  .update('adf340c3-6d74-464a-9af1-5981122fb33e', 'utf8')
  .digest(); // 32 bytes

// 2. derive the Poll PDA: findProgramAddressSync(["poll", politician_id], programId).
const programId = new PublicKey('5zskwM6GtRXmhPMHjM5rzAwpJ5DejZN4n8zY6F6ebk2b');
const [pollPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('poll'), politicianId],
  programId,
);
console.log('Poll PDA:', pollPda.toBase58());

// 3. read it off the PUBLIC RPC and decode total_count (u64 LE @ byte offset 56).
const conn = new Connection('https://api.devnet.solana.com');
const info = await conn.getAccountInfo(pollPda);
if (!info) {
  console.log('No Poll account yet — 0 verified positions on chain.');
} else {
  const total = info.data.readBigUInt64LE(56);
  console.log('On-chain total_count:', total.toString());
}

Derive the Poll PDA with the snippet above, then open https://explorer.solana.com/address/<POLL_PDA> on Solana Explorer. A direct per-senator Explorer link appears here once the program ID is published before launch.