# API Key management

Both API's are linked to the two paymaster contracts, the [ERC20 paymaster](https://docs.zyfi.org/integration-guide/paymasters-integration/erc20-paymaster) and the [Sponsored Paymaster.](https://docs.zyfi.org/integration-guide/paymasters-integration/sponsored-paymaster)

## ERC20 Paymaster

As a Dapp, when you send the required data to the `erc20_paymaster` endpoint, you do not need to manage an API key.

## Sponsored Paymaster

As a Dapp, if you want to send the required data to the `erc20_sponsored_paymaster` endpoint, you will need to manage API Key provided by the [Zyfi Dashboard.](https://www.zyfi.org/dashboard)&#x20;

This API Key can be used for both Mainnet and Testnet. Just specify the `isTesnet:True` function in the API call if you want to use the Testnet vault. More details in [API documentation here](https://api.zyfi.org/api-doc/).

To sponsor gas fees for your users, you must deposit **ETH** into a vault contract to sponsor gas.\
In order to deposit ETH into the vault contract, you have two options:

{% hint style="warning" %}
**IMPORTANT:** Never send ERC20 tokens to the vault; only send Native Token(ETH).
{% endhint %}

1. **Send** ETH directly into the vault contract on ZKsync or another supported network from your wallet. Note: **the API Key will be linked to this wallet address.** \
   Here are the vault addresses on ZKsync chains and [here](https://docs.zyfi.org/support/contract-addresses) for all other chains:\
   ZKsync Mainnet : `0x32faBA244AB815A5cb3E09D55c941464DBe31496`\
   ZKsync Sepolia : `0xbA72A10ce8496DC9C13b9eE8c35fcCD3809d3C81`
2. **Fund** the account from another address:

   * Go to the [vault explorer page](https://explorer.zksync.io/address/0x32faBA244AB815A5cb3E09D55c941464DBe31496#contract)
   * Connect your wallet
   * Click "Write" and "depositToAccount"
   * Enter the payable amount (e.g., 0.1 for 0.1 ETH)
   * Enter the account you want to deposit for (e.g., your wallet depositor address in above point)
   * Click "Write" and send ETH

   ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeEhAGQiQELC5LcC_ewCbrR_KqJGU_e1KS9R93AjlGqnGsAi71xqyJjANNEnA_49Es1C4ldXjOnSaIbfBYFhnaiBP848H-IN9rf80Z49Rbt0rGrACfZECkkhfPGoXycypqjiCpl7GyEls0VCG1tqGBnB13G?key=tJ3Ij5l_U8pFZJhhCNTG8g)

### **API Key Details**

The API Key is always linked to **one vault depositor address** and can be used on both Testnet and Mainnet.

**Example:**

If you deposit 1 ETH into the mainnet vault at `0x32faBA244AB815A5cb3E09D55c941464DBe31496`

or another 1 ETH into the testnet vault at `0xbA72A10ce8496DC9C13b9eE8c35fcCD3809d3C81`

With the wallet address: `0x454cfaa623a629XXXXXXXXaeb85d54c42e91479d`

The API Key: `b854XXXX-XXXX-XXXX-XXXX-XXXXXXXXea10` will be linked to the funds of this wallet address in the vault.

{% hint style="success" %}
You can always withdraw your vault balance from your vault depositor address.
{% endhint %}
