# Fees

Woken Exchange is a fork of UniswapV2 (x × y = k)

The classic UniswapV2 model charges a 0.3% swap fee, which is accrued by the liquidity provider as LP token. <br>

## setSwapFee Function

\
The Woken [Certified Projects](/wokenexchange/woken-v1-our-solution/certified-projects.md) can customize their liquidity pair's swap fees using the setSwapFee function. \
They can move from 0.3% (default fees) to a **maximum of 1%**\
These fees are accumulated as LP tokens for the liquidity providers of the pair.

<details>

<summary><mark style="color:blue;">function setSwapFee</mark></summary>

{% code title="WokenPair.sol" overflow="wrap" fullWidth="false" %}

```solidity
function setSwapFee(uint32 _swapFee) external {
        require(_swapFee >= 3, "Woken: lower then 3");
        require(msg.sender == factory, 'Woken: FORBIDDEN');
        require(_swapFee <= 10, 'Woken: FORBIDDEN_FEE');
        swapFee = _swapFee;
    }
```

{% endcode %}

{% code title="WokenFactory.sol" overflow="wrap" %}

```solidity
function setSwapFee(address _pair, uint32 _swapFee) external isPairAdminDao(_pair) {
        WokenPair(_pair).setSwapFee(_swapFee);
        emit SwapFeeChange(_pair, _swapFee, msg.sender);
    }
```

{% endcode %}

</details>

### FeeOn (FeeTo) enabled

The fee for the Woken protocol (FeeOn) is 1/6th of the fee of a liquidity pair, accrued as LP token. They are mainly used for :

1. Proving liquidity to the WKN-USDC LP on the Arbitrum chain (genesis LP) by adding WKN from our reserve + USDC from fees earned.
2. Create new WKN-USDC pairs (with our WKN reserves) on other blockchains to open up the DAO and welcome new Certified Projects.
3. **WKN buyback** to keep a minimum amount of WKN to reward the DAO protocol votes (or burn, according to a protocol vote).
4. Pay the maintenance and the development of the protocol
5. Marketing&#x20;

{% hint style="info" %}
In [Woken V2](/wokenexchange/woken-v2-evolutions/woken-v2.md), we aim to open stable pairs (USDT-USDC) based on a UniswapV3 model, offering 0.01% swap fees.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://woken-exchange.gitbook.io/wokenexchange/protocol-and-tokenomic/fees.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
