I know I'm missing something super obvious but I'm on this part and I don't see where payment2.addr gets created so of course it says it doesn't exist. I'm trying to submit the transaction on the testnet.
That is just an arbitrary address that you also control, in addition to the address (payment.addr) that the assets originate from. It can be any second, third, fourth etc address that you've created. Think of it as sending stuff from your wallet A to your wallet B.
In other words, payment2.addr is any address other than payment.addr
Further to what zhekson mentioned, there are normally at least 2 tx-out addresses, 1) the payment and 2) for the change (or remainder). Eg tx-in has 100ADA, you send 15 to payment1.addr and the change (85) to payment2.addr (which is one of you addresses) Mar 24, 2022 at 21:53