Connecting to a dApp lets the app request wallet information and ask for signatures. It does not require sharing a seed phrase. The risk starts when the user signs something unclear, approves token spending, or gives a malicious contract permission to move assets.
WalletConnect-style sessions are common because they let wallets and apps communicate across devices or browsers without sharing private keys. WalletConnect now sits within Reown's product suite, which provides connection and transaction tooling across apps. Most platforms that qualify as DeFi platforms or DEXes use this connection standard, so the prompt types below appear frequently once you start using Web3 apps.
Each action in a dApp session carries a different level of risk:
- Connect request: lets a dApp see public wallet information and request actions.
- Sign-in message: proves wallet control without necessarily moving funds.
- Transaction signature: authorizes an on-chain action such as sending, swapping, minting, or staking.
- Token approval: gives a contract permission to spend a token up to a set amount.
Token approvals deserve extra attention because they can outlive the session that created them. Disconnecting a site is not the same as revoking an approval. You can stop talking to a dApp while a smart contract permission still exists on-chain and remains valid indefinitely.
Before signing anything, pause and check:
- Is the network and asset correct?
- Does the action move funds, or does it only sign in?
- Is the approval amount unlimited?
- Is the contract address the one you expected?
- Did this prompt appear without any action you initiated?
A Web3 wallet can make bad prompts easier to spot, but it cannot recognize every malicious interface. Clear signing, simulation tools, hardware screens, and small test actions reduce mistakes. None of them make blind signing safe.
Built-in swaps add another source of confusion. A self-custodial wallet can still route swaps through a DEX, aggregator, bridge, or third-party protocol. The wallet may not hold user funds like an exchange would, but the user still carries smart contract risk, routing risk, slippage, token-approval risk, and app-interface risk on each swap.