<p>If the stake part of the address has not been registered, that should be detectable (eg it does not exist in the <code>stake_registration</code> table of <code>db-sync</code>).</p>
<p>However, if the stake address has been registered, but to a different wallet than the payment address, I cannot think of a way to detect this.</p>

CC BY-SA 4.0
2022-07-29T04:40:30.863Z
2022-07-29T07:40:18.717Z
2022-07-29T07:40:18.717Z
Erik de Castro Lopo
<blockquote>
<p>staking addresses are often used as authentication information</p>
</blockquote>
<p>I think that'd be a faulty assumption to begin with. The Wallet layer is a lot more open to human interpretation, protocol only knows about different types of addresses.</p>
<p>Grouping by stake addresses is often used to account for the common scenario (a typical end user) , but it should never really be equated as a guarantee to reepresent individual wallet(s). There is nothing except the root public key itself for the HD-Wallet to identify addresses owned by specific wallet.</p>
<p>Use of other assumptions have to come with the corresponding risks for exception cases as above (besides, it's not always a good result - audits for accounting can become really messy with these).</p>

CC BY-SA 4.0
2022-07-29T06:08:42.750Z
2022-07-29T06:08:42.750Z
RdLrT
<p>I've been reading and playing around with <a href="https://cips.cardano.org/cips/cip18/#2mangledaddresses" rel="nofollow noreferrer">mangled/franken</a> addresses the past day. I understand the concept and I created one myself, but I am wrapping my head around the question if there is a way to detect if a given address is such mangled/franken address?</p>
<p>Since staking addresses are often used as authentication information, mangled/franken addresses can be used to impersonate wallets and trick systems that haven't considered such addresses.</p>

<staking><payment><mangled-address>
Are mangled/franken addresses detectable?
# Are mangled/franken addresses detectable?

(Asked by: username_0 on 2022-07-29)

I've been reading and playing around with [mangled/franken](https://cips.cardano.org/cips/cip18/#2mangledaddresses) addresses the past day. I understand the concept and I created one myself, but I am wrapping my head around the question if there is a way to detect if a given address is such mangled/franken address?

Since staking addresses are often used as authentication information, mangled/franken addresses can be used to impersonate wallets and trick systems that haven't considered such addresses.

**Tags:** staking, payment, mangled-address

---

## 2 answers

### Answer by username_1 on 2022-07-29. Score: 2

If the stake part of the address has not been registered, that should be detectable (eg it does not exist in the `stake_registration` table of `db-sync`).

However, if the stake address has been registered, but to a different wallet than the payment address, I cannot think of a way to detect this.


---

### Answer by username_2 on 2022-07-29. Score: 1

> staking addresses are often used as authentication information

I think that'd be a faulty assumption to begin with. The Wallet layer is a lot more open to human interpretation, protocol only knows about different types of addresses.

Grouping by stake addresses is often used to account for the common scenario (a typical end user) , but it should never really be equated as a guarantee to reepresent individual wallet(s). There is nothing except the root public key itself for the HD-Wallet to identify addresses owned by specific wallet.

Use of other assumptions have to come with the corresponding risks for exception cases as above (besides, it's not always a good result - audits for accounting can become really messy with these).


---

