3

Problem: Payments to a wallet don't show in a daedalus wallet, because it was sent to an address that exceeds the gap.

How can I increase the gap so I can see (and consume) that utxo?

4

2 Answers 2

1

How can I increase the gap so I can see (and consume) that utxo?

Daedalus is simply a UI that (for wallet) serves the data provided by cardano-wallet component, you can either use the API to add address_pool_gap OR use cardano-wallet CLI to override the default address pool gap as below:

cardano-wallet.exe wallet create from-recovery-phrase --address-pool-gap 100 --port XXX

With the reply to your question out the way, it is a very bad idea to use this component for anything beyond a very small centralised userbase service.

  1. The bigger the address gap is, slower will be the performance to fetch details about UTxO, as they have to scan larger amount of empty addresses.
  2. Resource consumption of cardano-wallet with larger amount of addresses will be another trouble you will encounter even if you're alright with using large address gap.

It isnt a new/unique problem, most exchanges who tried to use cardano-wallet face similar issues. They usually end up going with a more proficient solution based on querying a layer above dbsync. One common example, initially an attempt to provide a standard by coinbase - is Rosetta API (you can find cardano-rosetta implementation here, and a typical Construction overview here ). It might be a change in your plans from where you are now, but it's an investment well worth the time - countless folks have wrongly started on cardano-wallet API due to familiarity of a wallet, and had to migrate later - the sooner the better if you're aiming for your solution to cater for larger than few hundred users.

0

Need a bit of environment info first:

  • What operating system are you using and what version of Daedalus?
  • Roughly when was this transaction?
  • I presume mainnet not testnet?
  • Is the transaction not showing at all within Daedalus transaction list?
  • Can you see any transactions for the address via https://explorer.cardano.org/en ?

Via the command line you can view all utxo's for an address using:

cardano-cli query utxo --address addr1abc... --mainnet

Note: On Windows there are a few more steps needed first as per: Can Daedalus be used to query the blockchain, like a passive node?

From that output you can manually build a transaction and send your utxo, but there are a few steps to doing this via the command line.

3
  • We can get the UTXOs at an address with cardano-cli, but if we're doing 10,000 addresses, then we don't want to manually query those with the cli (even with a script it'd be too difficult). We want to have an automated monitoring system that can get all the transactions. We'd like to raise Daedalus from the 20 gap limit it has now to what CCVault has (200 address gap)... Also we've found an issue with Daedalus that it's stopping even before the 20 gap limit.
    – Eli Selkin
    Commented Mar 8, 2022 at 18:16
  • I'm not sure of the nature/scope of your project but here are a couple of thoughts. Cycling through trxs/addresses/utxos and performing checks/alerts would seem better suited to automated scripts and API calls. api.koios.rest/#overview is a great API resource for querying Cardano data. If not suitable then you could grab the Daedalus source code and tweak whatever values you want then build and run locally. Commented Mar 9, 2022 at 2:09
  • Looks like the limit of 20 is built into cardano-wallet to adhere to industry standards. This from github: 'Transactions on addresses that "belong" to the wallet but happen to be beyond its address_pool_gap will not be visible to the wallet. This is a technical limitation of the industry standard BIP-44. See also CIP-1852.' Ref: input-output-hk.github.io/cardano-wallet/api/edge/#operation/… You might need to tweak it and build cardano-wallet locally. Commented Mar 9, 2022 at 2:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.