What is the difference between "time" and "timereceived"? https://bitcoincore.org/en/doc/0.20.0/rpc/wallet/listsinceblock/ :

&quot;time&quot; : xxx,                        (numeric) The transaction time expressed in UNIX epoch time.
&quot;timereceived&quot; : xxx,                (numeric) The time received expressed in UNIX epoch time.

What?
In the output, every single &quot;transaction&quot; appears to have the exact same time and timereceived timestamps, killing my theory that time meant when the transaction was sent and timereceived referring to when the local Bitcoin Core first &quot;saw&quot; it.
It feels like I've asked about every single little part of Bitcoin Core online by now. I cannot fathom how anyone can get anything related to Bitcoin done when the documentation is this nonsensical/nonexistent.
time is the best guess for the actual time a transaction took place. timereceived is the time at which the wallet received the transaction.
For the most part, both of these fields will be the same. Generally when you use a wallet, you will receive transactions when they are unconfirmed which is then both the time that the transaction is received, and the best guess for the time the transaction was made.
However there are a few cases where the time and timereceived will be different. This is particularly noticeable when creating a new wallet with imported data and rescanning the blockchain.
Suppose you import an address which has a transaction from 2 years ago. When your wallet scans the blockchain for existing transactions, it will learn of that transaction at the current time, so it sets timereceived to now. But that is not reasonable for a transaction that existed in the blockchain 2 years ago. So it will try to guess what time that transaction was actually made by looking at the timestamp for the block it is included in. That block's time becomes the time for that transaction. In this case, time and timereceived are not the same and more clearly represent what those times are.