# Faucet

**Deployment Address**

Mainnet: [<mark style="color:purple;">0xa62Bf9b53044885CddFcbC4cA52f51f8ae39eCFE</mark>](https://explorer.kinto.xyz/address/0xa62Bf9b53044885CddFcbC4cA52f51f8ae39eCFE)

Code: [<mark style="color:purple;">Faucet.sol</mark>](https://github.com/KintoXYZ/kinto-core/blob/main/src/Faucet.sol)

***

## Basics

* Allows every Kinto wallet to receive a one-time payment of ETH to pay for gas fees.

***

## State functions

<pre><code>claimKintoETH() external override

<strong>claimKintoETH(IFaucet.SignatureData calldata _signatureData) external onlyOwner
</strong>
withdrawAll() external override onlyOwner

startFaucet() payable external override onlyOwner
</code></pre>

1. **claimKintoETH**

Allows users to claim a predefined amount of ETH from the faucet.

```solidity
function claimKintoETH() external override;
```

No parameters.

2. **claimKintoETH (via signature)**

Allows the owner to claim ETH on behalf of a user using a signature.

```solidity
function claimOnBehalf(IFaucet.SignatureData calldata _signatureData) external onlyOwner;
```

| Parameter        | Type                    | Explanation                  |
| ---------------- | ----------------------- | ---------------------------- |
| `_signatureData` | `IFaucet.SignatureData` | Signature data for claiming. |

3. **withdrawAll**

Withdraws all ETH from the faucet and deactivates it.

```solidity
function withdrawAll() external override onlyOwner;
```

No parameters.

4. **startFaucet**

Starts the faucet with an initial ETH deposit.

```solidity
function startFaucet() payable external override onlyOwner;
```

No parameters.

***

## Custom Events

1. **Claim**

Emitted when ETH is claimed from the faucet.

```solidity
event Claim(address indexed _to, uint256 _timestamp);
```

| Parameter    | Type      | Explanation                    |
| ------------ | --------- | ------------------------------ |
| `_to`        | `address` | The address receiving the ETH. |
| `_timestamp` | `uint256` | The timestamp of the claim.    |
