<p>Theoretically yes, you can ask wallets like Nami to sign an arbitrary piece of information for you and verify that signature against the addresses pub key hash.  Since this transaction would not have been submitted to the blockchain, no fees should be involved.  Note, I haven't tried this myself.</p>
<p>For Nami, check out the call to <code>signData</code> on this page <a href="https://github.com/Berry-Pool/nami-wallet" rel="noreferrer">https://github.com/Berry-Pool/nami-wallet</a>.</p>
<p>In fact, CIP-8, explores doing this on a more official basis, <a href="https://github.com/cardano-foundation/CIPs/blob/master/CIP-0008/CIP-0008.md" rel="noreferrer">https://github.com/cardano-foundation/CIPs/blob/master/CIP-0008/CIP-0008.md</a></p>

CC BY-SA 4.0
2021-11-01T19:40:52.253Z
Wouldn't this introduce trust into a trustless system? By that I mean you are asking someone to sign something and have them trust that you will just disregard it and not submit it. You would also need to be very transparent about what was being signed. With that said, I would be very interested to see if this would work.
Jacob - SNOWY Pool
CC BY-SA 4.0
2021-11-01T20:26:23.090Z
No.  Because they are signing an arbitrary piece of information and not a real transaction, this cannot be submitted to the blockchain.  The information would need to contain enough information for the signature to be verified.  As for the contents of what was being signed, I would agree, this should be made transparent to the user.
Matt Ho
CC BY-SA 4.0
2021-11-01T20:42:08.520Z
Right, but wouldn't they be trusting you that it is in fact an arbitrary piece of information and not a real transaction? In other words, what keeps you from saying it is X but it is actually Y?
Jacob - SNOWY Pool
CC BY-SA 4.0
2021-11-01T20:46:22.277Z
Today possibly.  But as wallets mature, I would be surprised if wallets didn't prompt you with some clue as to what you were signing.
Matt Ho
CC BY-SA 4.0
2021-11-01T20:55:55.780Z
So I just checked and it looks as Nami does present different messages depending on whether you're signing a tx or arbitrary data, so that's a step in the right direction.
Matt Ho
CC BY-SA 4.0
2021-11-01T19:28:01.497Z
2021-11-01T20:54:07.107Z
2021-11-01T20:54:07.107Z
Matt Ho
<p><strong>Short Answer:</strong> A transaction needs to be singed with the owner's private keys.</p>
<p><strong>Explanation:</strong> To be able to authenticate a user to a wallet, you need them to prove they have the private keys to that wallet. In order to do that, you need them to sign a transaction, which could be the sending Ada method you mentioned. There could be an opportunity to prove this identification with other types of signing transactions, but those will still have a transaction fee, thus costing Ada. <em>Update:</em> As pointed out by Matt Ho, you could potentially not submit the TX to the blockchain and therefore not have to pay the transaction fee. However, this could introduce a level of trust in the trustless system. Without testing this, it is hard to know the details of this.</p>
<p><strong>Solution:</strong> Atala PRISM is an identity solution worth exploring. Although it is still in development, this will be a way to manage identity.<a href="https://atalaprism.io/app" rel="nofollow noreferrer">https://atalaprism.io/app</a></p>

CC BY-SA 4.0
2021-11-01T19:21:45.753Z
2021-11-01T21:10:51.677Z
2021-11-01T21:10:51.677Z
Jacob - SNOWY Pool
<p>I am wondering: Is there another way to authenticate a user (wallet) on Cardano instead of sending ADA?</p>
<p>Obviously a beginner question, but I am just starting to wrap my head around all of this :)</p>

<wallet>
Using Cardano for authentication/signin
# Using Cardano for authentication/signin

(Asked by: username_0 on 2021-11-01)

I am wondering: Is there another way to authenticate a user (wallet) on Cardano instead of sending ADA?

Obviously a beginner question, but I am just starting to wrap my head around all of this :)

**Tags:** wallet

---

## 2 answers

### Answer by username_1 on 2021-11-01. Score: 7

Theoretically yes, you can ask wallets like Nami to sign an arbitrary piece of information for you and verify that signature against the addresses pub key hash. Since this transaction would not have been submitted to the blockchain, no fees should be involved. Note, I haven't tried this myself.

For Nami, check out the call to `signData` on this page <https://github.com/Berry-Pool/nami-wallet>.

In fact, CIP-8, explores doing this on a more official basis, <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0008/CIP-0008.md>

> **Comments:**
> **username_2**: Wouldn't this introduce trust into a trustless system? By that I mean you are asking someone to sign something and have them trust that you will just disregard it and not submit it. You would also need to be very transparent about what was being signed. With that said, I would be very interested to see if this would work.  
> **username_1**: No.  Because they are signing an arbitrary piece of information and not a real transaction, this cannot be submitted to the blockchain.  The information would need to contain enough information for the signature to be verified.  As for the contents of what was being signed, I would agree, this should be made transparent to the user.  
> **username_2**: Right, but wouldn't they be trusting you that it is in fact an arbitrary piece of information and not a real transaction? In other words, what keeps you from saying it is X but it is actually Y?  
> **username_1**: Today possibly.  But as wallets mature, I would be surprised if wallets didn't prompt you with some clue as to what you were signing.  
> **username_1**: So I just checked and it looks as Nami does present different messages depending on whether you're signing a tx or arbitrary data, so that's a step in the right direction.  

---

### Answer by username_2 on 2021-11-01. Score: 2

**Short Answer:** A transaction needs to be singed with the owner's private keys.

**Explanation:** To be able to authenticate a user to a wallet, you need them to prove they have the private keys to that wallet. In order to do that, you need them to sign a transaction, which could be the sending Ada method you mentioned. There could be an opportunity to prove this identification with other types of signing transactions, but those will still have a transaction fee, thus costing Ada. *Update:* As pointed out by Matt Ho, you could potentially not submit the TX to the blockchain and therefore not have to pay the transaction fee. However, this could introduce a level of trust in the trustless system. Without testing this, it is hard to know the details of this.

**Solution:** Atala PRISM is an identity solution worth exploring. Although it is still in development, this will be a way to manage identity.<https://atalaprism.io/app>


---

