> For the complete documentation index, see [llms.txt](https://docs.leather.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leather.io/learn/what-are-web3-wallets.md).

# What are Web3 Wallets and How Do They Work on Bitcoin?

A Web3 wallet holds your keys and connects you to blockchain apps. How Web3 wallets work on Bitcoin and Stacks.

A Web3 wallet holds your keys and connects to blockchain apps. Besides sending and receiving, it lets an app ask you to sign transactions and messages, so you can use the app without an account.

## How a Web3 wallet works

1. The wallet creates your keys from a Secret Key and shows your addresses.
2. You connect it to an app. The app can then see your addresses.
3. When the app needs a transaction or a signature, the wallet shows you the request.
4. You check it and approve or reject it. Your keys never leave the wallet.

Most Web3 wallets are self-custody wallets, and they need an internet connection to talk to apps and networks. See [What is a Self-Custody Bitcoin Wallet?](/learn/what-is-a-self-custody-bitcoin-wallet.md).

## Web3 wallets on Bitcoin

Bitcoin itself has limited scripting, so most Bitcoin apps run on layers such as Stacks. A Bitcoin Web3 wallet holds bitcoin and the assets of those layers, and connects to their apps. See [Bitcoin Layers explained](/learn/what-are-bitcoin-layers-world-of-bitcoin-layer-2.md).

## Leather

Leather is a Web3 wallet for Bitcoin and Stacks, as a browser extension and a mobile app. It holds BTC, STX, Stacks tokens such as sBTC, and Stacks NFTs, and connects to apps on both networks. See [Connect to apps](/get-started/connect-apps.md).
