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.


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.

| improve this answer | |
  • 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. – Pieter Wuille Apr 14 '13 at 17:32
  • @Pieter Yes sorry absolutely right. Have updated answer (although protocol says that it's 100 confirmations not 120) – jgm Apr 14 '13 at 17:42
  • @jgm The protocol requires 101, IIRC. The wallet software uses 120 to protect against some problems in cases of reorganisation. – Pieter Wuille Apr 14 '13 at 17:56

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"
| improve this answer | |
  • What about the "and what do they eman?" part of the question ? :) – Caius Jard Jul 20 '18 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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