> For the complete documentation index, see [llms.txt](https://docs.kumbaya.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kumbaya.xyz/developers/dex-integration/differences-from-uniswap.md).

# Differences from Uniswap V3

Kumbaya's DEX is a **fork of Uniswap V3** - not V2, not V4. If you're reading Uniswap docs, stick to the [V3 protocol section](https://developers.uniswap.org/docs/protocols/v3/overview).

## What's different

| Area                                  | Upstream Uniswap V3                              | Kumbaya                                                                                                                                                                                      |
| ------------------------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Protocol-fee contract range**       | `feeProtocol ∈ {0, 4..10}` - up to 25% of LP fee | `feeProtocol ∈ {0, 2..10}` - up to 50% of LP fee at the contract level                                                                                                                       |
| **Protocol-fee values currently set** | Per-deployment, capped at 25%                    | **0.01% / 0.05% tiers → 25%** (`feeProtocol = 4`); **0.30% / 1.00% tiers → \~16.67%** (`feeProtocol = 6`); **launchpad-originated pools → 0%**. These sit within Uniswap's standard 25% cap. |
| **Pool init code hash**               | Standard Uniswap hash                            | `0x851d77a4…628a3da7` ([details](/developers/dex-integration/pool-init-code-hash.md))                                                                                                        |
| **SDK fee tier enum**                 | 4 tiers: 100/500/3000/10000                      | 7 tiers: also includes 200/300/400 (see [v3-sdk](/developers/sdks/v3-sdk.md))                                                                                                                |
| **Deployed addresses**                | Mainnet/L2 Uniswap deployments                   | Kumbaya deployments on MegaETH ([list](/developers/networks-and-contracts/contract-addresses.md))                                                                                            |
| **Network**                           | Multiple EVM chains                              | MegaETH (4326 mainnet, 6343 testnet)                                                                                                                                                         |

The protocol-fee mechanism is unchanged: collected fees are `step.feeAmount / feeProtocol` per swap, so `feeProtocol = 4` means ¼ of LP fees go to the protocol. Calling `setFeeProtocol` is owner-gated, same as upstream. The fork keeps the *option* of setting `feeProtocol = 2` (50%) at the contract level, but production currently uses the values shown above - keeping Kumbaya in line with the industry-standard Uniswap range.

## What's the same

Everything else. Pool math, tick spacing per fee tier, fee tiers (0.01% / 0.05% / 0.3% / 1%), the `IUniswapV3Pool` interface, position NFTs, periphery routers, quoter behavior - all unchanged.
