> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamo.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Permissions

> Learn what you authorize when you connect your wallet, approve tokens, or sign transactions on Dynamo Finance.

Using [Dynamo Finance](https://dynamo.finance/) requires interacting with your Web3 wallet at several points. Understanding exactly what each action authorizes helps you stay in control and make informed decisions.

## Connecting your wallet

When you click **Connect wallet** and approve the connection:

* Dynamo **reads** your wallet address and on-chain balances.
* Dynamo **cannot** move your funds, sign transactions, or take any action on your behalf.
* You can disconnect your wallet at any time from within the app or your wallet's connected sites settings.

<Info>
  Connecting a wallet is a read-only action. No funds can be moved until you explicitly sign a transaction.
</Info>

## Token approvals

Before you can deposit a token into a Morpho market or vault, you must grant the smart contract permission to spend that token.

### What it does

A token approval tells the ERC-20 token contract: "I allow this smart contract address to spend up to X amount of my tokens."

### What to check

Always verify:

1. **The contract address** — confirm it matches the official Morpho contract for that market.
2. **The approval amount** — Dynamo requests the minimum needed. Be cautious of unlimited approvals if you prefer to limit exposure.

<Warning>
  Never approve a contract address you don't recognize. Only interact with contracts displayed in the official Dynamo app at [dynamo.finance](https://dynamo.finance).
</Warning>

## Transaction signatures

Every action that changes your on-chain position requires you to sign a transaction:

| Action           | What you sign                                                       |
| ---------------- | ------------------------------------------------------------------- |
| Supply / deposit | Transfer tokens from your wallet to the Morpho contract             |
| Borrow           | Instruct the Morpho contract to send borrowed tokens to your wallet |
| Repay            | Transfer tokens from your wallet back to the Morpho contract        |
| Withdraw         | Instruct the Morpho contract to return your supplied tokens         |
| Vault deposit    | Transfer tokens to the vault contract                               |
| Vault withdrawal | Redeem vault shares for underlying tokens                           |

Each transaction is broadcast to the blockchain and requires a small gas fee.

## Permit signatures (gasless approvals)

Some tokens support **EIP-2612 permits**, a type of off-chain signature that grants a spending approval without an on-chain transaction. Dynamo uses permits where available to save you gas.

* Permit signatures look like a regular wallet pop-up but do **not** broadcast a transaction.
* They are single-use and expire after a short time window.
* They grant approval only for the specific action you are about to take.

## Permit2

Dynamo also supports **Permit2**, Uniswap's universal approval contract, for tokens that don't natively support EIP-2612 permits.

* Permit2 works as an intermediary: you grant a one-time approval to the Permit2 contract, then all subsequent per-action approvals are off-chain signatures.
* This means you only need **one on-chain approval per token** (to Permit2) instead of a separate on-chain transaction for every new protocol you use.
* Individual action permits are still single-use and time-limited, just like EIP-2612 permits.

<Info>
  Permit2 approvals are to the Permit2 contract address (`0x000000000022D473030F116dDEE9F6B43aC78BA3`), not directly to Morpho or Dynamo contracts.
</Info>

## Morpho Bundler Authorization

For more complex multi-step transactions (e.g., [supplying collateral](https://dynamo.finance/) and borrowing in a single click), Dynamo uses the **Morpho Bundler**, a smart contract that batches multiple Morpho operations into one transaction.

To use the bundler, you grant it a **one-time authorization** in Morpho's contract. This authorization allows the bundler to act on your behalf within Morpho for the duration of a batched transaction.

**Key points:**

* The authorization is scoped to the bundler contract address only.
* It does **not** give the bundler (or Dynamo) ongoing access to move your funds at will, each bundled transaction still requires your signature.
* You can revoke bundler authorization at any time by calling the Morpho contract directly or using a supported revocation tool.

| Permission type                  | On-chain?      | Scope                                 |
| -------------------------------- | -------------- | ------------------------------------- |
| Wallet connection                | No             | Read-only                             |
| ERC-20 token approval            | Yes            | Specific contract, specific token     |
| Permit2 approval                 | Yes (one-time) | Permit2 contract for a specific token |
| EIP-2612 / Permit2 action permit | No             | Single action, time-limited           |
| Morpho bundler authorization     | Yes (one-time) | Batched operations via bundler        |

## What Dynamo can never do

* Move funds without your explicit signature on each transaction.
* Change your wallet's private keys or seed phrase.
* Access wallets you have not connected.
* Override or cancel a transaction once it is confirmed on-chain.

## Revoking approvals

If you want to remove a previously granted token approval, you can do so using any token approval management tool (such as [revoke.cash](https://revoke.cash)):

1. Connect your wallet to the approval manager.
2. Find the approval for the relevant Morpho contract.
3. Submit a revocation transaction (requires a small gas fee).

<Tip>
  Periodically reviewing and revoking unused approvals is a good security hygiene practice, even for reputable protocols.
</Tip>
