Transferring pledge to ledger

As far as I know there is no way to participate in voting using cli generated keys. I would like to transfer my pledge to a hardware wallet so I can participate in the Catalyst voting. I would also like the reward account to be the hardware wallet.

To do this I think I need to add a new owner’s stake.vkey to the pool-registration.cert. This would be the hardware wallet’s key. Like such
[original wallet = 1 , hardware wallet = 2]

cardano-cli stake-pool registration-certificate \
--cold-verification-key-file cold.vkey \
--vrf-verification-key-file vrf.vkey \
--pool-pledge <AMOUNT TO PLEDGE IN LOVELACE> \
--pool-cost <POOL COST PER EPOCH IN LOVELACE> \
--pool-margin <POOL COST PER EPOCH IN PERCENTAGE> \
--pool-reward-account-verification-key-file stake1.vkey \
--pool-owner-stake-verification-key-file stake1.vkey \
--pool-owner-stake-verification-key-file stake2.vkey \
--mainnet \
--pool-relay-ipv4 <RELAY NODE PUBLIC IP> \
--pool-relay-port <RELAY NODE PORT> \
--metadata-url https://git.io/JJWdJ \
--metadata-hash <POOL METADATA HASH> \
--out-file pool-registration.cert

Then generate a new delegation.cert for the new key and submit this transaction

cardano-cli transaction build-raw \
--tx-in <TxHash>#<TxIx> \
--tx-out $(cat payment.addr)+<CHANGE IN LOVELACE> \
--invalid-hereafter <TTL> \
--fee <TRANSACTION FEE> \
--out-file tx.raw \
--certificate-file pool-registration.cert \
--certificate-file delegation1.cert
--certificate-file delegation2.cert

Wait until the next epoch then transfer the pledge from my cli wallet to the hardware wallet.

Wait until the next epoch then remove the old owner and change the reward key in the pool-registration.cert and send the transaction

cardano-cli stake-pool registration-certificate \
--cold-verification-key-file cold.vkey \
--vrf-verification-key-file vrf.vkey \
--pool-pledge <AMOUNT TO PLEDGE IN LOVELACE> \
--pool-cost <POOL COST PER EPOCH IN LOVELACE> \
--pool-margin <POOL COST PER EPOCH IN PERCENTAGE> \
--pool-reward-account-verification-key-file stake2.vkey \
--pool-owner-stake-verification-key-file stake2.vkey \
--mainnet \
--pool-relay-ipv4 <RELAY NODE PUBLIC IP> \
--pool-relay-port <RELAY NODE PORT> \
--metadata-url https://git.io/JJWdJ \
--metadata-hash <POOL METADATA HASH> \
--out-file pool-registration.cert
cardano-cli transaction build-raw \
--tx-in <TxHash>#<TxIx> \
--tx-out $(cat payment.addr)+<CHANGE IN LOVELACE> \
--invalid-hereafter <TTL> \
--fee <TRANSACTION FEE> \
--out-file tx.raw \
--certificate-file pool-registration.cert \
--certificate-file delegation2.cert

I will be leaving the original pledge address with a few ADA until the rewards have completely processed after a couple epochs.

Please confirm that this is indeed the process to effectively transfer complete ownership of a pool without losing any rewards.

Will the pool deposit be returned to the new reward wallet in the event of a pool retirement?

Side question: Can somebody use the same reward key for multiple pools - is that what the big pool groups are doing?

Thanks in advance!!

1 Like

Don’t use hardware wallet for voting. it’s not supported yet.

Hi!

I think the steps are fine what you provided.