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

# Gasless Transactions

> Bungee Auto uses Permit2 to enable efficient token transfers, while Bungee Manual uses traditional approvals. This page explains how token approvals work, your options, and important security considerations.

## Comparison of Token Approvals[​](#comparison-of-token-approvals "Direct link to Comparison of Token Approvals")

| Aspect       | Traditional Approvals (Bungee Manual)                  | Permit2 Approvals (Bungee Auto)                                                |
| ------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------ |
| **Gas Cost** | Two transactions needed (approve + transfer)           | One-time approval, then gasless signatures                                     |
| **Control**  | Basic approve amount and revoke onchain                | Fine-grained with expiration times                                             |
| **Security** | Unlimited approvals can be used to transfer any amount | Unlimited approvals to permit2 contract cannot transfer without your signature |

See [Uniswap Permit2](https://github.com/Uniswap/permit2) for technical details.

## How Signatures Work[​](#how-signatures-work "Direct link to How Signatures Work")

Each signature for a Permit2 transfer includes:

* **Token Details**: Address and amount
* **Expiration Time**: When the signature becomes invalid
* **Nonce**: Ensures signatures can't be reused
* **Chain ID**: Prevents crosschain replay attacks

## How Bungee Uses Permit2[​](#how-bungee-uses-permit2 "Direct link to How Bungee Uses Permit2")

Bungee Auto integrates Permit2 to create a better user experience:

1. Initial Setup:

   * Approve Permit2 for your tokens
   * Choose between limited or unlimited approval amounts

2. For Each Transfer:

   * Sign a message specifying exact amount and expiration
   * No gas needed for approval
   * Transfer only happens with your signature

3. Security Features:

   * Each signature has an expiration time
   * Signatures specify exact amounts
   * Transfers require explicit approval

## Approval Options[​](#approval-options "Direct link to Approval Options")

<Check>
  Permit2 supports two approval methods:

  1. **Limited**: Approve specific amounts. Requires new onchain approval for each request, using more gas.
  2. **Unlimited**: One-time approval. Future requests only need signatures, saving gas.
</Check>
