8

I've only seen "receive", "send", and "immature". Are there other categories that I'm missing? And what do they mean? It seems that "receive" means a transaction that gave our account coins, and "send" means we gave someone else coins.

2 Answers 2

5

What you are seeing is not an inherent property of a transaction but how the transaction looks to you at the current time and how your Bitcoin client wants to display it.

A transaction contains inputs and outputs; if the transaction is considered a "send" or "receive" (or "transfer") depends on which of the input and output addresses are in your wallet and considered to be owned by yourself.

An "unconfirmed" transaction is one which is recent enough to not be considered a canonical part of the block chain. Once enough blocks have been added to the block chain after the one in which your transaction is recorded it will be considered confirmed. The number of blocks depends on your Bitcoin client.

An "immature" transaction is a generation transaction which is not old enough to be made available for spending. Under the current specification a generation transaction must have at least 100 confirmations before it can be spent.

10
  • 3
    immature is only used for generation transactions, and is decidedly different from unconfirmed transactions. Unconfirmed transactions are perfectly valid and can be spent, though wallets try to avoid it. Immature coins are generations which do not have 120 confirmations yes, and these are effectively invalid (worthless) before they are. Commented Apr 14, 2013 at 17:32
  • @Pieter Yes sorry absolutely right. Have updated answer (although protocol says that it's 100 confirmations not 120)
    – jgm
    Commented Apr 14, 2013 at 17:42
  • @jgm The protocol requires 101, IIRC. The wallet software uses 120 to protect against some problems in cases of reorganisation. Commented Apr 14, 2013 at 17:56
  • @PieterWuille would that mean that immature transactions cannot be spent by the user until they get a 100 confirmations? Commented Aug 2, 2021 at 10:51
  • @philosopher That is correct. The outputs of coinbase transactions (called "generation" transactions in the answer here) cannot be spent until 100 blocks have been built on top of the block that includes them. Commented Aug 2, 2021 at 16:28
2

From the source in 0.8.6, I see these possible categories:

src/rpcwallet.cpp:961:            entry.push_back(Pair("category", "send"));
src/rpcwallet.cpp:986:                        entry.push_back(Pair("category", "orphan"));
src/rpcwallet.cpp:988:                        entry.push_back(Pair("category", "immature"));
src/rpcwallet.cpp:990:                        entry.push_back(Pair("category", "generate"));
src/rpcwallet.cpp:993:                    entry.push_back(Pair("category", "receive"));
src/rpcwallet.cpp:1011:        entry.push_back(Pair("category", "move"));

So essentially:

  • "send"
  • "orphan"
  • "immature"
  • "generate"
  • "receive"
  • "move"
1
  • What about the "and what do they eman?" part of the question ? :)
    – Caius Jard
    Commented Jul 20, 2018 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.