diff --git a/web-static/dashboard.html b/web-static/dashboard.html
index 66b29bc5b..67d004c7b 100644
--- a/web-static/dashboard.html
+++ b/web-static/dashboard.html
@@ -2953,8 +2953,20 @@
Legend
if (c.has_rpc) tags.push('rpc');
var tagStr = tags.length ? ' [' + tags.join(', ') + ']' : '';
var peers = (c.peers != null ? c.peers : 0);
+ // Surface the embedded daemon REAL sync state + tip height when the
+ // backend reports them (StatsProvider path emits synced/height per
+ // coin). Only rendered when present -- a coin we hold no handle for
+ // stays silent rather than claim a sync state it cannot read.
+ var sync = '';
+ if (typeof c.synced === 'boolean')
+ sync = c.synced
+ ? ' · synced'
+ : ' · syncing';
+ var tip = (c.height != null && c.height > 0)
+ ? ' · tip ' + c.height : '';
return '' + c.coin + '' + tagStr +
- ' · ' + peers + ' peer' + (peers === 1 ? '' : 's') + '
';
+ ' · ' + peers + ' peer' + (peers === 1 ? '' : 's') +
+ sync + tip + '';
}).join('');
document.getElementById('node_topology_coins').innerHTML = rows;
d3.select('#node_topology_symbol').text(t.node_symbol ? '(' + t.node_symbol + ')' : '');