How Crypto Transactions Work: From Click to Confirmation
You tap “Send” in your wallet, and a few minutes later the recipient has the funds. Simple from the outside. But under the hood, a complex process happens involving cryptography, peer-to-peer networking, and economic incentives — all without any single authority coordinating the process.
Let’s trace a transaction from the moment you initiate it to the moment it’s permanently recorded.
Step 1: Creating the Transaction
When you send crypto, your wallet software constructs a digital message. On Bitcoin, it looks roughly like:
FROM: Your address (1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa)
TO: Recipient address (3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5)
AMOUNT: 0.05 BTC
FEE: 0.00012 BTC
This message is a data structure, not a text message. It includes:
- Input(s): References to previous transactions that prove you have the funds
- Output(s): The destination address(es) and amounts
- Fee: The difference between inputs and outputs — paid to the miner/validator
On Ethereum, transactions look different because of the account model:
FROM: 0xYourAddress
TO: 0xRecipientOrContract
VALUE: 0.5 ETH
GAS LIMIT: 21,000
GAS PRICE: 15 gwei
DATA: (empty for simple transfers, or contract call data)
NONCE: 42 (sequential counter for your account)
UTXO vs. Account Model
Bitcoin uses the UTXO (Unspent Transaction Output) model. Think of it like cash: you have specific bills (UTXOs) that you spend. If you have a “10 BTC bill” and want to send 3 BTC, the transaction uses the whole 10 BTC bill and creates two outputs — 3 BTC to the recipient and 7 BTC back to yourself as change.
Ethereum uses the account model — more like a bank account with a balance. You simply subtract from your balance and add to the recipient’s.
| Feature | UTXO (Bitcoin) | Account (Ethereum) |
|---|---|---|
| Privacy | Better (new address per transaction) | Worse (one address, full history) |
| Parallel processing | Easier (independent UTXOs) | Harder (sequential nonces) |
| Smart contracts | Limited | Full support |
| Mental model | Like cash bills | Like bank account |
Step 2: Signing
Before broadcast, the transaction must be signed with your private key. This is the cryptographic proof that you authorized the transfer.
Here’s how digital signatures work at a high level:
- Your wallet takes the transaction data and your private key
- A mathematical algorithm (ECDSA for Bitcoin, also ECDSA or EdDSA for other chains) produces a signature
- This signature can be verified by anyone using your public key
- But nobody can recreate the signature without your private key
The signature proves three things:
- Authentication: You (the key holder) authorized this transaction
- Integrity: The transaction data hasn’t been altered since signing
- Non-repudiation: You can’t deny you signed it
Did you know? Your private key never leaves your wallet during signing. The wallet performs the calculation locally. This is why hardware wallets are secure — they sign transactions on a dedicated chip and only output the signature, never the key itself.
Step 3: Broadcasting
Your signed transaction gets broadcast to the peer-to-peer network. Your wallet connects to one or more nodes and sends the transaction. Those nodes validate it and forward it to their peers, who forward it to their peers, and so on. Within seconds, your transaction reaches most of the network.
Validation Checks
Every node that receives your transaction performs basic checks before forwarding:
- Is the signature valid?
- Does the sender have sufficient balance/UTXOs?
- Is the fee adequate? (Below a minimum threshold, most nodes will drop it)
- Is the format correct?
- Is the nonce correct? (Ethereum — prevents replay attacks)
- Does it conflict with another transaction already in the mempool?
If any check fails, the node rejects the transaction. It doesn’t get forwarded. Your wallet will typically show an error.
Step 4: The Mempool
After passing validation, your transaction enters the mempool (memory pool) — a waiting room for unconfirmed transactions. Every node maintains its own mempool, and they’re roughly synchronized but not identical.
Think of the mempool as an airport terminal:
- Transactions are passengers waiting for their flight (block)
- Higher-fee transactions get first-class boarding — they’re picked up first
- During congestion, low-fee transactions might wait for hours or days
- If a transaction waits too long, it gets dropped from the mempool (typically after 14 days on Bitcoin)
Fee Market Dynamics
Miners and validators are economically motivated to include the highest-paying transactions first. During busy periods:
| Network State | Bitcoin Fee | Ethereum Gas | Wait Time |
|---|---|---|---|
| Low congestion | $0.10–$1 | 5–10 gwei | Next block |
| Normal | $1–$5 | 15–30 gwei | 1–3 blocks |
| High congestion | $10–$50+ | 100–500+ gwei | 30+ minutes |
| Extreme (NFT mints, etc.) | $50–$200 | 1000+ gwei | Hours |
You can monitor mempool congestion in real time:
- Bitcoin: mempool.space
- Ethereum: etherscan.io/gastracker
Replace-by-Fee (RBF)
If your Bitcoin transaction is stuck because you set the fee too low, you can use RBF — rebroadcast the same transaction with a higher fee. The new version replaces the old one. Most modern wallets support this.
On Ethereum, you can do the same by sending a new transaction with the same nonce but higher gas price.
Step 5: Block Inclusion
A miner (PoW) or validator (PoS) selects transactions from the mempool, arranges them into a block, and proposes it to the network.
On Bitcoin (Proof of Work):
- The miner gathers high-fee transactions (up to the ~4MB block weight limit)
- Constructs a candidate block with a header containing the previous block hash
- Repeatedly hashes the block header with different nonces
- Finds a hash below the target difficulty
- Broadcasts the winning block to the network
This happens roughly every 10 minutes. Each block contains ~2,000–3,000 transactions.
On Ethereum (Proof of Stake):
- The protocol selects a validator to propose the next block
- The validator selects transactions from the mempool (up to the 30M gas limit)
- Proposes the block to the network
- Other validators attest (vote) on the block’s validity
- After sufficient attestations, the block is added to the chain
This happens every 12 seconds. Each block contains ~150–200 transactions.
MEV: The Hidden Transaction Economy
Maximal Extractable Value (MEV) refers to profit that validators can capture by reordering, inserting, or censoring transactions within a block. Examples:
- Arbitrage: A validator sees a large trade about to move a DEX price, so they place their own trade before and after it (sandwich attack)
- Liquidations: Racing to liquidate undercollateralized DeFi positions for rewards
- Backrunning: Placing a transaction immediately after a large trade to capture arbitrage
MEV is a complex topic with both positive effects (market efficiency) and negative ones (costs extracted from regular users). Tools like Flashbots try to make MEV extraction more fair and transparent.
Step 6: Confirmation
Once your transaction is included in a block, it has 1 confirmation. Each subsequent block added to the chain gives it an additional confirmation.
Why Multiple Confirmations Matter
A single confirmation means one block has been built on top of yours. But what if two miners find blocks at the same time? This creates a temporary fork. The network follows the longest chain, and the shorter branch (and its transactions) gets orphaned.
With each additional confirmation, the probability of reversal drops exponentially:
| Confirmations | Bitcoin | Ethereum | Practical Meaning |
|---|---|---|---|
| 0 | Unconfirmed | Unconfirmed | Transaction may not go through |
| 1 | ~10 min | ~12 sec | Low-value transactions OK |
| 3 | ~30 min | ~36 sec | Most services accept |
| 6 | ~60 min | ~72 sec | Industry standard for Bitcoin |
| 12 | ~120 min | ~2.4 min | Very high security |
| 30+ | ~5 hours | ~6 min | Exchanges for large deposits |
After 6 Bitcoin confirmations, the probability of reversal is less than 0.0002%. For practical purposes, it’s irreversible.
Ethereum with PoS has finality — after 2 epochs (~12.8 minutes), transactions are mathematically finalized and cannot be reversed without destroying at least 1/3 of all staked ETH.
Transaction Speed Comparison
| Blockchain | Block Time | Typical Confirmation | Finality |
|---|---|---|---|
| Bitcoin | ~10 min | 60 min (6 blocks) | Probabilistic |
| Ethereum | 12 sec | 12.8 min (2 epochs) | Economic finality |
| Solana | ~400ms | ~5 sec | ~13 sec |
| Polygon | ~2 sec | ~5 min | Via Ethereum |
| Bitcoin Lightning | Instant | Instant | Channel-level |
| Arbitrum | ~250ms | ~1 min | Via Ethereum (7 days for fraud proof) |
Transaction Fees Explained
Bitcoin Fees
Bitcoin fees are based on transaction size in bytes, not the amount you’re sending. Sending 0.001 BTC costs the same fee as sending 1,000 BTC if the transaction is the same size.
What affects transaction size:
- Number of inputs (UTXOs being spent)
- Number of outputs (destinations)
- Signature type (SegWit transactions are smaller)
A typical 1-input, 2-output SegWit transaction is about 140 vbytes.
Ethereum Fees
Ethereum fees are based on computational complexity. Simple ETH transfers cost less than token swaps, which cost less than complex DeFi operations.
Cost = Gas used × (Base fee + Priority tip)
If you set the gas limit too low, the transaction fails — and you still pay for the gas consumed up to the point of failure. Set it too high, and the unused gas is refunded.
Tips for Minimizing Fees
- Time your transactions. Networks are typically cheapest on weekends and during off-peak hours (early morning UTC).
- Use Layer 2s. Arbitrum, Base, and other L2s offer 10–100x lower fees than Ethereum mainnet.
- Batch transactions. Some wallets let you combine multiple sends into one transaction.
- Use SegWit addresses (Bitcoin). They’re smaller and cheaper. If your address starts with bc1, you’re already using SegWit.
- Set appropriate fees. Don’t overpay during calm periods. Check mempool.space or etherscan.io/gastracker before sending.
What Can Go Wrong
Sent to the Wrong Address
Crypto transactions are irreversible. If you send to the wrong address, the funds are gone unless the recipient voluntarily returns them. Always double-check addresses. Many wallets support address books and QR codes to reduce errors.
Wrong Network
This is a common mistake. Sending ETH on the Ethereum network to an address that expects ETH on Arbitrum might lose funds. Sending USDT as an ERC-20 token to a TRC-20 address will lose funds. Always verify the network before sending.
Stuck Transactions
If you set the fee too low, your transaction can get stuck in the mempool. Solutions:
- Bitcoin: Use RBF (Replace-by-Fee) to bump the fee, or wait
- Ethereum: Send a new transaction with the same nonce and higher gas price
- Wait: During quieter periods, the network may process lower-fee transactions
Failed Transactions (Ethereum)
On Ethereum, a transaction can fail if:
- Gas limit too low (out of gas)
- Smart contract revert (a condition in the contract wasn’t met)
- Slippage too high on a DEX trade
Failed transactions still consume gas. You pay for the computation even though nothing happened. This is frustrating but necessary to prevent spam.
Key Takeaways
- A crypto transaction is a signed message that gets broadcast to a peer-to-peer network, validated by nodes, and included in a block
- The mempool is a waiting room where transactions compete on fees for block inclusion
- Multiple confirmations provide exponentially increasing security against reversal
- Fees are based on data size (Bitcoin) or computational complexity (Ethereum), not on the amount transferred
- Transactions are irreversible — always verify the address and network before sending
- Layer 2 solutions and proper fee management can reduce costs dramatically
FAQ
Q: Can I cancel a crypto transaction? A: If it’s still in the mempool (unconfirmed), you may be able to replace it with a higher-fee transaction to yourself (effectively canceling it). Once confirmed in a block, it’s permanent.
Q: Why is my transaction taking so long? A: Most likely the fee is too low for current network demand. Check the mempool state and consider using RBF (Bitcoin) or a replacement transaction (Ethereum) with a higher fee.
Q: Do I need to be online for my wallet to receive crypto? A: No. Transactions are recorded on the blockchain regardless of whether your wallet software is running. When you next open your wallet, it syncs with the blockchain and shows the received funds.
Q: What is a transaction hash (TXID)? A: A unique identifier for your transaction — like a tracking number. You can look it up on a block explorer (mempool.space, etherscan.io) to see its status, confirmations, fee paid, and all details.
Q: Can someone see how much crypto I have? A: If they know your address, yes — blockchain transactions are public. This is why privacy-conscious users generate new addresses for each transaction (Bitcoin supports this natively). For stronger privacy, chains like Monero hide transaction details by default.