# How to Pay Gas in ERC-20 Tokens | EIP-7702

**Smart EOAs via EIP-7702**

Enable users to pay gas in ERC-20 tokens using any [supported ERC-20 token](https://docs.candide.dev/wallet/paymaster/tokens-supported.md) on Candide Paymaster.

1. Create a new app on the [dashboard](https://dashboard.candide.dev) and copy the Paymaster URL to your `.env` file
2. Select an ERC-20 token for gas payment and add its address to the `.env` file (this example uses CTT)

If you would like to see a full example, you can reference it [here](https://github.com/candidelabs/abstractionkit-examples/blob/main/eip-7702/upgrade-eoa-to-7702-smart-account-erc-20-gas.ts).

* index.ts
* .env

```
import {
  ...
  CandidePaymaster,
} from "abstractionkit";

const paymasterRPC = process.env.PAYMASTER_RPC as string;
const tokenAddress = process.env.TOKEN_ADDRESS as string;

const paymaster = new CandidePaymaster(paymasterRPC)

const tokensSupported = await paymaster.fetchSupportedERC20TokensAndPaymasterMetadata();
const tokenSelected = tokensSupported.tokens.find(
    token => token.address.toLocaleLowerCase() === tokenAddress.toLowerCase()
);

if (tokenSelected) {
    userOperation = await paymaster.createTokenPaymasterUserOperation(
        smartAccount, // = new Simple7702Account(eoaDelegator.address)
        userOperation,
        tokenSelected.address,
        bundlerUrl,
    )

    const cost = await paymaster.calculateUserOperationErc20TokenMaxGasCost(
        userOperation,
        tokenSelected.address
    )
    console.log("This useroperation may cost up to : " + cost + " wei in CTT token")
    console.log("Please fund the sender account: " + userOperation.sender +" with more than "+ cost + " wei CTT token")
}
```

```
PAYMASTER_RPC=https://api.candide.dev/public/v3/sepolia
TOKEN_ADDRESS=0xFa5854FBf9964330d761961F46565AB7326e5a3b # CTT address on sepolia
```

info

Don't forget to fund the account with ERC-20s to pay for gas. We are using Candide Test Tokens (CTT) for this example. Get test tokens from our [dashboard faucet](https://dashboard.candide.dev/faucet) - supporting CTT and USDT on testnet.
