
⛓️ Blockchain & Web3 · C4 Architecture · Pro
How an NFT marketplace works: listings signed off-chain, metadata on IPFS, and sales settled by a marketplace smart contract.
C4 Architecture diagrams are part of Pro. Anyone can view this one; generating and editing it needs Pro.
Drawing diagram…
NFT marketplace: users connect wallets (MetaMask) to a web app. Creators mint NFTs through a minting contract with metadata and images pinned on IPFS. Sellers sign listings off-chain, stored in the marketplace API. Buyers call the marketplace smart contract, which checks the signature, transfers the NFT, pays the seller and the creator royalty. An indexer reads blockchain events into PostgreSQL for search.
C4Container
title NFT Marketplace
Person(user, "Collector / Creator", "Buys, sells, mints")
System_Boundary(mp, "Marketplace") {
Container(web, "Web App", "Next.js", "Browse, list, buy")
Container(api, "Marketplace API", "Node.js", "Signed listings, search")
Container(idx, "Chain Indexer", "Go", "Reads contract events")
ContainerDb(db, "Market DB", "PostgreSQL", "Listings, sales, collections")
}
System_Ext(wallet, "Wallet", "MetaMask")
System_Ext(chain, "Ethereum", "Marketplace and NFT contracts")
System_Ext(ipfs, "IPFS", "Images and metadata")
Rel(user, web, "Uses")
Rel(web, wallet, "Signs listings and transactions")
Rel(web, api, "Listings and search")
Rel(wallet, chain, "Sends transactions")
Rel(web, ipfs, "Uploads artwork")
Rel(idx, chain, "Reads events")
Rel(idx, db, "Writes sales")
Rel(api, db, "Reads/writes")The main parts of a centralised crypto exchange: a matching engine, wallets split between hot and cold storage, deposits and withdrawals, and compliance checks.
How an exchange processes a crypto withdrawal safely: balance hold, 2FA, risk and address screening, signing, broadcast and confirmations.
How a team safely upgrades a smart contract behind a proxy: audit, testnet rehearsal, multi-signature approval and a timelock before the change goes live.
The states a blockchain transaction goes through from signing to final confirmation, including replacement and dropped transactions.
How a custodian separates internet-connected hot wallets from offline cold storage, with signing hardware and an air-gapped transfer process.
Where a decentralised app's parts run: frontend on IPFS, contracts on a layer-2 chain, and supporting services like RPC providers and an indexer.