Is there an api to consume or should i build my ledger?

Im developing for my own (no tech lead to support me) a NodeJs/Express api. This api is to be used by a wallet, and need to use only ckBTC and account creation.

I need to build my own canisters for minter and ledger? Or is there a dependence or something that i could use to these functions?

In the case of have to build my ledger and my minter, I do not quite understand one thing: to create the agent and the actor, I have to declare them manually or in some dependency can be imported already configured those mentioned in the documentation of dfinity?

Thank you very much, I’ve been working on this for days and I’m behind. I don’t understand the documentation and I don’t have anyone to support me.

No, you do not need to deploy your canisters for the minter and ledger. You will reference the ckBTC canisters.

This resource on integrating ckBTC might be good for you.

Hello, thank you for answering this.

I was able to connect to the minter and ledger canister provided in the documentation.

Now I have an issue with transfers, because I need to be able to transfer from one ckBTC account to another via an address, and the ledger canister transfer methods only allow sending to Accounts.

Do you know if I have to use another canister for this or if I have a way to, through an address, get the account data (owner Principal and subaccount if assigned) ?

Thank you very much for your support.

Can you please explain the address that you are referring to?

for example, if i go to the internet computer dapp y can found my “ckBTC address” which allows me to send ckBTC between accounts. I need to replicate that in my app. I used minter method “get_btc_address” but this is for deposit btc to convert it in ckBTC. And ledger methods “icrc2_transfer_to” and “icrc1_transfer” both need Account data to send and i don’t want to do it that way.

I need to send ckBTC to an ckBTC adress, that way i will be able to send ckBTC to, for example, and IC dapp wallet, and receive from there too.

This is an example for an address: hjs6e-4ec6n-6nsc6-5fvqv-yh2ac-3xtxc-afr7c-zaab3-6twef-qpeyn-xae

I got it from here:

and this is the send system with addresses, also from ic dapp:

sorry if my English is not the best, if something seems confusing please tell me and I will explain it again.

thanks again for the help.

Yes, get_btc_address method is the Bitcoin address that deposited Bitcoin to mint ckBTC.

When depositing Bitcoin to mint ckBTC, you must indicate a principal or identifier on ICP to which you can send the ckBTC.

The identifier hjs6e-4ec6n-6nsc6-5fvqv-yh2ac-3xtxc-afr7c-zaab3-6twef-qpeyn-xae that you are referring to is also the principal that is tied to the Internet Identity (II).

You can refer to this tutorial on integrating II and getting the principal.

Please note that for II, the principal is different for each domain to ensure anonymity. Therefore, the principal shown on your dapp will be different than the principal on the NNS dapp even if you sign in with the same Internet Identity.

What’s the user flow on your dapp?

It’s a crypto and banking wallet. My boss assigned me to create an api that allows us to send and receive ckBTC, simply that. Make it one more token in the list of supported tokens. At the moment neither minting nor burning is required.

I’m looking for the easiest way to do it, if possible consuming public canisters like the ones I mentioned before.

I have been looking for solutions for 10 days now, because I have no technical support to consult in the company, and this is my first contact in development related to the crypto world.