<p>Short answer is no, because it poses a security risk for both them (generating and transmitting keys over the network) and the end-user consuming their service to do so (trusting the API not to log or persist those keys).</p>
<p>As with all other blockchains, the responsibility of generating (and securely storing) keys and addresses generally lie with the end-user who wants to interact with it. As they say, <em>not your keys, not your wallet</em>.</p>
<p>That said, you can generate them through:</p>
<ul>
<li>CLI tools (e.g. <a href="https://learn.lovelace.academy/getting-started/keys-and-addresses/" rel="nofollow noreferrer">cardano-cli</a>, or <a href="https://github.com/CardanoSharp/cscli#generate-recovery-phrase" rel="nofollow noreferrer">cscli</a>)</li>
<li>SDKs in your language of choice (e.g. <a href="https://github.com/CardanoSharp/cardanosharp-wallet#create-mnemonics" rel="nofollow noreferrer">CardanoSharp</a>, <a href="https://github.com/Emurgo/cardano-serialization-lib/blob/master/doc/getting-started/generating-keys.md" rel="nofollow noreferrer">cardano-serialization-lib</a>, <a href="https://github.com/bloxbean/cardano-client-lib" rel="nofollow noreferrer">cardano-client-lib</a>, etc.)</li>
<li>Software wallets which can generate recovery-phrases and root keys to derive multiple keys/addresses (e.g. Eternl/CC, Daedalus, Flint, Yoroi, etc.)</li>
<li>Hardware wallets with embedded root keys (e.g. Ledger, Trezor, etc.)</li>
</ul>
<p>It is also worthwhile mentioning that you should practice extreme caution when generating the keys yourself. I highly recommend using an air-gapped machine, never storing the raw recovery-phrase digitally (raw text,photo,etc.) and never sharing it with anyone else.</p>

CC BY-SA 4.0
2022-05-02T08:08:08.063Z
thank you 
do you know is it possible to generate lite wallet of cardano or how can it possible
aniket gholap
CC BY-SA 4.0
2022-05-03T02:52:23.157Z
At this stage I would ask what exactly are you trying to achieve? Do you mean to generate a set of wallet keys/addresses locally? Or to build light wallet software (e.g. my third point) yourself?
keefie
CC BY-SA 4.0
2022-05-02T06:06:51.883Z
2022-05-02T06:06:51.883Z
keefie
<p>Looking at the docs at <a href="https://docs.blockfrost.io/" rel="nofollow noreferrer">https://docs.blockfrost.io/</a> I'm pretty sure that's not possible.</p>
<p>Your best option might be to use a package like this, if your in nodejs:</p>
<p><a href="https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-nodejs" rel="nofollow noreferrer">https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-nodejs</a></p>
<p><em>(or this version for the browser: <a href="https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-browser" rel="nofollow noreferrer">https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-browser</a>)</em></p>
<p>The generation of keys with this library is explained here:</p>
<p><a href="https://github.com/Emurgo/cardano-serialization-lib/blob/master/doc/getting-started/generating-keys.md" rel="nofollow noreferrer">https://github.com/Emurgo/cardano-serialization-lib/blob/master/doc/getting-started/generating-keys.md</a></p>
<p>and can look something like this:</p>
<pre><code>  const rootKey = Bip32PrivateKey.generate_ed25519_bip32();

  const harden = (num: number): number =&gt; {
    return 0x80000000 + num;
  }

  const accountKey = rootKey.derive(harden(1852)).derive(harden(1815)).derive(harden(0));
  const utxoPubKey = accountKey.derive(0).derive(0);
  const stakeKey = accountKey.derive(2).derive(0);

  const baseAddress = BaseAddress.new(
    NetworkInfo.testnet().network_id(), // Testnet
    StakeCredential.from_keyhash(utxoPubKey.to_public().to_raw_key().hash()),
    StakeCredential.from_keyhash(stakeKey.to_public().to_raw_key().hash())
  )

  console.log(&quot;New address: &quot;, baseAddress.to_address().to_bech32())
</code></pre>
<p>There are of course also other ways to generate the keys, eg. via the CLI:
<a href="https://developers.cardano.org/docs/stake-pool-course/handbook/keys-addresses/" rel="nofollow noreferrer">https://developers.cardano.org/docs/stake-pool-course/handbook/keys-addresses/</a></p>

CC BY-SA 4.0
2022-03-31T11:39:23.993Z
One more option is https://www.npmjs.com/package/@stricahq/bip32ed25519, this library is purely written in Javascript.
Mehul Prajapati
CC BY-SA 4.0
2022-03-31T10:05:57.580Z
2022-03-31T10:14:45.773Z
2022-03-31T10:14:45.773Z
sean
<p>Is it possible to generate new address and private key for cardano using blockfrost.io api,
that later on can use for transactions and adding it into wallet.</p>
<p>thank you</p>

<cardano-address><blockfrost>
how to generate cardano new address using blockfrost.io?
# how to generate cardano new address using blockfrost.io?

(Asked by: username_0 on 2022-03-31)

Is it possible to generate new address and private key for cardano using blockfrost.io api,
that later on can use for transactions and adding it into wallet.

thank you

**Tags:** cardano-address, blockfrost

---

## 2 answers

### Answer by username_1 on 2022-05-02. Score: 2

Short answer is no, because it poses a security risk for both them (generating and transmitting keys over the network) and the end-user consuming their service to do so (trusting the API not to log or persist those keys).

As with all other blockchains, the responsibility of generating (and securely storing) keys and addresses generally lie with the end-user who wants to interact with it. As they say, *not your keys, not your wallet*.

That said, you can generate them through:

* CLI tools (e.g. [cardano-cli](https://learn.lovelace.academy/getting-started/keys-and-addresses/), or [cscli](https://github.com/CardanoSharp/cscli#generate-recovery-phrase))
* SDKs in your language of choice (e.g. [CardanoSharp](https://github.com/CardanoSharp/cardanosharp-wallet#create-mnemonics), [cardano-serialization-lib](https://github.com/Emurgo/cardano-serialization-lib/blob/master/doc/getting-started/generating-keys.md), [cardano-client-lib](https://github.com/bloxbean/cardano-client-lib), etc.)
* Software wallets which can generate recovery-phrases and root keys to derive multiple keys/addresses (e.g. Eternl/CC, Daedalus, Flint, Yoroi, etc.)
* Hardware wallets with embedded root keys (e.g. Ledger, Trezor, etc.)

It is also worthwhile mentioning that you should practice extreme caution when generating the keys yourself. I highly recommend using an air-gapped machine, never storing the raw recovery-phrase digitally (raw text,photo,etc.) and never sharing it with anyone else.

> **Comments:**
> **username_0**: thank you  do you know is it possible to generate lite wallet of cardano or how can it possible  
> **username_1**: At this stage I would ask what exactly are you trying to achieve? Do you mean to generate a set of wallet keys/addresses locally? Or to build light wallet software (e.g. my third point) yourself?  

---

### Answer by username_2 on 2022-03-31. Score: 0

Looking at the docs at https://docs.blockfrost.io/ I'm pretty sure that's not possible.
Your best option might be to use a package like this, if your in nodejs:
https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-nodejs
(or this version for the browser: https://www.npmjs.com/package/@emurgo/cardano-serialization-lib-browser)
The generation of keys with this library is explained here:
https://github.com/Emurgo/cardano-serialization-lib/blob/master/doc/getting-started/generating-keys.md
and can look something like this:
  const rootKey = Bip32PrivateKey.generate_ed25519_bip32();

  const harden = (num: number): number => {
    return 0x80000000 + num;
  }

  const accountKey = rootKey.derive(harden(1852)).derive(harden(1815)).derive(harden(0));
  const utxoPubKey = accountKey.derive(0).derive(0);
  const stakeKey = accountKey.derive(2).derive(0);

  const baseAddress = BaseAddress.new(
    NetworkInfo.testnet().network_id(), // Testnet
    StakeCredential.from_keyhash(utxoPubKey.to_public().to_raw_key().hash()),
    StakeCredential.from_keyhash(stakeKey.to_public().to_raw_key().hash())
  )

  console.log("New address: ", baseAddress.to_address().to_bech32())

There are of course also other ways to generate the keys, eg. via the CLI:
https://developers.cardano.org/docs/stake-pool-course/handbook/keys-addresses/

> **Comments:**
> **username_3**: One more option is https://www.npmjs.com/package/@stricahq/bip32ed25519, this library is purely written in Javascript.  

---

