user2413: I'm creating an application and was trying to figure out whether to use cardano-wallet or cardano-cli for my product. I like the fact cardano-wallet has endpoints & is very easy to setup, although cardano-cli seems like it'll be great. My product will allow lots of users to create wallets & send & receive but I was hesitant to use cardano-wallet becuase someone once told me cardano-wallet is better for single users that want to manipulate their wallets, not for large enterprise applications.
Can someone with more experience chime in?

user6086: I would add a fence-sitting "it depends on your use case" and what your time line is.
The cli can be utilized to build Txs without secret information. Given that light wallets following CIP 30 disclose all available UTXOs and other necessary info (not wallet secrets obvs) to build Txs on the users behalf. Light wallets generally allow users to sign a Tx, even though they cannot build them. So if you want to deliver a usable product tomorrow, this is at least feasible.
The wallet, and to some extent the cli, have been designed for personal use in the sense that they need access to sensitive information. The wallet only operates with secret keys.
To use the cardano wallet, either you force users to host their own wallet in their own instance, or you run instances and they use your platform.
The former is a technical barrier, and the latter undermines blockchain.
How well does it scale to have hosted cardano-wallet as a service? No clue. Its trivially parallelized so its probably fine but i'm sure its not optimized for that use case.
(This has now been fixed but) For the cli, it used to require secret keys to build transactions here. Just reflective of this not being the focus of the design.
Other options: cardano-serialization-lib to build Txs in browser. There are a bunch of other nascent projects trying bridge this gap between "Technically feasible" and "Actually usable"

user4302: cardano-wallet is a framework built for high level control over cardano-cli, and (or some version of it) is the backend for wallet software like Daedalus, Yoroi, Eternl, etc. High level features include: automatic coin/UTXO selection, quick transaction workflow, easy wallet/key derivation, and most importantly, prepackaged endpoints to a running node.
cardano-cli provides a low level command interface with the node, which affords high modularity and customizability for enterprise applications.
So... which you decide to use depends on the nature and scale of your app. Perhaps a bit of both? :)

2413: <p>I'm creating an application and was trying to figure out whether to use <code>cardano-wallet</code> or <code>cardano-cli</code> for my product. I like the fact <code>cardano-wallet</code> has endpoints &amp; is very easy to setup, although cardano-cli seems like it'll be great. My product will allow lots of users to create wallets &amp; send &amp; receive but I was hesitant to use <code>cardano-wallet</code> becuase someone once told me <code>cardano-wallet</code> is better for single users that want to manipulate their wallets, not for large enterprise applications.</p>
<p>Can someone with more experience chime in?</p>
 6086: <p>I would add a fence-sitting &quot;it depends on your use case&quot; and what your time line is.</p>
<p>The cli can be utilized to build Txs without secret information. Given that light wallets following CIP 30 disclose all available UTXOs and other necessary info (not wallet secrets obvs) to build Txs on the users behalf. Light wallets generally allow users to sign a Tx, even though they cannot build them. So if you want to deliver a usable product tomorrow, this is at least feasible.</p>
<p>The wallet, and to some extent the cli, have been designed for personal use in the sense that they need access to sensitive information. The wallet only operates with secret keys.
To use the cardano wallet, either you force users to host their own wallet in their own instance, or you run instances and they use your platform.
The former is a technical barrier, and the latter undermines blockchain.
How well does it scale to have hosted <code>cardano-wallet</code> as a service? No clue. Its trivially parallelized so its probably fine but i'm sure its not optimized for that use case.</p>
<p>(This has now been fixed but) For the cli, it used to require secret keys to build transactions <a href="https://github.com/input-output-hk/cardano-node/issues/3338" rel="nofollow noreferrer">here</a>. Just reflective of this not being the focus of the design.</p>
<p>Other options: cardano-serialization-lib to build Txs in browser. There are a bunch of other nascent projects trying bridge this gap between &quot;Technically feasible&quot; and &quot;Actually usable&quot;</p>
 4302: <p>cardano-wallet is a framework built for high level control over cardano-cli, and (or some version of it) is the backend for wallet software like Daedalus, Yoroi, Eternl, etc. High level features include: automatic coin/UTXO selection, quick transaction workflow, easy wallet/key derivation, and most importantly, prepackaged endpoints to a running node.</p>
<p>cardano-cli provides a low level command interface with the node, which affords high modularity and customizability for enterprise applications.</p>
<p>So... which you decide to use depends on the nature and scale of your app. Perhaps a bit of both? :)</p>
