Your wallet is the application that lets you interact with Ethereum. The main difference between the Uniswap protocol and centralized crypto services lies in who controls your wallet – in other words, custody.
Most centralized crypto services offer custodial wallets, where they store your private keys on your behalf. Typically the company protects your wallet with a username and password, but in the event of a hack or data breach your assets could be at risk.
Decentralized applications (dapps), on the other hand, are non-custodial: you have full ownership, possession and responsibility over your private keys and assets. Wallets come in different types, from browser extensions, to mobile apps, to a USB-like hardware.
There are roughly three different kinds of wallets:
Web wallets: A self-custody wallet lets you interact with your Ethereum account via a web browser. For example, you can download MetaMask as a browser plugin and create a wallet to store Ether and other ERC-20 tokens.
Smart-contract wallets: These are wallets that live as a program on the blockchain instead of providing the user with a public and private key pair, and are typically associated with a specific app. Examples include InstaDapp’s DeFi Smart Accounts, Argent, Dharma, Gnosis Safe, etc.