user1950: I'm building a minting engine for a project and I found something strange today. One of the incoming transactions, which I pull from a Cardano Wallet (testnet) service has an input without an address. All the other transactions do have an input address. They're all transactions between two wallets I manage in ccVault, and always from wallet 1 to wallet 2.
So I'm wondering now, under which conditions does a transaction input not contain an address?
The transactions I'm talking about are the following.
Without input address (first try)
https://testnet.cardanoscan.io/transaction/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350
{
    ...
    "amount": {
        "quantity": 37023500,
        "unit": "lovelace"
    },
    "inputs": [
        {
            "id": "3c1c5b73ab66d18efa2540f59df345a702820833264519c69f9c79cbc07bce3c",
            "index": 1
        }
    ],
    ...
    "id": "44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350",
    ...
}

With input address (second try)
https://testnet.cardanoscan.io/transaction/3f776bd594b43d6288bde265e5aa3aead414585ff664fef4736f0b42ce7db695
{
    ...
    "amount": {
        "quantity": 37023500,
        "unit": "lovelace"
    },
    "inputs": [
        {
            "amount": {
                "quantity": 683493813,
                "unit": "lovelace"
            },
            "address": "addr_test1qp608umcxnpuj869hu2an658pegt8rsgtu9kh9tmfy3kqcktz647sk9ds3hkrg888edxrgc708mfw2cncldqzzq7em4qzrctsk",
            "id": "44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350",
            "assets": [],
            "index": 1
        }
    ],
    ...
    "id": "3f776bd594b43d6288bde265e5aa3aead414585ff664fef4736f0b42ce7db695",
    ...
}

UPDATE:
Just to clarify, they are both outgoing transactions from Wallet 1 to Wallet 2. Only the first one doesn't arrive with an input address, while the second one does:


user4627: I believe the issue boils down to the fact, that "the wallet does not maintain a complete ledger but only a subset narrowed down to the assets belonging
to the wallet" (see https://github.com/input-output-hk/cardano-wallet/issues/2434#issuecomment-757169360)
It should show the addresses and assets only for outgoing transactions according to the docs here https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction

assets and address are always present for outgoing transactions but
generally absent for incoming transactions. This information is
present on the Cardano explorer, but is not tracked by the wallet.

Not sure why it is actually showing for the other incoming transactions.
Anyhow that api is probably not the right tool for the job, but instead you need to use an explorer api like cardano-graphql or a service like Blockfrost, that will return the data through this endpoint: https://cardano-testnet.blockfrost.io/api/v0/txs/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350/utxos (see screenshot below)
There is a feature request for this though in cardano-wallet here:
https://github.com/input-output-hk/cardano-wallet/issues/2710
(And another related issue here: https://github.com/input-output-hk/cardano-wallet/issues/2617)


1950: <p>I'm building a minting engine for a project and I found something strange today. One of the incoming transactions, which I pull from a Cardano Wallet (testnet) service has an input without an address. All the other transactions do have an input address. They're all transactions between two wallets I manage in ccVault, and always from wallet 1 to wallet 2.</p>
<p>So I'm wondering now, under which conditions does a transaction input not contain an address?</p>
<p>The transactions I'm talking about are the following.</p>
<h3>Without input address (first try)</h3>
<p><a href="https://testnet.cardanoscan.io/transaction/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350" rel="nofollow noreferrer">https://testnet.cardanoscan.io/transaction/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350</a></p>
<pre><code>{
    ...
    &quot;amount&quot;: {
        &quot;quantity&quot;: 37023500,
        &quot;unit&quot;: &quot;lovelace&quot;
    },
    &quot;inputs&quot;: [
        {
            &quot;id&quot;: &quot;3c1c5b73ab66d18efa2540f59df345a702820833264519c69f9c79cbc07bce3c&quot;,
            &quot;index&quot;: 1
        }
    ],
    ...
    &quot;id&quot;: &quot;44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350&quot;,
    ...
}
</code></pre>
<h3>With input address (second try)</h3>
<p><a href="https://testnet.cardanoscan.io/transaction/3f776bd594b43d6288bde265e5aa3aead414585ff664fef4736f0b42ce7db695" rel="nofollow noreferrer">https://testnet.cardanoscan.io/transaction/3f776bd594b43d6288bde265e5aa3aead414585ff664fef4736f0b42ce7db695</a></p>
<pre><code>{
    ...
    &quot;amount&quot;: {
        &quot;quantity&quot;: 37023500,
        &quot;unit&quot;: &quot;lovelace&quot;
    },
    &quot;inputs&quot;: [
        {
            &quot;amount&quot;: {
                &quot;quantity&quot;: 683493813,
                &quot;unit&quot;: &quot;lovelace&quot;
            },
            &quot;address&quot;: &quot;addr_test1qp608umcxnpuj869hu2an658pegt8rsgtu9kh9tmfy3kqcktz647sk9ds3hkrg888edxrgc708mfw2cncldqzzq7em4qzrctsk&quot;,
            &quot;id&quot;: &quot;44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350&quot;,
            &quot;assets&quot;: [],
            &quot;index&quot;: 1
        }
    ],
    ...
    &quot;id&quot;: &quot;3f776bd594b43d6288bde265e5aa3aead414585ff664fef4736f0b42ce7db695&quot;,
    ...
}
</code></pre>
<p><strong>UPDATE</strong>:</p>
<p>Just to clarify, they are both outgoing transactions from Wallet 1 to Wallet 2. Only the first one doesn't arrive with an input address, while the second one does:</p>
<p><a href="https://i.stack.imgur.com/y5Nm6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/y5Nm6.png" alt="enter image description here" /></a></p>
 4627: <p>I believe the issue boils down to the fact, that <em>&quot;the wallet does not maintain a complete ledger but only a subset narrowed down to the assets belonging
to the wallet&quot;</em> (see <a href="https://github.com/input-output-hk/cardano-wallet/issues/2434#issuecomment-757169360" rel="nofollow noreferrer">https://github.com/input-output-hk/cardano-wallet/issues/2434#issuecomment-757169360</a>)</p>
<p>It should show the addresses and assets only for outgoing transactions according to the docs here <a href="https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction" rel="nofollow noreferrer">https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction</a></p>
<blockquote>
<p>assets and address are always present for outgoing transactions but
generally absent for incoming transactions. This information is
present on the Cardano explorer, but is not tracked by the wallet.</p>
</blockquote>
<p>Not sure why it is actually showing for the other incoming transactions.</p>
<p>Anyhow that api is probably not the right tool for the job, but instead you need to use an explorer api like cardano-graphql or a service like Blockfrost, that will return the data through this endpoint: <a href="https://cardano-testnet.blockfrost.io/api/v0/txs/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350/utxos" rel="nofollow noreferrer">https://cardano-testnet.blockfrost.io/api/v0/txs/44964910dee982af3f714a6e4f3e50670aa9f3ef90debced9b4785d6a28bc350/utxos</a> <em>(see screenshot below)</em></p>
<p>There is a feature request for this though in cardano-wallet here:</p>
<p><a href="https://github.com/input-output-hk/cardano-wallet/issues/2710" rel="nofollow noreferrer">https://github.com/input-output-hk/cardano-wallet/issues/2710</a></p>
<p><em>(And another related issue here: <a href="https://github.com/input-output-hk/cardano-wallet/issues/2617" rel="nofollow noreferrer">https://github.com/input-output-hk/cardano-wallet/issues/2617</a>)</em></p>
<p><a href="https://i.stack.imgur.com/mWSKL.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/mWSKL.png" alt="enter image description here" /></a></p>
