Cant get Transactions Correct cardano-cli transaction build

I’m trying to re-reg my pool to update cost/pledge etc.
i’m able to get to the delegation cert process, then i need to build the transactions and sign them:

cardano-cli transaction build-raw \
--babbage-era \
--tx-in 22570cfc4ffa23780c38d6a430c50fe4e7fcab50a490753aa7082c21420bade9#0 \
--tx-in 38867b46559a55b24fd249452724d385b6e30893ed85739590a1429374c071d6#0 \
--tx-in 520c42f88d74ddd8635e148863d0dcc8293b47a0596adcf7189d1c2b503e7c94#1 \
--tx-in 664bcc7f5de45047074db5e8b7e74f5f3c74d82e2c9b65dc41a5bc245f3cb3b2#0 \
--tx-in 7a1ff3b8a90c9d1d91904eae3f82a6b07a08cc8e9847b58041ff260f43139c68#0 \
--tx-in f44c0d3b3372845b37065e495200ce9e556ca1cf9eb7cabec3fab2268f631851#0 \
--tx-out $(cat ./certs/payment.addr)+0 \
--invalid-hereafter 0 \
--fee 0 \
--out-file ./certs/tx5.draft \
--certificate-file ./certs/pool-registration5.cert \
--certificate-file ./certs/delegation5.cert

I am passing in 6 utxos from one address.

cardano-cli transaction calculate-min-fee \
--tx-body-file ./certs/tx5.draft \
--tx-in-count 6 \
--tx-out-count 1 \
--witness-count 3 \
--byron-witness-count 0 \
--mainnet \
--protocol-params-file ./certs/params.json

/* COMES OUT TO 210557 Lovelace */

are my witnesses incorrect? i have 3 signing-key-file in my submission.

When i go to build my transaction and calculate the change back to the payment.addr:

cardano-cli transaction build \
--tx-in 22570cfc4ffa23780c38d6a430c50fe4e7fcab50a490753aa7082c21420bade9#0 \
--tx-in 38867b46559a55b24fd249452724d385b6e30893ed85739590a1429374c071d6#0 \
--tx-in 520c42f88d74ddd8635e148863d0dcc8293b47a0596adcf7189d1c2b503e7c94#1 \
--tx-in 664bcc7f5de45047074db5e8b7e74f5f3c74d82e2c9b65dc41a5bc245f3cb3b2#0 \
--tx-in 7a1ff3b8a90c9d1d91904eae3f82a6b07a08cc8e9847b58041ff260f43139c68#0 \
--tx-in f44c0d3b3372845b37065e495200ce9e556ca1cf9eb7cabec3fab2268f631851#0 \
--tx-out $(cat ./certs/payment.addr)+134257403 \
--change-address $(cat ./certs/payment.addr) \
--invalid-hereafter 120889969 \
--out-file ./certs/tx5.raw \
--mainnet \
--certificate-file ./certs/pool-registration5.cert \
--certificate-file ./certs/delegation5.cert

I get the following ERROR:

Command failed: transaction build Error: The transaction does not balance in its use of ada. The net balance of the transaction is negative: Lovelace (-3564) lovelace. The usual solution is to provide more inputs, or inputs with more ada.

here are my utxos in the address:

7a1ff3b8a90c9d1d91904eae3f82a6b07a08cc8e9847b58041ff260f43139c68     0        103000000 lovelace + TxOutDatumNone
664bcc7f5de45047074db5e8b7e74f5f3c74d82e2c9b65dc41a5bc245f3cb3b2     0        13604142 lovelace + TxOutDatumNone
520c42f88d74ddd8635e148863d0dcc8293b47a0596adcf7189d1c2b503e7c94     1        10000000 lovelace + TxOutDatumNone
38867b46559a55b24fd249452724d385b6e30893ed85739590a1429374c071d6     0        5000000 lovelace + TxOutDatumNone
22570cfc4ffa23780c38d6a430c50fe4e7fcab50a490753aa7082c21420bade9     0        1803743 lovelace + TxOutDatumNone
f44c0d3b3372845b37065e495200ce9e556ca1cf9eb7cabec3fab2268f631851     0        1060075 lovelace + TxOutDatumNone

what am i doing wrong?

If you use --change-address, you don’y need to specify --tx-out, it will automatically send the remainder to the address specified as change address.
Also, you don’t need to add delegation5.cert anymore when updating pool registration, you only need to register the stake address once (or is it a new one, probably not, because then you would’ve more than 3 witnesses).

So witnesses shouldn’t be 3 because I’m only re registering? What if I change delegation?

There are still three witnesses: payment key, stake key and pool cold key. Your stake address still needs to be added as an owner in the update, so it’s key still needs to sign this.

The delegation certificate has nothing to do with pool registration, but that’s what you need to sign when delegating to a stake pool. But it is necessary that the owner delegates to the own stake pool, so you had to do it the first time. But now you’re already delegating to it, so you don’t need to do it a second time.