user1883: Let's consider a Yoroi test wallet with the following seed phrase:
maximum vacuum toe conduct jazz tray romance crawl fossil wisdom disease crazy mountain bird discover
The first address generated by Yoroi is then:
addr1q96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscal5f0vdmnq834g9upwe2g0cfzwemmwvfnyawg89g8xeqx4kstanhan
However, if I derive the first address using the cardano-addresses tool like this (where phrase.prv holds the seed phrase):
./cardano-address key from-recovery-phrase Shelley < phrase.prv > root.xsk
cat root.xsk | ./cardano-address key child 1852H/1815H/0H | ./cardano-address key public --with-chain-code > root.xvk
cat root.xvk | ./cardano-address key child 0/0 | ./cardano-address  address payment --network-tag mainnet

I get the following address: addr1v96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscals656txx
For direct comparison:
addr1q96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscal5f0vdmnq834g9upwe2g0cfzwemmwvfnyawg89g8xeqx4kstanhan
addr1v96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscals656txx
So the first part of the addresses is identical (except for the first letter after the prefix), but there seems to be missing something. What am I doing wrong?
Thanks.

user1883: There is indeed missing a part of the address: the delegation part. For more information, please refer to this partially duplicate question and CIP-0019.
To derive Yoroi addresses from a seed phrase using the cardano-addresses tool:
./cardano-address key from-recovery-phrase Shelley < phrase.prv > root.xsk
cat root.xsk | ./cardano-address key child 1852H/1815H/0H | ./cardano-address key public --with-chain-code > root.xvk

# Derive the stake key.
cat root.xvk | ./cardano-address key child 2/0 > stake.xvk

# Only the index of the payment address is incremented to yield the next Yoroi address:

# First address
cat root.xvk | ./cardano-address key child 0/0 | ./cardano-address address payment --network-tag mainnet > payment.addr
./cardano-address address delegation $(cat stake.xvk) < payment.addr > payment-delegated.addr

# Second address
cat root.xvk | ./cardano-address key child 0/1 | ./cardano-address address payment --network-tag mainnet > payment.addr
./cardano-address address delegation $(cat stake.xvk) < payment.addr > payment-delegated.addr

# Third address
cat root.xvk | ./cardano-address key child 0/2 | ./cardano-address address payment --network-tag mainnet > payment.addr
./cardano-address address delegation $(cat stake.xvk) < payment.addr > payment-delegated.addr



1883: <p>Let's consider a Yoroi test wallet with the following seed phrase:
<code>maximum vacuum toe conduct jazz tray romance crawl fossil wisdom disease crazy mountain bird discover</code></p>
<p>The first address generated by Yoroi is then:
<code>addr1q96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscal5f0vdmnq834g9upwe2g0cfzwemmwvfnyawg89g8xeqx4kstanhan</code></p>
<p>However, if I derive the first address using the <a href="https://github.com/input-output-hk/cardano-addresses" rel="noreferrer">cardano-addresses tool</a> like this (where <code>phrase.prv</code> holds the seed phrase):</p>
<pre><code>./cardano-address key from-recovery-phrase Shelley &lt; phrase.prv &gt; root.xsk
cat root.xsk | ./cardano-address key child 1852H/1815H/0H | ./cardano-address key public --with-chain-code &gt; root.xvk
cat root.xvk | ./cardano-address key child 0/0 | ./cardano-address  address payment --network-tag mainnet
</code></pre>
<p>I get the following address: <code>addr1v96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscals656txx</code></p>
<p>For direct comparison:
<code>addr1q96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscal5f0vdmnq834g9upwe2g0cfzwemmwvfnyawg89g8xeqx4kstanhan</code>
<code>addr1v96a42g6ajjhu5gfw8gch2w0vflfxkqw53pxyufgacscals656txx</code></p>
<p>So the first part of the addresses is identical (except for the first letter after the prefix), but there seems to be missing something. What am I doing wrong?</p>
<p>Thanks.</p>
 1883: <p>There is indeed missing a part of the address: the delegation part. For more information, please refer to this partially <a href="https://cardano.stackexchange.com/questions/791/how-to-import-yoroi-seed-phrase-to-computer-using-cardano-address-for-use-with-c">duplicate question</a> and <a href="https://github.com/cardano-foundation/CIPs/blob/master/CIP-0019/CIP-0019.md" rel="nofollow noreferrer">CIP-0019</a>.</p>
<p>To derive Yoroi addresses from a seed phrase using the <a href="https://github.com/input-output-hk/cardano-addresses" rel="nofollow noreferrer">cardano-addresses tool</a>:</p>
<pre><code>./cardano-address key from-recovery-phrase Shelley &lt; phrase.prv &gt; root.xsk
cat root.xsk | ./cardano-address key child 1852H/1815H/0H | ./cardano-address key public --with-chain-code &gt; root.xvk

# Derive the stake key.
cat root.xvk | ./cardano-address key child 2/0 &gt; stake.xvk

# Only the index of the payment address is incremented to yield the next Yoroi address:

# First address
cat root.xvk | ./cardano-address key child 0/0 | ./cardano-address address payment --network-tag mainnet &gt; payment.addr
./cardano-address address delegation $(cat stake.xvk) &lt; payment.addr &gt; payment-delegated.addr

# Second address
cat root.xvk | ./cardano-address key child 0/1 | ./cardano-address address payment --network-tag mainnet &gt; payment.addr
./cardano-address address delegation $(cat stake.xvk) &lt; payment.addr &gt; payment-delegated.addr

# Third address
cat root.xvk | ./cardano-address key child 0/2 | ./cardano-address address payment --network-tag mainnet &gt; payment.addr
./cardano-address address delegation $(cat stake.xvk) &lt; payment.addr &gt; payment-delegated.addr

</code></pre>
