Independent DeFi security desk · Status: operationalMethodology & corrections · Submit an incident
DeFi Safety · Fact checked

How a Wallet Connection Request Actually Works, and What Each Part Means

A dapp connection prompt is a set of permissions, not a login. Here is how to read each line before you sign.

This article may contain affiliate links. Commercial relationships are disclosed in the affiliate policy.

DeFi Safety — illustration keyed to this article's identifier. Source documents are listed under Sources and are not reproduced here.

What the prompt is actually asking

When a dapp asks to connect, it is not logging you in. It is asking your wallet to sign a message that authorises a set of addresses and, often, spending limits. The interface shows this as a list of human-readable lines, and those lines are generated from the underlying request your wallet is being asked to approve. Nothing about the connection is free, and nothing about it is limited to “viewing”.

The reason this matters is that a reader who thinks they are signing into a website will approve a permission without reading it, and the permission outlives the website session.

The four things every prompt contains

Every standard connection request resolves into the same four elements. Wallet type does not change this structure much, which is why a habit learned on one wallet mostly transfers to another.

The first is the requesting domain. This is the site asking for access, and it should match the address you navigated to yourself rather than one that arrived through a link, an advertisement or a message from someone else.

The second is the account set. A prompt may offer you a choice of which of your addresses to expose. If it lists several and you only need one, exposing more than necessary gives a dapp more surface area than it requires.

The third is chain access. If the site needs to read balances or positions on more than one network, it will request access to each. Each additional chain is an additional permission to track later during revocation.

The fourth is the optional spending approval. This is the one that gets skipped. Read-only access and spending authority are separate lines, and a dapp can be given one without the other. A swap interface that needs to pull a token will request an allowance; a portfolio dashboard usually does not.

How to read a request before you approve

Spend a few seconds on the domain and a few seconds on the spending lines. That is most of the work.

Check the domain against the address bar, not against the prompt’s own display text, because prompt text is supplied by the requesting site and can be written to look reassuring. Look at whether the account list matches the single address you would expect to use for this task. Read the token and the limit on any spending line, and note whether the limit is a specific amount, a percentage, or unlimited. Unlimited does not mean the dapp will take everything, but it does mean nobody is protecting you from a bug in the dapp’s own code.

What to do when a permission turns out to be wrong

Revocation is possible and is not difficult, but it is easier to prevent than to unwind. If you have already approved something you should not have, the practical sequence is: use the wallet’s permission manager to revoke the allowance, treat any transaction hash from the session as suspicious until you have checked it on a block explorer, and rotate the account only if a signing step happened that you do not recognise.

If the dapp is a well-known interface and you revoked mid-session, open the site again in a fresh session rather than reconnecting inside the old one. The old tab may hold a token that you have just invalidated.

Where the official documentation fits

Wallet documentation is the authoritative answer to “what am I signing”, while help-centre articles and blog posts are frequently outdated in the specific place where permissions changed. When the two disagree, the wallet’s own documentation and its current contract interfaces win, because that is the code that will actually execute.

Check the chain you intend to use matches the one named in the request. A request that names Ethereum mainnet is not a request for a testnet, and vice versa, and accepting the wrong chain produces transactions you cannot easily undo.

What this article does not claim

This does not assert that any specific interface is unsafe, or that approvals are the dominant cause of loss. It does not tell you which limits are safe to accept, because that depends on the dapp’s design and the size of the transaction. Treat this as a reading method and verify the specific numbers in your own wallet before you sign.

This material is educational and is not financial, legal, tax or security advice. Wallet behaviour and interface wording change; check the current documentation of the wallet you use.

Sources