What is UTXO and its erros mean?

i keep getting these errors and the wiki does not cover any of this:

"message" : "Could not find any non-coinbase UTXOs to spend."

"message" : "Insufficient funds, no UTXOs found for taddr from address."

what does that mean?

Are you trying to send freshly mined ZEC? because they MUST be sent to a shielded zaddr initially after they are mined (they are UTXO's aka coinbase). After that they can be sent to a taddr (transparent address) or zaddr (zkSNARK, aka private or shielded) address

Send to temporary zaddr with fee 0.0001 deducted.
If you mined 5 ZEC, you should send 4.999

You can send coins from that zaddr to any address then.

UTXO is actually Unspent Transaction Output came from bitcoin world.

2 Likes

@miningpoolhub & @anon47418038

first thanks for clarifying what UTXO means ... since many have been mining for a long time and have a lot of back info from bitcoin and such, it seems that some of the basic stuff is left out with the assumption that its common knowledge :)))

now .... i created my zcash node ... created a z-addr and have a t-addr (my local wallet).... i started pool mining and all coins are sent to my t-addr ... once i receive the mined coins on my t-addr, i then send them to my poloniex t-addr so i can trade them ... when i do that, some decimals remain in the my local wallet ... (actually its in more details here https://forum.zcashcommunity.com/t/cant-transfer-coins-in-wallet/8272/1 so i dont cram this post with repeated details)

now what you are saying is that when i receive the coins to my t-addr, i should transfer them to my local z-addr and from there i can then send them anywhere?

no, you don't have to do that, the mining pool would have normally already sent them through a zaddr before paying out to your wallet's taddr, so you should be able to send them anywhere. the very small amounts of change that's left in your wallet is an issue for lots of people, especially if its less than the standard transaction fee, and that's going to (hopefully!) be addressed in a new release of zcash in a day or so.

actually there is a problem with sending to z-addr, i'm using flypool which they state that they can not send out to z-addr and therefor i use my t-addr ... so all payments are coming to my t-addr, and thats where the problem is (like you said ... with many people)

Why don't you use poloniex deposit address as payout address from the pool?
It will eliminate many problems easily. Many people use exchange sites like wallet actually.

tried that at first, but the t-addr from poloniex had some problem with flypool ... will give it a try again !!

if you are running zcash yourself (on linux or mac), you can make a zaddr in your local wallet, and send to that, and then to an exchange.

Generate a zaddr with this command (assuming you installed from source code, and are in the zcash directory):
./src/zcash-cli z_getnewaddress

Copy and paste that zaddr into a text file, you'll need in a second, and for future use (you can retrieve it with zcash-cli commands, but tuck it away handily, too).

Stick the taddr you've got coinbase funds in into a variable, and the same with the zaddr from above, that'll make this next bit easier:
$TADDR="address-with-coinbase-funds"
$ZADDR="zaddr-generated-above"

Then you can send the amount of ZEC in that taddr (minus .0001 for TX fees!) to the zaddr (in this example from the User Guide, we'll call that 0.8 ZEC) with:

./src/zcash-cli z_sendmany "$TADDR" "[{\"amount\": 0.8, \"address\": \"$ZADDR\"}]"

It'll take a while to get enough confirmations to spend the ZEC, it takes 100 of them. You can check the send's status with:

./src/zcash-cli z_getoperationresult

And when it has had enough confirmations, you should see the balance at the zaddr with:

./src/zcash-cli z_getbalance "$ZADDR"

When it finally shows up at the zaddr, send it on to an exchange or elsewhere with a z_sendmany command like the above, but from the zaddr, not the taddr.

Hope that helps!

thanks @anon47418038 ... will test it when i get home :slight_smile:

I have some coinbase money that got stuck on my mining pool server. Now I can't get it out!

Maybe I am using the wrong commands? I have many coinbase rewards that I can spend - I am mining about 10 blocks per day.

This is what I am doing:

zcash-cli listunspent:

[
{
"txid" : "91b7355ef4e41d498c19b23ab6c2c1e29dc176dc9695a0b560c52c409a95c809",
"vout" : 0,
"address" : "t1M1Vndd7VcdeYhCe4kda3gXcvKuPX6Esqc",
"account" : "",
"scriptPubKey" : "76a9142266837fa82cf188ef470c619211b376ab7b8fca88ac",
"amount" : 12.49875000,
"confirmations" : 598,
"spendable" : true
},
{

command:

zcash-cli z_sendmany "t1M1Vndd7VcdeYhCe4kda3gXcvKuPX6Esqc" "[{\"amount\": 12.49865000, \"address\": \"zcbsFkFvPtCprCB9hQR7Kr9grHDVfCkeQb5o7ASQ4TKPQyqyLoQ6oMeYXftdHPf7GDz7vb9YkiPYF16vDNkUywj7MW4h4M9\"}]"

opid-93b7ce0c-fd3b-44c9-891a-bd56354cf8b1

rolfversluis@pool:~$ zcash-cli z_getoperationresult
[
{
"id" : "opid-93b7ce0c-fd3b-44c9-891a-bd56354cf8b1",
"status" : "failed",
"creation_time" : 1486626134,
"error" : {
"code" : -1,
"message" : "general exception: std::bad_alloc"
},
"method" : "z_sendmany",
"params" : {
"fromaddress" : "t1M1Vndd7VcdeYhCe4kda3gXcvKuPX6Esqc",
"amounts" : [
{
"amount" : 12.49865000,
"address" : "zcbsFkFvPtCprCB9hQR7Kr9grHDVfCkeQb5o7ASQ4TKPQyqyLoQ6oMeYXftdHPf7GDz7vb9YkiPYF16vDNkUywj7MW4h4M9"
}
],
"minconf" : 1,
"fee" : 0.00010000
}
}
]

that command looks right....I saw an issue where someone got that error
before, I'm trying to remember what caused it! What release of zcash are
you on?

it might be a masked out of memory error, how much RAM is on the system in
question? It really wants 4 gigs to send to a zaddr

thanks - the memory is probably it. I am using a VPS with 2 GB memory. I added a 4GB swap and it still did not work, so I will bump the swap to 8GB.

Sorry, just realized I am using the latest build of zclassic, not zcash. Build it from the github just a few days ago

zcash-cli --version
Zcash RPC client version v1.0.5-7c6a652
Copyright (C) 2009-2017 The Bitcoin Core Developers
Copyright (C) 2015-2017 The Zcash Developers

low memory was exactly the problem. I added 4GB swap to the 2GB VPS, and it still did not work. After I added 8GB swap to it it worked just fine.