<p>You don't need to run your own node, if you don't want to. You can always use an API service like Blockfrost to interact with the blockchain instead. This is also how light wallets like MetaMask, Nami wallet etc. read on-chain data and submit transactions. You can use such a service on your own backend, too.</p>
<p>As for minting and distributing there are many ways you can go about. Cardano is special in that you don't even need smart contracts for minting, which makes it much easier.</p>
<p>You also don't need to pre-mint; you can mint on-demand. So without using smart contracts, but with your own backend service running, a setup could look like this:</p>
<p>When the buyer hits the buy button:</p>
<ul>
<li>Generate a minting transaction that needs to be signed by both, you <em>(your backend service)</em> and the buyer <em>(eg using this lib: <a href="https://github.com/Emurgo/cardano-serialization-lib/blob/4f1d87524be5e792baabb038d15ca60cd2d39edb/doc/getting-started/minting-nfts.md" rel="nofollow noreferrer">https://github.com/Emurgo/cardano-serialization-lib/blob/4f1d87524be5e792baabb038d15ca60cd2d39edb/doc/getting-started/minting-nfts.md</a>)</em></li>
<li>Once the buyer signs the transaction <em>(eg via Nami wallet)</em>, have it passed to your backend for verification, signing and submission to the network <em>(eg via Blockfrost)</em></li>
</ul>
<p>Within that single transaction you can have:</p>
<ul>
<li>User mint NFT into their own wallet</li>
<li>User pays you amount x for the NFT</li>
<li>User pays for network fee</li>
</ul>
<p><em>(You can of course also use smart contracts for minting / distributin of your NFTs; the articles in this answer might help you get started: <a href="https://cardano.stackexchange.com/a/4426/4627">https://cardano.stackexchange.com/a/4426/4627</a>)</em></p>

CC BY-SA 4.0
2022-06-05T09:04:54.233Z
It seems that blockfrost doesn't have any apis for minting. https://cardano.stackexchange.com/questions/3726/minting-a-nft-collection-with-blockfrost
renzCNFT
CC BY-SA 4.0
2022-06-05T09:07:23.533Z
You mint a token by submitting a „minting transaction“ through the  tx submit endpoint. That transaction needs to be created either in the browser or in your backend beforehand.
sean
CC BY-SA 4.0
2022-06-09T23:02:25.907Z
I am not sure, why you need the NFT creation to be signed by your backend. The NFT belongs to the person who is minting and hence being signed by him should be enough or not ? Or else we are centralising the whole thing and adds extra unnecessary work. Pls correct me ... with arguments.
LKBH Pools
CC BY-SA 4.0
2022-06-10T05:55:38.753Z
The question is about an "nft collection" owned by the op, and such a collection usually shares the same minting policy, so you can verify authenticity (check which nft really belongs to this original collection). This policy would usually restrict who can mint nfts that belong to this collection and hence you'd likely have a central authority providing this signature (the key for this should be kept safely on the backend). Technically though you're right in that you can mint nfts also in the wild without any such measure.
sean
CC BY-SA 4.0
2022-07-06T01:50:15.683Z
But is imposible to add random characters image with this right? since user can see tha transaction that they are signing... unless using some source of randomless... wich i currently do not know any...
Alicia Basilio
CC BY-SA 4.0
2022-07-06T06:03:26.830Z
Yea that’s right. Depending on your use case one idea to solve for randomness could be to sell a „random“ lottery ticket token first and have that secretly tied to an NFT that the user can claim in a second transaction 
sean
CC BY-SA 4.0
2022-06-05T08:51:04.770Z
2022-06-05T09:02:08.003Z
2022-06-05T09:02:08.003Z
sean
<p>For eth:</p>
<pre><code>Create smart contract minter

Deploy that contract into the blockchain

Make API calls on that deployed contract thru your website

Client will click mint button -&gt; API mint interaction to smart contract
</code></pre>
<p>As for cardano this is seemingly complex, this is my understanding so far (are they correct?)</p>
<pre><code>Cardano node must be running on your machine

Interact with node using cardano cli, start minting at this point

Get all minted token and start distributing it to people

With this I am the one minting all of the tokens and distribute it to people, is there a way to do it like in eth?
</code></pre>

<cardano-cli><cardano-node>
Is it possible for clients to mint my nft collection on their own?
# Is it possible for clients to mint my nft collection on their own?

(Asked by: username_0 on 2022-06-05)

For eth:
Create smart contract minter

Deploy that contract into the blockchain

Make API calls on that deployed contract thru your website

Client will click mint button -> API mint interaction to smart contract

As for cardano this is seemingly complex, this is my understanding so far (are they correct?)
Cardano node must be running on your machine

Interact with node using cardano cli, start minting at this point

Get all minted token and start distributing it to people

With this I am the one minting all of the tokens and distribute it to people, is there a way to do it like in eth?

**Tags:** cardano-cli, cardano-node

---

## 1 answers

### Answer by username_1 on 2022-06-05. Score: 1 | Accepted answer

You don't need to run your own node, if you don't want to. You can always use an API service like Blockfrost to interact with the blockchain instead. This is also how light wallets like MetaMask, Nami wallet etc. read on-chain data and submit transactions. You can use such a service on your own backend, too.

As for minting and distributing there are many ways you can go about. Cardano is special in that you don't even need smart contracts for minting, which makes it much easier.

You also don't need to pre-mint; you can mint on-demand. So without using smart contracts, but with your own backend service running, a setup could look like this:

When the buyer hits the buy button:

* Generate a minting transaction that needs to be signed by both, you *(your backend service)* and the buyer *(eg using this lib: <https://github.com/Emurgo/cardano-serialization-lib/blob/4f1d87524be5e792baabb038d15ca60cd2d39edb/doc/getting-started/minting-nfts.md>)*
* Once the buyer signs the transaction *(eg via Nami wallet)*, have it passed to your backend for verification, signing and submission to the network *(eg via Blockfrost)*

Within that single transaction you can have:

* User mint NFT into their own wallet
* User pays you amount x for the NFT
* User pays for network fee

*(You can of course also use smart contracts for minting / distributin of your NFTs; the articles in this answer might help you get started: <https://cardano.stackexchange.com/a/4426/4627>)*

> **Comments:**
> **username_0**: It seems that blockfrost doesn't have any apis for minting. https://cardano.stackexchange.com/questions/3726/minting-a-nft-collection-with-blockfrost  
> **username_1**: You mint a token by submitting a „minting transaction“ through the  tx submit endpoint. That transaction needs to be created either in the browser or in your backend beforehand.  
> **username_2**: I am not sure, why you need the NFT creation to be signed by your backend. The NFT belongs to the person who is minting and hence being signed by him should be enough or not ? Or else we are centralising the whole thing and adds extra unnecessary work. Pls correct me ... with arguments.  
> **username_1**: The question is about an "nft collection" owned by the op, and such a collection usually shares the same minting policy, so you can verify authenticity (check which nft really belongs to this original collection). This policy would usually restrict who can mint nfts that belong to this collection and hence you'd likely have a central authority providing this signature (the key for this should be kept safely on the backend). Technically though you're right in that you can mint nfts also in the wild without any such measure.  
> **username_3**: But is imposible to add random characters image with this right? since user can see tha transaction that they are signing... unless using some source of randomless... wich i currently do not know any...  
> **username_1**: Yea that’s right. Depending on your use case one idea to solve for randomness could be to sell a „random“ lottery ticket token first and have that secretly tied to an NFT that the user can claim in a second transaction   

---

