diff --git a/apps/scan/app/[locale]/validators/[address]/page.tsx b/apps/scan/app/[locale]/validators/[address]/page.tsx
index d4a950a..a39ae2f 100644
--- a/apps/scan/app/[locale]/validators/[address]/page.tsx
+++ b/apps/scan/app/[locale]/validators/[address]/page.tsx
@@ -186,6 +186,9 @@ export default function ValidatorDetailPage({ params }: { params: Promise<{ addr
} />
{st.icon}{st.text}} />
+ {validator.registered_at !== undefined && validator.registered_at > 0 && (
+ } />
+ )}
{validator.stake !== undefined && (
{formatNumber(validator.stake)} SRX} />
)}
diff --git a/apps/scan/lib/api.ts b/apps/scan/lib/api.ts
index 2522cb3..ceb3920 100644
--- a/apps/scan/lib/api.ts
+++ b/apps/scan/lib/api.ts
@@ -553,6 +553,9 @@ export async function fetchValidators(network: NetworkId) {
return {
...v,
name: v.name ?? legacy?.name ?? "",
+ // `registered_at` (unix seconds) is on /validators but not /staking/validators.
+ // Carry it across so the detail page can show "online since ".
+ registered_at: v.registered_at ?? legacy?.registered_at,
// Prefer the larger of the two block counters. /staking/validators
// tracks blocks_signed which can reset on chain restart; legacy
// /validators carries the cumulative blocks_produced. Take whichever