Earlier this week, a Seeker user in the Solana Mobile Discord shared a painful story that I believe should have been avoidable.
They wanted to send $300 to one of their own wallets using its .skr domain, cu.skr, but accidentally mistyped it as su.skr. They didn't notice the mistake because the wallet never surfaced the address the domain had actually resolved to.
The mistyped domain was real. The transaction succeeded. And the $300 went to someone else.
This was especially painful for me because I'd previously looked at how wallets handle these kinds of operations and had already identified this exact scenario as a possibility.
So when I added transfers to domains to Token Studio, I built in four layers of redundancy:
Layer 1: Solana Domain Resolution Verification
When a domain is resolved, its underlying address is surfaced directly in the UI, so you can confirm where you're actually sending.
Layer 2: Transaction History & Receipts
Token Studio keeps receipts for previous transfers, recognizes addresses you've successfully sent to before, and shows you how many times you've used each one.
Layer 3: Warning
Sending or delegating to an address you've used fewer than two times triggers an additional confirmation.
Layer 4: Re-resolution
Before building the transaction, Token Studio resolves the domain one more time and verifies that it still points to the address shown in your address book.
Domains can be transferred, burned, or expire. If the original resolution happened some time ago, things may have changed.
Any one safeguard can fail to get your attention. That's why there are several.
Small safeguards against expensive mistakes.