Solana Clock Sysvar Viewer
Solana Sysvar Addresses
Sysvar Program ID:
Sysvar1111111111111111111111111111111111
Clock Sysvar Address:
SysvarC1ock11111111111111111111111111111111
Domain Name:
clock.programwatch.sol
Solana Clock Sysvar
Current time information from the Solana blockchain
Devnet
Local Time Comparison
Local Time
3/26/2025, 2:25:57 AM
Solana Time (devnet)
Loading...
Copy the Code
Use this code snippet to fetch and parse Solana clock data in your own projects:
Solana Clock Code Snippet
// Solana Sysvar Program ID
const SYSVAR_ID = 'Sysvar1111111111111111111111111111111111';
const SYSVAR_CLOCK_PUBKEY = new PublicKey('SysvarC1ock11111111111111111111111111111111');
const connection = new Connection('https://api.devnet.solana.com', 'confirmed');
const clockAccount = await connection.getAccountInfo(SYSVAR_CLOCK_PUBKEY);
const data = clockAccount.data;
// Helper function to read little-endian 64-bit integers
const readUInt64LE = (buffer, offset) => {
const low = buffer.readUInt32LE(offset);
const high = buffer.readUInt32LE(offset + 4);
return BigInt(low) + (BigInt(high) << 32n);
};
const readInt64LE = (buffer, offset) => {
const value = readUInt64LE(buffer, offset);
return value > 0x7FFFFFFFFFFFFFFFn ? value - 0x10000000000000000n : value;
};
// Parse the fields
const slot = Number(readUInt64LE(data, 0)); // u64 at offset 0
const epochStartTimestamp = Number(readInt64LE(data, 8)); // i64 at offset 8
const epoch = Number(readUInt64LE(data, 16)); // u64 at offset 16
const leaderScheduleEpoch = Number(readUInt64LE(data, 24)); // u64 at offset 24
const unixTimestamp = Number(readInt64LE(data, 32)); // i64 at offset 32
// Convert Unix timestamp to human-readable date
const date = new Date(unixTimestamp * 1000);
// Display the results
console.log('Solana Clock Sysvar Data:');
console.log(`- Slot: ${slot}`);
console.log(`- Epoch: ${epoch}`);
console.log(`- Leader Schedule Epoch: ${leaderScheduleEpoch}`);
console.log(`- Epoch Start Timestamp: ${epochStartTimestamp} (${new Date(epochStartTimestamp * 1000).toUTCString()})`);
console.log(`- Unix Timestamp: ${unixTimestamp} (${date.toUTCString()})`);