{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "connecting-a-wallet",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/connecting-a-wallet/",
  "collection": "defi",
  "title": "Connecting a wallet: account access, signatures and approvals",
  "description": "Distinguish a wallet connection from a signature, token allowance and transaction, and understand what disconnecting a website actually changes.",
  "aliases": [
    "wallet connection",
    "disconnect wallet"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T15:08:18.373Z",
    "dataAsOf": null
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "Connecting a wallet usually lets an application request access to selected account addresses and communicate with the wallet. That connection alone is different from granting a token allowance or signing a transaction. A signature can itself authorize spending, so its meaning matters even when no gas fee is shown.",
    "claimId": "connecting-a-wallet-quick-answer",
    "sourceIds": [
      "provider",
      "erc20",
      "permit"
    ]
  },
  "keyFacts": [
    {
      "label": "Account access",
      "value": "Wallet account exposure is an explicit permission boundary.",
      "sourceIds": [
        "provider"
      ],
      "id": "account-access",
      "claimId": "connecting-a-wallet-fact-account-access"
    },
    {
      "label": "Allowance",
      "value": "ERC-20 spending permission belongs to a token contract and spender.",
      "sourceIds": [
        "erc20"
      ],
      "id": "allowance",
      "claimId": "connecting-a-wallet-fact-allowance"
    },
    {
      "label": "Signature",
      "value": "ERC-2612 permits authorize allowances using signed messages.",
      "sourceIds": [
        "permit"
      ],
      "id": "signature",
      "claimId": "connecting-a-wallet-fact-signature"
    }
  ],
  "prerequisites": [
    "ethereum-wallet-requests",
    "ethereum-token-approvals"
  ],
  "sections": [
    {
      "id": "connection",
      "heading": "Connection exposes an account interface",
      "paragraphs": [
        "An application asks the wallet for accounts and the selected network, then uses a provider to request reads, signatures or transactions. EIP-1193 distinguishes connectivity to a chain from account authorization. A connected provider can still have no account permission.",
        "An address lets an application inspect public chain activity and associate that activity with the session. Connection does not require sending a recovery phrase to a website. The wallet remains the component that manages keys and signing. Use [Follow a Transaction](/tools/transaction-walkthrough/) to separate signing from submission, inclusion and finality."
      ],
      "sourceIds": [
        "provider"
      ]
    },
    {
      "id": "separate-permissions",
      "heading": "A spending approval is a separate operation",
      "paragraphs": [
        "Suppose a swap interface asks permission for a router to spend 50 token units. The ERC-20 allowance records that spender and amount on the token contract; a later transferFrom can use it. Granting permission and performing the swap are distinct state changes even when an interface groups them.",
        "ERC-2612 permits let a signed message create an allowance when submitted on-chain. The message binds fields including spender, amount, deadline and nonce. A gas-free signature is therefore not necessarily a harmless login message."
      ],
      "sourceIds": [
        "erc20",
        "permit"
      ]
    },
    {
      "id": "disconnect",
      "heading": "Disconnecting does not erase on-chain authority",
      "paragraphs": [
        "Removing a website’s connection permission changes its wallet access. It does not send an ERC-20 approval transaction and does not by itself set an existing allowance to zero. The token contract’s state persists independently of the browser session.",
        "When examining a request, distinguish the account being exposed, chain, token, spender, quantity and operation. A transaction simulation can clarify proposed changes, but interpreting a signed authorization also requires its scope and validity conditions."
      ],
      "sourceIds": [
        "provider",
        "erc20",
        "permit"
      ]
    }
  ],
  "faq": [
    {
      "question": "Does a connection give the website my private key?",
      "answer": "The provider interface is designed to pass requests to the wallet, which manages private keys separately. Account access does not itself reveal the key or authorize every future transaction.",
      "sourceIds": [
        "provider"
      ]
    },
    {
      "question": "Can a signature move tokens later?",
      "answer": "Yes. A valid permit can be submitted later to set an allowance, subject to its deadline and nonce. The resulting spender authorization is separate from an ordinary site connection.",
      "sourceIds": [
        "permit"
      ]
    }
  ],
  "claims": [
    {
      "id": "connecting-a-wallet-quick-answer",
      "articleSlug": "connecting-a-wallet",
      "statement": "Connecting a wallet usually lets an application request access to selected account addresses and communicate with the wallet. That connection alone is different from granting a token allowance or signing a transaction. A signature can itself authorize spending, so its meaning matters even when no gas fee is shown.",
      "sourceIds": [
        "source-b0746cbddfc23325",
        "source-ac4ad503a55127bb",
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Connectivity; User Account Exposure and Account Changes"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        },
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-account-access",
      "articleSlug": "connecting-a-wallet",
      "statement": "Account access: Wallet account exposure is an explicit permission boundary.",
      "sourceIds": [
        "source-b0746cbddfc23325"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Connectivity; User Account Exposure and Account Changes"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-allowance",
      "articleSlug": "connecting-a-wallet",
      "statement": "Allowance: ERC-20 spending permission belongs to a token contract and spender.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-signature",
      "articleSlug": "connecting-a-wallet",
      "statement": "Signature: ERC-2612 permits authorize allowances using signed messages.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "provider",
      "label": "EIP-1193: Ethereum Provider JavaScript API",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1193",
      "locator": "Connectivity; User Account Exposure and Account Changes",
      "note": "Account access, chain selection, RPC requests and provider connectivity.",
      "version": "EIP-1193 final",
      "checkedAt": "2026-10-02",
      "recordId": "source-b0746cbddfc23325",
      "contentSha256": null
    },
    {
      "id": "erc20",
      "label": "ERC-20: Token Standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-20",
      "locator": "Methods: approve, allowance, transferFrom",
      "note": "The token spending allowance is separate from a website connection.",
      "version": "ERC-20 final",
      "checkedAt": "2026-10-02",
      "recordId": "source-ac4ad503a55127bb",
      "contentSha256": null
    },
    {
      "id": "permit",
      "label": "ERC-2612: Permit Extension",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-2612",
      "locator": "Specification; Security Considerations",
      "note": "Signed approvals have spender, amount, nonce, deadline and domain semantics.",
      "version": "ERC-2612 final",
      "checkedAt": "2026-10-02",
      "recordId": "source-1f53bb744ddddb6b",
      "contentSha256": null
    }
  ],
  "related": {
    "articles": [
      "wrapped-assets",
      "decentralized-exchanges",
      "protocol-upgrades-and-admin-powers"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    },
    {
      "date": "2026-10-02",
      "kind": "prepublication-review",
      "summary": "Before first publication, independent review checked and revised: sections, prerequisites. Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance. Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Connecting a wallet: account access, signatures and approvals.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/connecting-a-wallet/"
}
