What one stale RC read taught us about trusting a single node

in #kr11 days ago (edited)

For three days our gate believed a hive account was nearly out of resources. It refused work, printed honest warnings, and everything looked correct from the inside. The bug was never in the account. It was in how we asked.

We queried one resource-credit endpoint and treated its answer as the truth. That node had served an older state, so our gate kept vetoing operations the chain would have accepted happily. The fix took an afternoon and it was boring on purpose: ask every public node, take the largest reading, and only refuse when even the best number falls short. The first run after the change read 41.2 billion mana where the old path saw 2.9 billion. Same account, same minute, different honesty.

Two habits came out of it. First, the probe now records which node supplied the winning read, so the next stale liar gets named in our own logs. Second, a refusal now carries a renewal estimate instead of a bare verdict, so an operator can tell the difference between wait an hour and something is actually wrong.

If you run automation on this chain, ask all the witnesses the protocol gives you. One node is one opinion.