Change pool margin without paying pool registration again - guide needed

Hi all - I’ve been beating my head against a wall for two days now trying to update my pool margin. I’ve been following the guide located here (this is CoinCashew.) But when I execute the transaction, I always get this strange “ValueNotConservedUTxO” error:

Shelley command failed: transaction submit Error: Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (UtxoFailure (ValueNotConservedUTxO (DeltaCoin 2677700273) (DeltaCoin 3177700273))))]

As you can see, it thinks input tx does not match the output tx. It seems to always always be expecting the poolRegistration fee, even though the scripts don’t use it. That is… that second DeltaCoin value seems entirely manufactured. It’s not at all what I am submitting for input or output. I have no idea at all where it is coming from. I’m at a total loss as to what to do. To be honest, this feels like a bug in 1.25.1, but I obviously cannot be sure.

Please - somebody; if you’ve ever updated pool margin, I need some help. Thanks in advance.


Funny im searching for 2 days now… i got the same Problem tbh. In my Case he also wants 500 ADA to update the configuration. Also the Error is the Same. (exept the amount ;))


Br Dom

I filed an issue against cardano_node in their github repo; I think this may be a bug in 1.25.1 - is that what you are running?

I had this issue yesterday. It was because I missed a step. You have to follow the guide line for line.


Yes both Nodes are 1.25.1… and i followed the guide multible Times… sadly i get the same message every time…

The only thing i did different: I Copied the Metadata Hash from into the poolMetaDataHash.txt. Funny Thing is, if i generate the Hash (did that for testing) its different than the Hash from Pooltool, but i guess thats normal right?

I also put the --invalid-hereafter to +1000000 (just in Case), but i always end up in that error message.

Br Dom

@Huth_S0lo are you running 1.25.1? I just did it again and I scrupulously followed every step, and it didn’t work - did exactly the same thing.

Hi I’m having the same issue, did anyone find a solution?

Thank you,

No - and unfortunately, the guide in the official docs doesn’t work either.

Same here, I put my poolMetaData.json on a windows web server not Linux and the LRCF is different so It cant pick up.
I can search for stake pool using ID but its shows no ticker, no name and no website.
Ive been trying for days and put a ticket in with no response.
I rebuilt another linux box but when I get to the pay-transaction (hoping it wont take another 500ADA) I get the error you guys are getting.
Ive got all the keys I paid on so should be able to no re-pay the fee but for now I’m building yet another node and am going to pay the 500 to new pool in the hope I can use the old one later.
Surley, its not uncommon for an error to be made when you register the stake pool and pay the ADA so why is there no info on how to change the settings?

I would advise against paying a second time using the same keys. If you are building a new producer, generate new keys for it. Just make sure you keep the old ones so you can sign transactions on the old pool. That will be important once you retire it, because you’ll want your deposit back.

Also, use a different ticker if you do it again.

I managed to retire my pool using the old keys and cntools but it was a bit of a FUDGE.
After 2 weeks iohk support got back to me but it way as well have been in latin.

11. Retiring a Stake Pool — cardano-node Documentation 1.0.0 documentation

Basically, that script misses vital info and just wont work.
The fix is to run and put yoru vfr and cold key files into the /priv/poolname folder.
You need to make some other files (I cant remember exactly what ones but cntools will tell you what it needs)
Eventually I got a screen that said it’ll be retired at the end of the next complete epoc.
I think thats when I get the 500 ADA refunded (Was that a pig flying past my window?)
I’ll let you know.

It doesn’t inspire confidence in the whole system does it?

Hi, have you fixed your issue? I registered my pool a few days ago and change the margin the next day without paying the 500 ADA deposit.

Hi guys, I found that changing pool margin or any of the other metadata without paying the registration fee can be done by navigating to your stake pool folder location in ubuntu, find and open params.json file and edit the pool registration fee amount to “0”. You can then follow coincashew’s instructions verbatim (well, 'verbatim, aside from the usual fixes to old era references and similar). Building the transaction will pull through “0” for pool registration fee and you’ll only pay the transaction fee. Everything will update nicely.


or just follow the pool registration update section carefully - pool deposit not added when calculating txOut during re-registration:

echo txOut: ${txOut}

the initial registration contains the pool deposit:

echo txOut: ${txOut}

1 Like