> For the complete documentation index, see [llms.txt](https://allblue-docs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://allblue-docs.gitbook.io/docs/en/allblue-v2/core-contracts/allbluev2router.md).

# AllBlueV2Router

AllBlueV2Router is the primary user interface for providing liquidity, removing liquidity, and executing token Swaps in AllBlue V2.

### Add Liquidity

| Function          | Description                                          |
| ----------------- | ---------------------------------------------------- |
| `addLiquidity`    | Adds liquidity to an ERC-20 / ERC-20 Pair            |
| `addLiquidityETH` | Adds liquidity to a Pair containing the native token |

### Remove Liquidity

| Function             | Description                                               |
| -------------------- | --------------------------------------------------------- |
| `removeLiquidity`    | Removes liquidity from an ERC-20 / ERC-20 Pair            |
| `removeLiquidityETH` | Removes liquidity from a Pair containing the native token |

### Swap

| Function                   | Description                                                   |
| -------------------------- | ------------------------------------------------------------- |
| `swapExactTokensForTokens` | Swaps an exact amount of one ERC-20 token for another         |
| `swapExactETHForTokens`    | Swaps an exact amount of the native token for an ERC-20 token |
| `swapExactTokensForETH`    | Swaps an exact amount of an ERC-20 token for the native token |

The Router can also execute multi-hop Swaps by routing through multiple Pairs when required.
