What a transfer is
A transfer moves value from one address to another and records it permanently. What counts as one transfer differs by chain, which is why two honest counts of the same activity can disagree.
A transfer is a signed instruction that moves value from one address to another, written to a chain where anyone can read it. Sending 500 USDC from an exchange account to a customer’s wallet is one transfer.
The instruction is signed with a private key, broadcast, and then included in a block by whoever is producing blocks on that chain. Once it is in a block, nobody can alter it or take it back. A mistake is corrected by sending a second transfer in the other direction, if the recipient agrees to send it.
What one transfer carries
- Sender and recipient
The two addresses. Neither carries a name.
- Amount and asset
How much, and of what. An amount without its asset and its chain is not a fact, because the same number means different things in different places.
- Fee
Paid to whoever produces the block, in the chain’s own currency rather than in the asset being moved.
- Timestamp
When the block was produced, not when the sender pressed send.
- Hash
The identifier for the transfer. It is the thing to quote in a report, because it names one transfer and nothing else.
Two ways a chain counts a transfer
Bitcoin and the chains built like it work in inputs and outputs. One transaction consumes several inputs and pays several outputs, and one of those outputs is usually change returning to the sender. A single transaction can pay nine recipients and look like nine transfers, or one.
Ethereum and the chains built like it work in accounts and balances. One transaction usually moves one asset between two accounts, which is simpler to count. A call to a contract is the exception: it can move several assets between several parties while still being one transaction.
Bitcoin and the chains built like it. One transaction, four movements.
Counted as one transfer, or as three, or as two if you discard the change. All three counts are defensible, which is why two vendors can disagree.
Ethereum and the chains built like it. One transaction, one movement.
No change output, so the count is not in question. The exception is a contract call, which can move several assets between several parties and still be one transaction.
Two chains, two counting rules. This is why two honest totals can differ.
A token is not the chain’s own currency
USDC on Ethereum is an entry in a contract, not a balance the chain itself tracks. The contract records who holds what, and moving it means asking the contract to update its own ledger.
The fee for that request is still paid in ETH. A customer can therefore hold a large USDC balance and be unable to move any of it, because the address holds no ETH to pay with. Funds that look stuck usually are, and for this reason.
When a transfer is settled
A transfer in a block is not yet final. Blocks can be displaced for a short window, and a displaced transfer returns to being unconfirmed. Each chain has its own convention for how many following blocks make it safe to treat as settled.
For an investigation this rarely matters, because you are reading activity that settled long ago. It matters when you are asked about something that happened in the last few minutes.
What this changes
| What you have | What it is worth |
|---|---|
| A transfer hash | Names one transfer exactly. Quote this rather than an amount and a time. |
| An amount with no asset or chain | Not yet a fact. The same figure in USDC and in a token with the same name are different claims. |
| A count of transfers | Comparable only against another count made under the same rule, on the same chain. |
| A timestamp | When the block was produced. Treat it as approximate for anything that turns on minutes. |
Related
Addresses and wallets
An address is a destination that anyone can create, for free, without telling anybody. Everything else said about one, including who owns it and what it is for, was added later by somebody making an inference.
What KYT is
Know your transaction screens onchain activity against categories of concern. It tells you about the money an address has touched, and nothing at all about the person holding it.
Last checked against the product on .